Warning, file /webapps/ocs-webserver/application/modules/default/views/helpers/HumanTiming.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_HumanTiming extends Zend_View_Helper_Abstract
0024 {
0025 
0026     public function humanTiming($strTime)
0027     {
0028         if (empty($strTime)) {
0029             return array('age' => null, 'unit' => null);
0030         }
0031 
0032         $date = DateTime::createFromFormat('Y-m-d H:i:s', $strTime);
0033         $now = new DateTime();
0034         $interval = $date->diff($now);
0035 
0036         $tokens = array(
0037             'y' => 'year',
0038             'm' => 'month',
0039             'd' => 'day',
0040             'h' => 'hour',
0041             'i' => 'minute',
0042             's' => 'second'
0043         );
0044 
0045         foreach ($tokens as $unit => $text) {
0046             if ($interval->$unit == 0) continue;
0047             return array('age' => $interval->$unit, 'unit' => $text . (($interval->$unit > 1) ? 's' : ''));
0048         }
0049     }
0050 
0051 }