From 633076d7c9275b33b722d9a7989e63839f8c38d2 Mon Sep 17 00:00:00 2001 From: vincent-peugnet Date: Sun, 22 Mar 2020 16:55:06 +0100 Subject: media date display --- app/class/Item.php | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) (limited to 'app/class/Item.php') diff --git a/app/class/Item.php b/app/class/Item.php index 526e630..8bd62d1 100644 --- a/app/class/Item.php +++ b/app/class/Item.php @@ -2,6 +2,10 @@ namespace Wcms; +use DateTime; +use DateTimeImmutable; +use DateTimeZone; + abstract class Item { @@ -42,6 +46,37 @@ abstract class Item $array[$var] = $this->$var; } return $array; + } + + + /** + * Tool for accessing different view of the same DateTimeImmutable var + * + * @param string $property DateTimeImmutable var to access + * @param string $option + * + * @return mixed string or false if propriety does not exist + */ + protected function datetransform(string $property, string $option = 'date') + { + if(property_exists($this, $property)) { + if ($option == 'string') { + return $this->$property->format(DateTime::ISO8601); + } elseif ($option == 'date' || $option == 'sort') { + return $this->$property; + } elseif ($option == 'hrdi') { + $now = new DateTimeImmutable(null, timezone_open("Europe/Paris")); + return hrdi($this->$property->diff($now)); + } elseif ($option == 'pdate') { + return $this->$property->format('Y-m-d'); + } elseif ($option == 'ptime') { + return $this->$property->format('H:i'); + } elseif ($option = 'dmy') { + return $this->$property->format('d/m/Y'); + } + } else { + return false; + } } } -- cgit v1.2.3