]> git.mxchange.org Git - friendica.git/commitdiff
Create AppHelper class
authorArt4 <art4@wlabs.de>
Wed, 6 Nov 2024 07:32:07 +0000 (07:32 +0000)
committerArt4 <art4@wlabs.de>
Wed, 6 Nov 2024 07:32:07 +0000 (07:32 +0000)
src/AppHelper.php [new file with mode: 0644]
src/DI.php

diff --git a/src/AppHelper.php b/src/AppHelper.php
new file mode 100644 (file)
index 0000000..e89f94f
--- /dev/null
@@ -0,0 +1,49 @@
+<?php
+
+// Copyright (C) 2010-2024, the Friendica project
+// SPDX-FileCopyrightText: 2010-2024 the Friendica project
+//
+// SPDX-License-Identifier: AGPL-3.0-or-later
+
+namespace Friendica;
+
+use DateTimeZone;
+use Friendica\Util\DateTimeFormat;
+
+/**
+ * Helper for our main application structure for the life of this page.
+ *
+ * Primarily deals with the URL that got us here
+ * and tries to make some sense of it, and
+ * stores our page contents and config storage
+ * and anything else that might need to be passed around
+ * before we spit the page out.
+ *
+ */
+final class AppHelper
+{
+       private $timezone = '';
+
+       /**
+        * Set the timezone
+        *
+        * @param string $timezone A valid time zone identifier, see https://www.php.net/manual/en/timezones.php
+        * @return void
+        */
+       public function setTimeZone(string $timezone)
+       {
+               $this->timezone = (new DateTimeZone($timezone))->getName();
+
+               DateTimeFormat::setLocalTimeZone($this->timezone);
+       }
+
+       /**
+        * Get the timezone
+        *
+        * @return int
+        */
+       public function getTimeZone(): string
+       {
+               return $this->timezone;
+       }
+}
index 46010ce62bee4623a9fd2c9aaf671dedf6b86006..2c36c9c19001aa4c15de562e39e9b89e6edf469a 100644 (file)
@@ -78,6 +78,11 @@ abstract class DI
                return self::$dice->create(App::class);
        }
 
+       public static function apphelper(): AppHelper
+       {
+               return self::$dice->create(AppHelper::class);
+       }
+
        /**
         * @return Database\Database
         */