]> git.mxchange.org Git - friendica.git/blobdiff - src/Core/Theme.php
Remove "hidewall" check from ACL
[friendica.git] / src / Core / Theme.php
index ff3265c90aea3afe1e13d724cbaa5b779eabf642..c17c67c4d935b8a52bafd7b19c259de2e7b2aca0 100644 (file)
@@ -257,4 +257,78 @@ class Theme
 
                return 'view/theme/' . $theme . '/style.pcss' . (!empty($query_params) ? '?' . http_build_query($query_params) : '');
        }
+
+       /**
+        * Returns the path of the provided theme
+        *
+        * @param $theme
+        * @return string|null
+        */
+       public static function getConfigFile($theme)
+       {
+               $theme = Strings::sanitizeFilePathItem($theme);
+
+               $a = DI::app();
+               $base_theme = $a->theme_info['extends'] ?? '';
+
+               if (file_exists("view/theme/$theme/config.php")) {
+                       return "view/theme/$theme/config.php";
+               }
+               if ($base_theme && file_exists("view/theme/$base_theme/config.php")) {
+                       return "view/theme/$base_theme/config.php";
+               }
+               return null;
+       }
+       
+       /**
+        * Returns the background color of the provided theme if available.
+        *
+        * @param string   $theme
+        * @param int|null $uid   Current logged-in user id
+        * @return string|null
+        */
+       public static function getBackgroundColor(string $theme, $uid = null)
+       {
+               $theme = Strings::sanitizeFilePathItem($theme);
+
+               $return = null;
+
+               // silently fail if theme was removed or if $theme is funky
+               if (file_exists("view/theme/$theme/theme.php")) {
+                       include_once "view/theme/$theme/theme.php";
+
+                       $func = "{$theme}_get_background_color";
+                       if (function_exists($func)) {
+                               $return = $func($uid);
+                       }
+               }
+
+               return $return;
+       }
+
+       /**
+        * Returns the theme color of the provided theme if available.
+        *
+        * @param string   $theme
+        * @param int|null $uid   Current logged-in user id
+        * @return string|null
+        */
+       public static function getThemeColor(string $theme, int $uid = null)
+       {
+               $theme = Strings::sanitizeFilePathItem($theme);
+
+               $return = null;
+
+               // silently fail if theme was removed or if $theme is funky
+               if (file_exists("view/theme/$theme/theme.php")) {
+                       include_once "view/theme/$theme/theme.php";
+
+                       $func = "{$theme}_get_theme_color";
+                       if (function_exists($func)) {
+                               $return = $func($uid);
+                       }
+               }
+
+               return $return;
+       }
 }