File indexing completed on 2025-05-04 05:29:15

0001 <?php
0002 /**
0003  *  ocs-webserver
0004  *
0005  *  Copyright 2016 by pling GmbH.
0006  *
0007  *    This file is part of ocs-webserver.
0008  *
0009  *    This program is free software: you can redistribute it and/or modify
0010  *    it under the terms of the GNU Affero General Public License as
0011  *    published by the Free Software Foundation, either version 3 of the
0012  *    License, or (at your option) any later version.
0013  *
0014  *    This program is distributed in the hope that it will be useful,
0015  *    but WITHOUT ANY WARRANTY; without even the implied warranty of
0016  *    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
0017  *    GNU Affero General Public License for more details.
0018  *
0019  *    You should have received a copy of the GNU Affero General Public License
0020  *    along with this program.  If not, see <http://www.gnu.org/licenses/>.
0021  **/
0022 
0023 class Default_View_Helper_PrintDate extends Zend_View_Helper_Abstract
0024 {
0025 
0026     public function printDate($strTime, $fromFormat='Y-m-d H:i:s')
0027     {
0028         
0029         if (empty($strTime)) {
0030             return null;
0031         }
0032         if(strtotime($strTime) == strtotime('0000-00-00 00:00:00')){
0033           return '';
0034         }
0035 
0036         $date = DateTime::createFromFormat($fromFormat, $strTime);
0037         $now = new DateTime();
0038         $interval = $date->diff($now);
0039         if($interval->days >2) return $date->format('M d Y');
0040 
0041         $tokens = array(
0042             'y' => 'year',
0043             'm' => 'month',
0044             'd' => 'day',
0045             'h' => 'hour',
0046             'i' => 'minute',
0047             's' => 'second'
0048         );
0049         foreach ($tokens as $unit => $text) {
0050             if ($interval->$unit == 0) continue;            
0051            return $interval->$unit . ' ' . $text .(($interval->$unit > 1) ? 's' : ''). ' ago';           
0052         }
0053         return null;       
0054     }
0055 
0056 }