X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=include%2Fdatetime.php;h=a17c405dc365ea391d3ada2fd0c3f16d82f3e855;hb=84b733e1bf25bdd1074483f19113add7800a6c38;hp=bbb60ba72cd528ee2a8b3f5f5880849cb0b23b04;hpb=5e98f27fcd99f0431a5f62ca7a825a5ad6a2f8a3;p=friendica.git diff --git a/include/datetime.php b/include/datetime.php index bbb60ba72c..a17c405dc3 100644 --- a/include/datetime.php +++ b/include/datetime.php @@ -162,7 +162,7 @@ function datetime_convert($from = 'UTC', $to = 'UTC', $s = 'now', $fmt = "Y-m-d * @brief Wrapper for date selector, tailored for use in birthday fields. * * @param string $dob Date of Birth - * @return string + * @return string Formatted html */ function dob($dob) { list($year,$month,$day) = sscanf($dob,'%4d-%2d-%2d'); @@ -175,7 +175,18 @@ function dob($dob) { else $value = (($year) ? datetime_convert('UTC','UTC',$dob,'Y-m-d') : datetime_convert('UTC','UTC',$dob,'m-d')); - $o = ''; + $age = ((intval($value)) ? age($value, $a->user["timezone"], $a->user["timezone"]) : ""); + + $o = replace_macros(get_markup_template("field_input.tpl"), array( + '$field' => array( + 'dob', + t('Birthday:'), + $value, + (((intval($age)) > 0 ) ? t('Age: ') . $age : ""), + '', + 'placeholder="' . t('YYYY-MM-DD or MM-DD') . '"' + ) + )); // if ($dob && $dob != '0000-00-00') // $o = datesel($f,mktime(0,0,0,0,0,1900),mktime(),mktime(0,0,0,$month,$day,$year),'dob'); @@ -273,7 +284,7 @@ function datetimesel($format, $min, $max, $default, $label, $id = 'datetimepicke $minjs = $min ? ",minDate: new Date({$min->getTimestamp()}*1000), yearStart: " . $min->format('Y') : ''; $maxjs = $max ? ",maxDate: new Date({$max->getTimestamp()}*1000), yearEnd: " . $max->format('Y') : ''; - $input_text = $default ? 'value="' . date($dateformat, $default->getTimestamp()) . '"' : ''; + $input_text = $default ? date($dateformat, $default->getTimestamp()) : ''; $defaultdatejs = $default ? ",defaultDate: new Date({$default->getTimestamp()}*1000)" : ''; $pickers = ''; @@ -283,7 +294,7 @@ function datetimesel($format, $min, $max, $default, $label, $id = 'datetimepicke $extra_js = ''; $pickers .= ",dayOfWeekStart: ".$firstDay.",lang:'".$lang."'"; if($minfrom != '') - $extra_js .= "\$('id_#$minfrom').data('xdsoft_datetimepicker').setOptions({onChangeDateTime: function (currentDateTime) { \$('#id_$id').data('xdsoft_datetimepicker').setOptions({minDate: currentDateTime})}})"; + $extra_js .= "\$('#id_$minfrom').data('xdsoft_datetimepicker').setOptions({onChangeDateTime: function (currentDateTime) { \$('#id_$id').data('xdsoft_datetimepicker').setOptions({minDate: currentDateTime})}})"; if($maxfrom != '') $extra_js .= "\$('#id_$maxfrom').data('xdsoft_datetimepicker').setOptions({onChangeDateTime: function (currentDateTime) { \$('#id_$id').data('xdsoft_datetimepicker').setOptions({maxDate: currentDateTime})}})"; @@ -296,10 +307,9 @@ function datetimesel($format, $min, $max, $default, $label, $id = 'datetimepicke $tpl = get_markup_template('field_input.tpl'); $o .= replace_macros($tpl,array( - '$field' => array($id, $label, $input_text, '', (($required) ? '*' : ''), 'placeholder="' . $readable_format . '" '), + '$field' => array($id, $label, $input_text, '', (($required) ? '*' : ''), 'placeholder="' . $readable_format . '"'), )); -// $o .= "
"; -// $o .= '
'; + $o .= ""; @@ -315,15 +325,15 @@ function datetimesel($format, $min, $max, $default, $label, $id = 'datetimepicke * Results relative to current timezone. * Limited to range of timestamps. * - * @param string $posted_date + * @param string $posted_date MySQL-formatted date string (YYYY-MM-DD HH:MM:SS) * @param string $format (optional) Parsed with sprintf() * %1$d %2$s ago, e.g. 22 hours ago, 1 minute ago - * + * * @return string with relative date */ -function relative_date($posted_date,$format = null) { +function relative_date($posted_date, $format = null) { - $localtime = datetime_convert('UTC',date_default_timezone_get(),$posted_date); + $localtime = $posted_date . ' UTC'; $abs = strtotime($localtime); @@ -337,13 +347,6 @@ function relative_date($posted_date,$format = null) { return t('less than a second ago'); } - /* - $time_append = ''; - if ($etime >= 86400) { - $time_append = ' ('.$localtime.')'; - } - */ - $a = array( 12 * 30 * 24 * 60 * 60 => array( t('year'), t('years')), 30 * 24 * 60 * 60 => array( t('month'), t('months')), 7 * 24 * 60 * 60 => array( t('week'), t('weeks')), @@ -358,10 +361,11 @@ function relative_date($posted_date,$format = null) { if ($d >= 1) { $r = round($d); // translators - e.g. 22 hours ago, 1 minute ago - if(! $format) + if (!$format) { $format = t('%1$d %2$s ago'); + } - return sprintf( $format,$r, (($r == 1) ? $str[0] : $str[1])); + return sprintf($format, $r, (($r == 1) ? $str[0] : $str[1])); } } } @@ -548,8 +552,8 @@ function update_contact_birthdays() { // 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) { + if (dbm::is_result($r)) { + foreach ($r as $rr) { logger('update_contact_birthday: ' . $rr['bd']);