]> git.mxchange.org Git - friendica.git/blobdiff - src/Module/Admin/Themes/Index.php
Merge pull request #7828 from nupplaphil/task/move_enotify
[friendica.git] / src / Module / Admin / Themes / Index.php
index 2b89c4e2001a6d310a759a21f32a8c9c1b7dbd6b..8f7843e293eb2b7ed20851f2269b2b3a472d6336 100644 (file)
-<?php\r
-\r
-namespace Friendica\Module\Admin\Themes;\r
-\r
-use Friendica\Content\Text\Markdown;\r
-use Friendica\Core\Config;\r
-use Friendica\Core\L10n;\r
-use Friendica\Core\Renderer;\r
-use Friendica\Core\System;\r
-use Friendica\Core\Theme;\r
-use Friendica\Module\BaseAdminModule;\r
-use Friendica\Util\Strings;\r
-\r
-class Index extends BaseAdminModule\r
-{\r
-       public static function content()\r
-       {\r
-               parent::content();\r
-\r
-               $a = self::getApp();\r
-\r
-               $allowed_themes = Theme::getAllowedList();\r
-\r
-               // reload active themes\r
-               if (!empty($_GET['action'])) {\r
-                       parent::checkFormSecurityTokenRedirectOnError(System::baseUrl() . '/admin/themes', 'admin_themes', 't');\r
-\r
-                       switch ($_GET['action']) {\r
-                               case 'reload':\r
-                                       foreach ($allowed_themes as $theme) {\r
-                                               Theme::uninstall($theme['name']);\r
-                                               Theme::install($theme['name']);\r
-                                       }\r
-\r
-                                       info('Themes reloaded');\r
-                                       break;\r
-\r
-                               case 'toggle' :\r
-                                       $theme = defaults($_GET, 'addon', '');\r
-                                       if ($theme) {\r
-                                               $theme = Strings::sanitizeFilePathItem($theme);\r
-                                               if (!is_dir("view/theme/$theme")) {\r
-                                                       notice(L10n::t('Item not found.'));\r
-                                                       return '';\r
-                                               }\r
-\r
-                                               if (in_array($theme, Theme::getAllowedList())) {\r
-                                                       Theme::uninstall($theme);\r
-                                                       info(L10n::t('Theme %s disabled.', $theme));\r
-                                               } elseif (Theme::install($theme)) {\r
-                                                       info(L10n::t('Theme %s successfully enabled.', $theme));\r
-                                               } else {\r
-                                                       info(L10n::t('Theme %s failed to install.', $theme));\r
-                                               }\r
-                                       }\r
-\r
-                                       break;\r
-\r
-                       }\r
-\r
-                       $a->internalRedirect('admin/themes');\r
-               }\r
-\r
-               $themes = [];\r
-               $files = glob('view/theme/*');\r
-               if (is_array($files)) {\r
-                       foreach ($files as $file) {\r
-                               $theme = basename($file);\r
-\r
-                               // Is there a style file?\r
-                               $theme_files = glob('view/theme/' . $theme . '/style.*');\r
-\r
-                               // If not then quit\r
-                               if (count($theme_files) == 0) {\r
-                                       continue;\r
-                               }\r
-\r
-                               $is_experimental = intval(file_exists($file . '/experimental'));\r
-                               $is_supported = 1 - (intval(file_exists($file . '/unsupported')));\r
-                               $is_allowed = intval(in_array($theme, $allowed_themes));\r
-\r
-                               if ($is_allowed || $is_supported || Config::get('system', 'show_unsupported_themes')) {\r
-                                       $themes[] = ['name' => $theme, 'experimental' => $is_experimental, 'supported' => $is_supported, 'allowed' => $is_allowed];\r
-                               }\r
-                       }\r
-               }\r
-\r
-               $addons = [];\r
-               foreach ($themes as $theme) {\r
-                       $addons[] = [$theme['name'], (($theme['allowed']) ? 'on' : 'off'), Theme::getInfo($theme['name'])];\r
-               }\r
-\r
-               $t = Renderer::getMarkupTemplate('admin/addons/index.tpl');\r
-               return Renderer::replaceMacros($t, [\r
-                       '$title'               => L10n::t('Administration'),\r
-                       '$page'                => L10n::t('Themes'),\r
-                       '$submit'              => L10n::t('Save Settings'),\r
-                       '$reload'              => L10n::t('Reload active themes'),\r
-                       '$baseurl'             => System::baseUrl(true),\r
-                       '$function'            => 'themes',\r
-                       '$addons'              => $addons,\r
-                       '$pcount'              => count($themes),\r
-                       '$noplugshint'         => L10n::t('No themes found on the system. They should be placed in %1$s', '<code>/view/themes</code>'),\r
-                       '$experimental'        => L10n::t('[Experimental]'),\r
-                       '$unsupported'         => L10n::t('[Unsupported]'),\r
-                       '$form_security_token' => parent::getFormSecurityToken('admin_themes'),\r
-               ]);\r
-       }\r
-}
\ No newline at end of file
+<?php
+
+namespace Friendica\Module\Admin\Themes;
+
+use Friendica\Core\Config;
+use Friendica\Core\L10n;
+use Friendica\Core\Renderer;
+use Friendica\Core\Theme;
+use Friendica\Module\BaseAdminModule;
+use Friendica\Util\Strings;
+
+class Index extends BaseAdminModule
+{
+       public static function content(array $parameters = [])
+       {
+               parent::content($parameters);
+
+               $a = self::getApp();
+
+               $allowed_themes = Theme::getAllowedList();
+
+               // reload active themes
+               if (!empty($_GET['action'])) {
+                       parent::checkFormSecurityTokenRedirectOnError($a->getBaseURL() . '/admin/themes', 'admin_themes', 't');
+
+                       switch ($_GET['action']) {
+                               case 'reload':
+                                       $allowed_themes = array_unique($allowed_themes);
+                                       foreach ($allowed_themes as $theme) {
+                                               Theme::uninstall($theme);
+                                               Theme::install($theme);
+                                       }
+                                       Theme::setAllowedList($allowed_themes);
+
+                                       info('Themes reloaded');
+                                       break;
+
+                               case 'toggle' :
+                                       $theme = $_GET['addon'] ?? '';
+                                       if ($theme) {
+                                               $theme = Strings::sanitizeFilePathItem($theme);
+                                               if (!is_dir("view/theme/$theme")) {
+                                                       notice(L10n::t('Item not found.'));
+                                                       return '';
+                                               }
+
+                                               if (in_array($theme, Theme::getAllowedList())) {
+                                                       Theme::uninstall($theme);
+                                                       info(L10n::t('Theme %s disabled.', $theme));
+                                               } elseif (Theme::install($theme)) {
+                                                       info(L10n::t('Theme %s successfully enabled.', $theme));
+                                               } else {
+                                                       info(L10n::t('Theme %s failed to install.', $theme));
+                                               }
+                                       }
+
+                                       break;
+
+                       }
+
+                       $a->internalRedirect('admin/themes');
+               }
+
+               $themes = [];
+               $files = glob('view/theme/*');
+               if (is_array($files)) {
+                       foreach ($files as $file) {
+                               $theme = basename($file);
+
+                               // Is there a style file?
+                               $theme_files = glob('view/theme/' . $theme . '/style.*');
+
+                               // If not then quit
+                               if (count($theme_files) == 0) {
+                                       continue;
+                               }
+
+                               $is_experimental = intval(file_exists($file . '/experimental'));
+                               $is_supported = 1 - (intval(file_exists($file . '/unsupported')));
+                               $is_allowed = intval(in_array($theme, $allowed_themes));
+
+                               if ($is_allowed || $is_supported || Config::get('system', 'show_unsupported_themes')) {
+                                       $themes[] = ['name' => $theme, 'experimental' => $is_experimental, 'supported' => $is_supported, 'allowed' => $is_allowed];
+                               }
+                       }
+               }
+
+               $addons = [];
+               foreach ($themes as $theme) {
+                       $addons[] = [$theme['name'], (($theme['allowed']) ? 'on' : 'off'), Theme::getInfo($theme['name'])];
+               }
+
+               $t = Renderer::getMarkupTemplate('admin/addons/index.tpl');
+               return Renderer::replaceMacros($t, [
+                       '$title'               => L10n::t('Administration'),
+                       '$page'                => L10n::t('Themes'),
+                       '$submit'              => L10n::t('Save Settings'),
+                       '$reload'              => L10n::t('Reload active themes'),
+                       '$baseurl'             => $a->getBaseURL(true),
+                       '$function'            => 'themes',
+                       '$addons'              => $addons,
+                       '$pcount'              => count($themes),
+                       '$noplugshint'         => L10n::t('No themes found on the system. They should be placed in %1$s', '<code>/view/themes</code>'),
+                       '$experimental'        => L10n::t('[Experimental]'),
+                       '$unsupported'         => L10n::t('[Unsupported]'),
+                       '$form_security_token' => parent::getFormSecurityToken('admin_themes'),
+               ]);
+       }
+}