コード例 #1
0
 /**
  * Method to get the field input markup.
  *
  * @return	string	The field input markup.
  * @since	1.6
  */
 protected function getInput()
 {
     // Initialize variables.
     $html = array();
     $time_created = $this->value;
     if (!strtotime($time_created)) {
         $time_created = CitybrandingFrontendHelper::convert2UTC(date("Y-m-d H:i:s"));
     }
     $hidden = (bool) $this->element['hidden'];
     if ($hidden == null || !$hidden) {
         $jdate = new JDate(CitybrandingFrontendHelper::convertFromUTC($time_created));
         $pretty_date = $jdate->format(JText::_('DATE_FORMAT_LC2'));
         $html[] = "<span>" . $pretty_date . "</span>";
     }
     $html[] = '<input type="hidden" name="' . $this->name . '" value="' . $time_created . '" />';
     return implode("\n", $html);
 }
コード例 #2
0
 public static function getRelativeTime($time)
 {
     if (strtotime($time) <= 0) {
         return '';
     }
     $time = CitybrandingFrontendHelper::convertFromUTC($time);
     // Load the parameters.
     $app = JFactory::getApplication();
     /*		$params	= $app->getParams();
     		$showrelativedates = $params->get('showrelativedates');		
     		$dateformat = $params->get('dateformat');		
     		
     		if(!$showrelativedates){
     			//$item->reported_rel = date("d/m/Y",strtotime($item->reported));
     			return date($dateformat,strtotime($time));
     		}
     */
     $SECOND = 1;
     $MINUTE = 60 * $SECOND;
     $HOUR = 60 * $MINUTE;
     $DAY = 24 * $HOUR;
     $MONTH = 30 * $DAY;
     $delta = time() - strtotime($time);
     if ($delta < 1 * $MINUTE) {
         return $delta == 1 ? JText::_('ONE_SECOND_AGO') : sprintf(JText::_('SECONDS_AGO'), $delta);
     }
     if ($delta < 2 * $MINUTE) {
         return JText::_('A_MINUTE_AGO');
     }
     if ($delta < 45 * $MINUTE) {
         return sprintf(JText::_('MINUTES_AGO'), floor($delta / $MINUTE));
     }
     if ($delta < 90 * $MINUTE) {
         return JText::_('AN_HOUR_AGO');
     }
     if ($delta < 24 * $HOUR) {
         return sprintf(JText::_('HOURS_AGO'), floor($delta / $HOUR));
     }
     if ($delta < 48 * $HOUR) {
         return JText::_('YESTERDAY');
     }
     if ($delta < 30 * $DAY) {
         return sprintf(JText::_('DAYS_AGO'), floor($delta / $DAY));
     }
     if ($delta < 12 * $MONTH) {
         $months = floor($delta / $DAY / 30);
         return $months <= 1 ? JText::_('ONE_MONTH_AGO') : sprintf(JText::_('MONTHS_AGO'), $months);
     } else {
         $years = floor($delta / $DAY / 365);
         if ($years < 100) {
             //TODO: needed for versions older than PHP5.3
             return $years <= 1 ? JText::_('ONE_YEAR_AGO') : sprintf(JText::_('YEARS_AGO'), $years);
         } else {
             return '';
         }
     }
 }