From 39fd62dd8cad9f68a334e22044da729731f294cc Mon Sep 17 00:00:00 2001 From: Awilum Date: Sun, 1 Aug 2021 10:56:23 +0300 Subject: [PATCH] feat(fields): updates for parsers field #199 --- .../Entries/Fields/ParsersField.php | 48 +++++++++---------- 1 file changed, 22 insertions(+), 26 deletions(-) diff --git a/src/flextype/Foundation/Entries/Fields/ParsersField.php b/src/flextype/Foundation/Entries/Fields/ParsersField.php index 09a7da194..ff096b0bc 100644 --- a/src/flextype/Foundation/Entries/Fields/ParsersField.php +++ b/src/flextype/Foundation/Entries/Fields/ParsersField.php @@ -9,32 +9,28 @@ if (registry()->get('flextype.settings.entries.fields.parsers.enabled')) { emitter()->addListener('onEntriesFetchSingleHasResult', static function (): void { - processParsersField(); - }); -} - -function processParsersField(): void -{ + + if (entries()->registry()->get('fetch.data.cache.enabled') == null) { + $cache = false; + } else { + $cache = (bool) entries()->registry()->get('fetch.data.cache.enabled'); + } - if (entries()->registry()->get('fetch.data.cache.enabled') == null) { - $cache = false; - } else { - $cache = (bool) entries()->registry()->get('fetch.data.cache.enabled'); - } - - if (entries()->registry()->get('fetch.data.parsers') != null) { - - foreach (entries()->registry()->get('fetch.data.parsers') as $parserName => $parserData) { - if (in_array($parserName, ['shortcode'])) { - if (entries()->registry()->get('fetch.data.parsers.'.$parserName.'.enabled') === true) { - if (entries()->registry()->get('fetch.data.parsers.'.$parserName.'.fields') != null) { - if (is_array(entries()->registry()->get('fetch.data.parsers.'.$parserName.'.fields'))) { - foreach (entries()->registry()->get('fetch.data.parsers.'.$parserName.'.fields') as $field) { - if (! in_array($field, registry()->get('flextype.settings.entries.fields'))) { - if ($parserName == 'shortcode') { - if (arrays(entries()->registry()->get('fetch.data'))->has($field)) { - entries()->registry()->set('fetch.data.'.$field, - parsers()->shortcode()->process(entries()->registry()->get('fetch.data.'.$field), $cache)); + if (entries()->registry()->get('fetch.data.parsers') != null) { + + foreach (entries()->registry()->get('fetch.data.parsers') as $parserName => $parserData) { + if (in_array($parserName, ['shortcodes'])) { + + if (entries()->registry()->get('fetch.data.parsers.'.$parserName.'.enabled') === true) { + if (entries()->registry()->get('fetch.data.parsers.'.$parserName.'.fields') != null) { + if (is_array(entries()->registry()->get('fetch.data.parsers.'.$parserName.'.fields'))) { + foreach (entries()->registry()->get('fetch.data.parsers.'.$parserName.'.fields') as $field) { + if (! in_array($field, registry()->get('flextype.settings.entries.fields'))) { + if ($parserName == 'shortcodes') { + if (arrays(entries()->registry()->get('fetch.data'))->has($field)) { + entries()->registry()->set('fetch.data.'.$field, + parsers()->shortcodes()->process(entries()->registry()->get('fetch.data.'.$field), $cache)); + } } } } @@ -44,5 +40,5 @@ function processParsersField(): void } } } - } + }); }