From 8e3ed3534ec6ef43c2bb5ab42db49a8be9f9a819 Mon Sep 17 00:00:00 2001 From: Awilum Date: Thu, 20 Feb 2020 17:53:56 +0300 Subject: [PATCH] refactor(admin-plugin): cleanup settings method in ThemesController --- .../app/Controllers/ThemesController.php | 30 ++++--------------- 1 file changed, 5 insertions(+), 25 deletions(-) diff --git a/site/plugins/admin/app/Controllers/ThemesController.php b/site/plugins/admin/app/Controllers/ThemesController.php index ad55bc30..0e2a0202 100644 --- a/site/plugins/admin/app/Controllers/ThemesController.php +++ b/site/plugins/admin/app/Controllers/ThemesController.php @@ -202,30 +202,11 @@ class ThemesController extends Controller // Get Theme ID $id = $request->getQueryParams()['id']; - // Init theme configs - $theme = []; - $theme_settings = []; - $default_theme_settings = []; - $site_theme_settings = []; + // Set theme config + $custom_theme_settings_file = PATH['config']['site'] . '/themes/' . $id . '/settings.yaml'; - $default_theme_settings_file = PATH['themes'] . '/' . $id . '/settings.yaml'; - $site_theme_settings_file = PATH['config']['site'] . '/themes/' . $id . '/settings.yaml'; - - // Get default theme settings content - $default_theme_settings_file_content = Filesystem::read($default_theme_settings_file); - $default_theme_settings = $this->parser->decode($default_theme_settings_file_content, 'yaml'); - - // Get site plugin settings content - $site_theme_settings_file_content = Filesystem::read($site_theme_settings_file); - if (trim($site_theme_settings_file_content) === '') { - $site_theme_settings = []; - } else { - $site_theme_settings = $this->parser->decode($site_theme_settings_file_content, 'yaml'); - } - - $theme[$id]['settings'] = array_merge( - array_replace_recursive($default_theme_settings, $site_theme_settings) - ); + // Get theme settings content + $custom_theme_settings_file_content = Filesystem::read($custom_theme_settings_file); return $this->view->render( $response, @@ -233,12 +214,11 @@ class ThemesController extends Controller [ 'menu_item' => 'themes', 'id' => $id, - 'theme_settings' => $this->parser->encode($theme[$id]['settings'], 'yaml'), + 'theme_settings' => $custom_theme_settings_file_content, 'links' => [ 'themes' => [ 'link' => $this->router->pathFor('admin.themes.index'), 'title' => __('admin_themes'), - ], 'themes_settings' => [ 'link' => $this->router->pathFor('admin.themes.settings') . '?id=' . $request->getQueryParams()['id'],