Warning, file /webapps/ocs-webserver/application/modules/default/views/helpers/PrintDateSince.php was not indexed or was modified since last indexation (in which case cross-reference links may be missing, inaccurate or erroneous).

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_PrintDateSince extends Zend_View_Helper_Abstract
0024 {
0025 
0026     public function printDateSince($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        
0040         $tokens = array(
0041             'y' => 'year',
0042             'm' => 'month',
0043             'd' => 'day',
0044             'h' => 'hour',
0045             'i' => 'minute',
0046             's' => 'second'
0047         );
0048         foreach ($tokens as $unit => $text) {
0049             if ($interval->$unit == 0) continue;            
0050            return $interval->$unit . ' ' . $text .(($interval->$unit > 1) ? 's' : ''). ' ago';           
0051         }
0052         return null;       
0053     }
0054 
0055 }