From 6aa0899d6788b2360250d63fc2ad4d7a6e0c339f Mon Sep 17 00:00:00 2001 From: Hypolite Petovan Date: Sat, 19 Jan 2019 21:53:17 -0500 Subject: [PATCH] Move theme selection to init() in mod/admin --- mod/admin.php | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/mod/admin.php b/mod/admin.php index 1cbe24e71d..24b8b29a1b 100644 --- a/mod/admin.php +++ b/mod/admin.php @@ -33,6 +33,21 @@ 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() 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 +104,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 +2314,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); }