From 9c009b1316be656d2ed45a9cdb8eccd2b22ada36 Mon Sep 17 00:00:00 2001 From: Awilum Date: Sun, 17 Feb 2019 23:29:44 +0300 Subject: [PATCH] Admin Panel: Fieldsets Manager - cleanup and refactoring --- site/plugins/admin/classes/EntriesManager.php | 38 ++++++++++++++++++- 1 file changed, 36 insertions(+), 2 deletions(-) diff --git a/site/plugins/admin/classes/EntriesManager.php b/site/plugins/admin/classes/EntriesManager.php index 566b9420..8b16f203 100644 --- a/site/plugins/admin/classes/EntriesManager.php +++ b/site/plugins/admin/classes/EntriesManager.php @@ -511,9 +511,26 @@ class EntriesManager $entry = Entries::fetch(Http::get('entry')); + $fieldsets = []; + + // Get fieldsets files + $_fieldsets = Filesystem::listContents(PATH['themes'] . '/' . Registry::get('settings.theme') . '/fieldsets/'); + + // If there is any template file then go... + if (count($_fieldsets) > 0) { + foreach ($_fieldsets as $fieldset) { + if ($fieldset['type'] == 'file' && $fieldset['extension'] == 'yaml') { + $fieldset_content = YamlParser::decode(Filesystem::read($fieldset['path'])); + if (isset($fieldset_content['sections']) && isset($fieldset_content['sections']['main']) && isset($fieldset_content['sections']['main']['fields'])) { + $fieldsets[$fieldset['basename']] = $fieldset_content['title']; + } + } + } + } + Themes::view('admin/views/templates/content/entries/type') ->assign('fieldset', $entry['fieldset']) - ->assign('fieldsets', Themes::getFieldsets()) + ->assign('fieldsets', $fieldsets) ->display(); } @@ -611,8 +628,25 @@ class EntriesManager } } + $fieldsets = []; + + // Get fieldsets files + $_fieldsets = Filesystem::listContents(PATH['themes'] . '/' . Registry::get('settings.theme') . '/fieldsets/'); + + // If there is any template file then go... + if (count($_fieldsets) > 0) { + foreach ($_fieldsets as $fieldset) { + if ($fieldset['type'] == 'file' && $fieldset['extension'] == 'yaml') { + $fieldset_content = YamlParser::decode(Filesystem::read($fieldset['path'])); + if (isset($fieldset_content['sections']) && isset($fieldset_content['sections']['main']) && isset($fieldset_content['sections']['main']['fields'])) { + $fieldsets[$fieldset['basename']] = $fieldset_content['title']; + } + } + } + } + Themes::view('admin/views/templates/content/entries/add') - ->assign('fieldsets', Themes::getFieldsets(false)) + ->assign('fieldsets', $fieldsets) ->assign('entries_list', Entries::fetchAll('', 'slug')) ->display(); }