]> git.mxchange.org Git - friendica.git/blobdiff - mod/admin.php
Catch HTTPExceptions in App::runFrontend()
[friendica.git] / mod / admin.php
index 1cbe24e71d989bad74988fcfb3059ba939c8c0da..9b8a054c423e4cb391d76aef7a08e7c35173f2bc 100644 (file)
@@ -33,6 +33,23 @@ use Friendica\Util\Network;
 use Friendica\Util\Strings;
 use Friendica\Util\Temporal;
 
+/**
+ * Sets the current theme for theme settings pages.
+ *
+ * This needs to be done before the post() or content() methods are called.
+ *
+ * @param App $a
+ */
+function admin_init(App $a)
+{
+       if ($a->argc > 2 && $a->argv[1] == 'themes') {
+               $theme = $a->argv[2];
+               if (is_file("view/theme/$theme/config.php")) {
+                       $a->setCurrentTheme($theme);
+               }
+       }
+}
+
 /**
  * @brief Process send data from the admin panels subpages
  *
@@ -89,15 +106,8 @@ function admin_post(App $a)
 
                                $theme = $a->argv[2];
                                if (is_file("view/theme/$theme/config.php")) {
-                                       $a->setCurrentTheme($theme);
-
-                                       require_once "view/theme/$theme/theme.php";
                                        require_once "view/theme/$theme/config.php";
 
-                                       $init = $theme . '_init';
-                                       if (function_exists($init)) {
-                                               $init($a);
-                                       }
                                        if (function_exists('theme_admin_post')) {
                                                theme_admin_post($a);
                                        }
@@ -2306,16 +2316,8 @@ function admin_page_themes(App $a)
 
                $admin_form = '';
                if (is_file("view/theme/$theme/config.php")) {
-                       $a->setCurrentTheme($theme);
-
-                       require_once "view/theme/$theme/theme.php";
                        require_once "view/theme/$theme/config.php";
 
-                       $init = $theme . "_init";
-                       if (function_exists($init)) {
-                               $init($a);
-                       }
-
                        if (function_exists('theme_admin')) {
                                $admin_form = theme_admin($a);
                        }