}}
// emit a timezone selector grouped (primarily) by continent
-
if(! function_exists('select_timezone')) {
function select_timezone($current = 'America/Los_Angeles') {
return $o;
}}
+// return a select using 'field_select_raw' template, with timezones
+// groupped (primarily) by continent
+// arguments follow convetion as other field_* template array:
+// 'name', 'label', $value, 'help'
+if (!function_exists('field_timezone')){
+function field_timezone($name='timezone', $label='', $current = 'America/Los_Angeles', $help){
+ $options = select_timezone($current);
+ $options = str_replace('<select id="timezone_select" name="timezone">','', $options);
+ $options = str_replace('</select>','', $options);
+
+ $tpl = get_markup_template('field_select_raw.tpl');
+ return replace_macros($tpl, array(
+ '$field' => array($name, $label, $current, $help, $options),
+ ));
+
+}}
+
// General purpose date parse/convert function.
// $from = source timezone
// $to = dest timezone
);
foreach ($a as $secs => $str) {
- $d = $etime / $secs;
- if ($d >= 1) {
- $r = round($d);
- return $r . ' ' . (($r == 1) ? $str[0] : $str[1]) . t(' ago');
+ $d = $etime / $secs;
+ if ($d >= 1) {
+ $r = round($d);
+ // translators - e.g. 22 hours ago, 1 minute ago
+ return sprintf( t('%1$d %2$s ago'),$r, (($r == 1) ? $str[0] : $str[1]));
}
}
}}
return $o;
}}
+
+
+function update_contact_birthdays() {
+
+ // This only handles foreign or alien networks where a birthday has been provided.
+ // In-network birthdays are handled within local_delivery
+
+ $r = q("SELECT * FROM contact WHERE `bd` != '' AND `bd` != '0000-00-00' AND SUBSTRING(`bd`,1,4) != `bdyear` ");
+ if(count($r)) {
+ foreach($r as $rr) {
+
+ logger('update_contact_birthday: ' . $rr['bd']);
+
+ $nextbd = datetime_convert('UTC','UTC','now','Y') . substr($rr['bd'],4);
+
+ /**
+ *
+ * Add new birthday event for this person
+ *
+ * $bdtext is just a readable placeholder in case the event is shared
+ * with others. We will replace it during presentation to our $importer
+ * to contain a sparkle link and perhaps a photo.
+ *
+ */
+
+ $bdtext = t('Birthday:') . ' [url=' . $rr['url'] . ']' . $rr['name'] . '[/url]' ;
+
+
+ $r = q("INSERT INTO `event` (`uid`,`cid`,`created`,`edited`,`start`,`finish`,`desc`,`type`,`adjust`)
+ VALUES ( %d, %d, '%s', '%s', '%s', '%s', '%s', '%s', '%d' ) ",
+ intval($rr['uid']),
+ intval($rr['id']),
+ dbesc(datetime_convert()),
+ dbesc(datetime_convert()),
+ dbesc(datetime_convert('UTC','UTC', $nextbd)),
+ dbesc(datetime_convert('UTC','UTC', $nextbd . ' + 1 day ')),
+ dbesc($bdtext),
+ dbesc('birthday'),
+ intval(0)
+ );
+
+
+ // update bdyear
+
+ q("UPDATE `contact` SET `bdyear` = '%s', `bd` = '%s' WHERE `uid` = %d AND `id` = %d LIMIT 1",
+ dbesc(substr($nextbd,0,4)),
+ dbesc($nextbd),
+ intval($rr['uid']),
+ intval($rr['id'])
+ );
+
+ }
+ }
+}