summaryrefslogtreecommitdiffstats
path: root/vendor/ipl/web/src/Widget/TimeUntil.php
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/ipl/web/src/Widget/TimeUntil.php')
-rw-r--r--vendor/ipl/web/src/Widget/TimeUntil.php34
1 files changed, 34 insertions, 0 deletions
diff --git a/vendor/ipl/web/src/Widget/TimeUntil.php b/vendor/ipl/web/src/Widget/TimeUntil.php
new file mode 100644
index 0000000..f16731a
--- /dev/null
+++ b/vendor/ipl/web/src/Widget/TimeUntil.php
@@ -0,0 +1,34 @@
+<?php
+
+namespace ipl\Web\Widget;
+
+use Icinga\Date\DateFormatter;
+use ipl\Html\BaseHtmlElement;
+
+class TimeUntil extends BaseHtmlElement
+{
+ /** @var int */
+ protected $until;
+
+ protected $tag = 'time';
+
+ protected $defaultAttributes = ['class' => 'time-until'];
+
+ public function __construct($until)
+ {
+ $this->until = (int) $until;
+ }
+
+ protected function assemble()
+ {
+ $dateTime = DateFormatter::formatDateTime($this->until);
+
+ $this->addAttributes([
+ 'datetime' => $dateTime,
+ 'title' => $dateTime,
+ 'data-ago-label' => DateFormatter::timeAgo(time())
+ ]);
+
+ $this->add(DateFormatter::timeUntil($this->until));
+ }
+}