From 43ebf69e85145e05a1cfedc43cf9b71b8870f18f Mon Sep 17 00:00:00 2001 From: Awilum Date: Tue, 3 Sep 2019 14:33:46 +0300 Subject: [PATCH] refactor(core): refactor Plugins API #186 --- flextype/core/Plugins.php | 37 ++++++++++++++++++++++--------------- 1 file changed, 22 insertions(+), 15 deletions(-) diff --git a/flextype/core/Plugins.php b/flextype/core/Plugins.php index e60c32a5..666a42fe 100755 --- a/flextype/core/Plugins.php +++ b/flextype/core/Plugins.php @@ -44,7 +44,14 @@ class Plugins $this->locales = Parser::decode(Filesystem::read(ROOT_DIR . '/flextype/config/locales.yaml'), 'yaml'); } - public function getLocales() + /** + * Get locales + * + * @return array + * + * @access public + */ + public function getLocales() : array { return $this->locales; } @@ -86,9 +93,9 @@ class Plugins // If Plugins List isnt empty if (is_array($plugins_list) && count($plugins_list) > 0) { // Init plugin configs - $_plugins_config = []; + $plugins = []; $plugin_settings = []; - $plugin_config = []; + $plugin_manifest = []; // Go through... foreach ($plugins_list as $plugin) { @@ -100,29 +107,29 @@ class Plugins $plugin_settings = Parser::decode($content, 'yaml'); } - if (Filesystem::has($_plugin_config = PATH['plugins'] . '/' . $plugin['dirname'] . '/plugin.yaml')) { - if (($content = Filesystem::read($_plugin_config)) === false) { - throw new RuntimeException('Load file: ' . $_plugin_config . ' - failed!'); + if (Filesystem::has($_plugin_manifest = PATH['plugins'] . '/' . $plugin['dirname'] . '/plugin.yaml')) { + if (($content = Filesystem::read($_plugin_manifest)) === false) { + throw new RuntimeException('Load file: ' . $_plugin_manifest . ' - failed!'); } - $plugin_config = Parser::decode($content, 'yaml'); + $plugin_manifest = Parser::decode($content, 'yaml'); } - $_plugins_config[$plugin['dirname']] = array_merge($plugin_settings, $plugin_config); + $plugins[$plugin['dirname']] = array_merge($plugin_settings, $plugin_manifest); // Set default plugin priority 0 - if (isset($_plugins_config[$plugin['dirname']]['priority'])) { + if (isset($plugins[$plugin['dirname']]['priority'])) { continue; } - $_plugins_config[$plugin['dirname']]['priority'] = 0; + $plugins[$plugin['dirname']]['priority'] = 0; } // Sort plugins list by priority. - $_plugins_config = Arr::sort($_plugins_config, 'priority', 'DESC'); + $plugins = Arr::sort($plugins, 'priority', 'DESC'); - $this->flextype['registry']->set('plugins', $_plugins_config); - $this->flextype['cache']->save($plugins_cache_id, $_plugins_config); + $this->flextype['registry']->set('plugins', $plugins); + $this->flextype['cache']->save($plugins_cache_id, $plugins); } } @@ -178,11 +185,11 @@ class Plugins if (is_array($plugins_list) && count($plugins_list) > 0) { foreach ($plugins_list as $plugin) { if (! Filesystem::has($_plugin_settings = PATH['plugins'] . '/' . $plugin['dirname'] . '/settings.yaml') or - ! Filesystem::has($_plugin_config = PATH['plugins'] . '/' . $plugin['dirname'] . '/plugin.yaml')) { + ! Filesystem::has($_plugin_manifest = PATH['plugins'] . '/' . $plugin['dirname'] . '/plugin.yaml')) { continue; } - $_plugins_cache_id .= filemtime($_plugin_settings) . filemtime($_plugin_config); + $_plugins_cache_id .= filemtime($_plugin_settings) . filemtime($_plugin_manifest); } }