PluginProbe
User Access Manager / 2.1.11
User Access Manager v2.1.11
2.3.20 2.3.19 2.3.18 2.3.17 2.3.16 2.3.15 2.3.14 2.3.13 trunk 0.6 0.6.1 0.6.2 0.7 0.7 Beta 0.7.0.1 0.8 0.8.0.1 0.8.0.2 0.9 0.9.1 0.9.1.1 0.9.1.2 0.9.1.3 0.9.1.4 1.0 All 136 releases
← All changes | src/Util/DateUtil.php +79 -14 2.3.20 → 2.1.11 View file →
@@ -1,38 +1,103 @@
1 1 <?php
2 -
3 -declare(strict_types=1);
4 -
2 +/**
3 + * DateUtil.php
4 + *
5 + * The DateUtil class file.
6 + *
7 + * PHP versions 5
8 + *
9 + * @author Alexander Schneider <[email protected]>
10 + * @copyright 2008-2017 Alexander Schneider
11 + * @license http://www.gnu.org/licenses/gpl-2.0.html GNU General Public License, version 2
12 + * @version SVN: $id$
13 + * @link http://wordpress.org/extend/plugins/user-access-manager/
14 + */
5 15 namespace UserAccessManager\Util;
6 16
7 17 use UserAccessManager\Wrapper\Wordpress;
8 18
19 +/**
20 + * Class DateUtil
21 + *
22 + * @package UserAccessManager\Util
23 + */
9 24 class DateUtil
10 25 {
11 - public function __construct(private Wordpress $wordpress)
26 + /**
27 + * @var Wordpress
28 + */
29 + private $wordpress;
30 +
31 + /**
32 + * DateUtil constructor.
33 + *
34 + * @param Wordpress $wordpress
35 + */
36 + public function __construct(Wordpress $wordpress)
12 37 {
38 + $this->wordpress = $wordpress;
13 39 }
14 40
15 - private function formatDateWith(?string $date, string $format): ?string
41 + /**
42 + * Formats the date to the wordpress default format.
43 + *
44 + * @param string $date
45 + *
46 + * @return string
47 + */
48 + public function formatDate($date)
16 49 {
17 - return ($date !== null) ? date($format, (int) strtotime($date)) : null;
50 + return $this->wordpress->formatDate($date);
18 51 }
19 52
20 - public function formatDate(string $date): string
53 + /**
54 + * Formats the date for the datetime input field.
55 + *
56 + * @param string $date
57 + *
58 + * @return string
59 + */
60 + public function formatDateForDatetimeInput($date)
21 61 {
22 - return $this->wordpress->formatDate($date);
62 + return ($date !== null) ? strftime('%Y-%m-%dT%H:%M:%S', strtotime($date)) : $date;
23 63 }
24 64
25 - public function formatDateForDatetimeInput(?string $date): ?string
65 + /**
66 + * Formats the date for the datetime input field.
67 + *
68 + * @param string $date
69 + *
70 + * @return string
71 + */
72 + public function formatDateForDateInput($date)
26 73 {
27 - return $this->formatDateWith($date, 'Y-m-d\TH:i:s');
74 + return ($date !== null) ? strftime('%Y-%m-%d', strtotime($date)) : $date;
28 75 }
29 76
30 - public function getDateFromTime(?int $time): ?string
77 + /**
78 + * Formats the date for the datetime input field.
79 + *
80 + * @param string $date
81 + *
82 + * @return string
83 + */
84 + public function formatDateForTimeInput($date)
31 85 {
32 - if ($time === null || $time === 0) {
33 - return null;
86 + return ($date !== null) ? strftime('%H:%M:%S', strtotime($date)) : $date;
87 + }
88 +
89 + /**
90 + * @param int $time
91 + *
92 + * @return null|string
93 + */
94 + public function getDateFromTime($time)
95 + {
96 + if ($time !== null && (int)$time !== 0) {
97 + $currentTime = $this->wordpress->currentTime('timestamp');
98 + return gmdate('Y-m-d H:i:s', $time + $currentTime);
34 99 }
35 100
36 - return gmdate('Y-m-d H:i:s', $time + $this->wordpress->currentTime('timestamp'));
101 + return null;
37 102 }
38 103 }