DateTimeViewHelper.php 2.3 KB
Newer Older
1
<?php
2
3
namespace T3o\TerFe2\ViewHelpers;

4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
/*******************************************************************
 *  Copyright notice
 *
 *  (c) 2011 Kai Vogel <kai.vogel@speedprogs.de>, Speedprogs.de
 *
 *  All rights reserved
 *
 *  This script is part of the TYPO3 project. The TYPO3 project is
 *  free software; you can redistribute it and/or modify
 *  it under the terms of the GNU General Public License as
 *  published by the Free Software Foundation; either version 2 of
 *  the License, or (at your option) any later version.
 *
 *  The GNU General Public License can be found at
 *  http://www.gnu.org/copyleft/gpl.html.
 *
 *  This script is distributed in the hope that it will be useful,
 *  but WITHOUT ANY WARRANTY; without even the implied warranty of
 *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 *  GNU General Public License for more details.
 *
 *  This copyright notice MUST APPEAR in all copies of the script!
 ******************************************************************/
27

28
29
30
/**
 * DateTime view helper
 */
31
class DateTimeViewHelper extends \TYPO3\CMS\Fluid\Core\ViewHelper\AbstractViewHelper
32
{
33

34
35
36
37
    /**
     * @var string
     */
    protected $defaultFormat = '';
38
39


40
41
42
43
44
45
46
47
48
49
50
    /**
     * Initialize configuration, will be invoked just before the render method
     *
     * @return void
     */
    public function initialize()
    {
        $ddmmyy = trim($GLOBALS['TYPO3_CONF_VARS']['SYS']['ddmmyy']);
        $hhmm = trim($GLOBALS['TYPO3_CONF_VARS']['SYS']['hhmm']);
        $this->defaultFormat = trim($ddmmyy . ' ' . $hhmm);
    }
51
52


53
54
55
56
57
58
59
60
61
62
63
64
    /**
     * Renders a formated date / time
     *
     * @param mixed $dateTime Time to format
     * @param string $format Format of the resulting time
     * @return string Formated time
     */
    public function render($dateTime = NULL, $format = '')
    {
        if (empty($format)) {
            $format = $this->defaultFormat;
        }
65

66
67
68
        if ($dateTime === NULL) {
            $dateTime = $this->renderChildren();
        }
69

70
        if (empty($dateTime)) {
71
            $dateTime = new \DateTime;
72
        }
73

74
75
76
        if (is_int($dateTime) || is_string($dateTime)) {
            return date($format, (int)$dateTime);
        }
77

78
        if ($dateTime instanceof \DateTime) {
79
80
            return $dateTime->format($format);
        }
81

82
83
84
85
        return '';
    }

}