@@ -92,6 +92,9 @@  | 
                                                    ||
| 92 | 92 | }  | 
                                                        
| 93 | 93 | }  | 
                                                        
| 94 | 94 | |
| 95 | + /**  | 
                                                        |
| 96 | + * @param string $parentFilterName  | 
                                                        |
| 97 | + */  | 
                                                        |
| 95 | 98 | protected static function addFilterForSubFields($parentFilterName, $subFields)  | 
                                                        
| 96 | 99 |      { | 
                                                        
| 97 | 100 |          foreach ($subFields as $subField) { | 
                                                        
@@ -2,7 +2,6 @@  | 
                                                    ||
| 2 | 2 | |
| 3 | 3 | namespace Flynt\Features\Acf;  | 
                                                        
| 4 | 4 | |
| 5 | -use RecursiveDirectoryIterator;  | 
                                                        |
| 6 | 5 | use ACFComposer\ACFComposer;  | 
                                                        
| 7 | 6 | use Flynt\Utils\ArrayHelpers;  | 
                                                        
| 8 | 7 | use Flynt\Utils\FileLoader;  | 
                                                        
@@ -44,7 +44,7 @@ discard block  | 
                                                    ||
| 44 | 44 | return;  | 
                                                        
| 45 | 45 | }  | 
                                                        
| 46 | 46 | |
| 47 | -        FileLoader::iterateDir($dir, function ($file) { | 
                                                        |
| 47 | +        FileLoader::iterateDir($dir, function($file) { | 
                                                        |
| 48 | 48 |              if ($file->getExtension() === 'json') { | 
                                                        
| 49 | 49 | $filePath = $file->getPathname();  | 
                                                        
| 50 | 50 | $config = json_decode(file_get_contents($filePath), true);  | 
                                                        
@@ -75,14 +75,14 @@ discard block  | 
                                                    ||
| 75 | 75 | $groupKey = ucfirst($groupKey);  | 
                                                        
| 76 | 76 |              $filterName = self::FILTER_NAMESPACE . "/{$componentName}/Fields/{$groupKey}"; | 
                                                        
| 77 | 77 | |
| 78 | -            add_filter($filterName, function ($config) use ($groupValue) { | 
                                                        |
| 78 | +            add_filter($filterName, function($config) use ($groupValue) { | 
                                                        |
| 79 | 79 | return $groupValue;  | 
                                                        
| 80 | 80 | });  | 
                                                        
| 81 | 81 |              if (ArrayHelpers::isAssoc($groupValue) && array_key_exists('sub_fields', $groupValue)) { | 
                                                        
| 82 | 82 | $filterName .= '/SubFields';  | 
                                                        
| 83 | 83 | $subFields = $groupValue['sub_fields'];  | 
                                                        
| 84 | 84 | |
| 85 | -                add_filter($filterName, function ($subFieldsconfig) use ($subFields) { | 
                                                        |
| 85 | +                add_filter($filterName, function($subFieldsconfig) use ($subFields) { | 
                                                        |
| 86 | 86 | return $subFields;  | 
                                                        
| 87 | 87 | });  | 
                                                        
| 88 | 88 | self::addFilterForSubFields($filterName, $subFields);  | 
                                                        
@@ -105,7 +105,7 @@ discard block  | 
                                                    ||
| 105 | 105 | $subFieldName = ucfirst($subField['name']);  | 
                                                        
| 106 | 106 |              $subFilterName = $parentFilterName . "/{$subFieldName}"; | 
                                                        
| 107 | 107 | |
| 108 | -            add_filter($subFilterName, function ($subFieldConfig) use ($subField) { | 
                                                        |
| 108 | +            add_filter($subFilterName, function($subFieldConfig) use ($subField) { | 
                                                        |
| 109 | 109 | return $subField;  | 
                                                        
| 110 | 110 | });  | 
                                                        
| 111 | 111 | }  | 
                                                        
@@ -117,6 +117,13 @@ discard block  | 
                                                    ||
| 117 | 117 |      // usage: OptionPages::getOption('globalOptions', 'feature', 'myFeatureName', 'myFieldName'); | 
                                                        
| 118 | 118 |      // usage: OptionPages::getOption('translatableOptions', 'component', 'myComponentName', 'myFieldName'); | 
                                                        
| 119 | 119 | // all params expected to be camelCase  | 
                                                        
| 120 | +  | 
                                                        |
| 121 | + /**  | 
                                                        |
| 122 | + * @param string $optionType  | 
                                                        |
| 123 | + * @param string $optionCategory  | 
                                                        |
| 124 | + * @param string $subPageName  | 
                                                        |
| 125 | + * @param string $fieldName  | 
                                                        |
| 126 | + */  | 
                                                        |
| 120 | 127 | public static function getOption($optionType, $optionCategory, $subPageName, $fieldName)  | 
                                                        
| 121 | 128 |      { | 
                                                        
| 122 | 129 | $options = self::getOptions($optionType, $optionCategory, $subPageName);  | 
                                                        
@@ -272,6 +279,9 @@ discard block  | 
                                                    ||
| 272 | 279 | });  | 
                                                        
| 273 | 280 | }  | 
                                                        
| 274 | 281 | |
| 282 | + /**  | 
                                                        |
| 283 | + * @param string $optionCategoryName  | 
                                                        |
| 284 | + */  | 
                                                        |
| 275 | 285 | protected static function createSubPageFromConfig($filePath, $optionCategoryName, $subPageName)  | 
                                                        
| 276 | 286 |      { | 
                                                        
| 277 | 287 | $fields = json_decode(file_get_contents($filePath), true);  | 
                                                        
@@ -288,6 +298,9 @@ discard block  | 
                                                    ||
| 288 | 298 | }  | 
                                                        
| 289 | 299 | }  | 
                                                        
| 290 | 300 | |
| 301 | + /**  | 
                                                        |
| 302 | + * @param string $subPageName  | 
                                                        |
| 303 | + */  | 
                                                        |
| 291 | 304 | protected static function addOptionSubPage($optionCategoryName, $subPageName, $optionType, $fields)  | 
                                                        
| 292 | 305 |      { | 
                                                        
| 293 | 306 | $prettySubPageName = StringHelpers::splitCamelCase($subPageName);  | 
                                                        
@@ -316,6 +329,9 @@ discard block  | 
                                                    ||
| 316 | 329 | );  | 
                                                        
| 317 | 330 | }  | 
                                                        
| 318 | 331 | |
| 332 | + /**  | 
                                                        |
| 333 | + * @param string $menuSlug  | 
                                                        |
| 334 | + */  | 
                                                        |
| 319 | 335 | protected static function addFieldGroupToSubPage($parentMenuSlug, $menuSlug, $prettySubPageName, $fields)  | 
                                                        
| 320 | 336 |      { | 
                                                        
| 321 | 337 | $fieldGroup = ACFComposer\ResolveConfig::forFieldGroup(  | 
                                                        
@@ -339,6 +355,10 @@ discard block  | 
                                                    ||
| 339 | 355 | acf_add_local_field_group($fieldGroup);  | 
                                                        
| 340 | 356 | }  | 
                                                        
| 341 | 357 | |
| 358 | + /**  | 
                                                        |
| 359 | + * @param string $optionCategory  | 
                                                        |
| 360 | + * @param string $feature  | 
                                                        |
| 361 | + */  | 
                                                        |
| 342 | 362 | protected static function checkFeature($optionCategory, $feature)  | 
                                                        
| 343 | 363 |      { | 
                                                        
| 344 | 364 |          if (array_key_exists($optionCategory, self::$optionCategories) && !Feature::isRegistered($feature)) { | 
                                                        
@@ -11,9 +11,7 @@  | 
                                                    ||
| 11 | 11 | use ACFComposer;  | 
                                                        
| 12 | 12 | use Flynt\ComponentManager;  | 
                                                        
| 13 | 13 | use Flynt\Features\AdminNotices\AdminNoticeManager;  | 
                                                        
| 14 | -use Flynt\Features\CustomPostTypes\CustomPostTypeRegister;  | 
                                                        |
| 15 | 14 | use Flynt\Utils\Feature;  | 
                                                        
| 16 | -use Flynt\Utils\FileLoader;  | 
                                                        |
| 17 | 15 | use Flynt\Utils\StringHelpers;  | 
                                                        
| 18 | 16 | |
| 19 | 17 | class OptionPages  | 
                                                        
@@ -102,7 +102,7 @@ discard block  | 
                                                    ||
| 102 | 102 | |
| 103 | 103 | // find and replace relevant keys, then return an array of all options for this Sub-Page  | 
                                                        
| 104 | 104 | $optionKeys = is_array($options) ? array_keys($options) : [];  | 
                                                        
| 105 | -        return array_reduce($optionKeys, function ($carry, $key) use ($options, $prefix) { | 
                                                        |
| 105 | +        return array_reduce($optionKeys, function($carry, $key) use ($options, $prefix) { | 
                                                        |
| 106 | 106 | $count = 0;  | 
                                                        
| 107 | 107 | $option = $options[$key];  | 
                                                        
| 108 | 108 | $key = str_replace($prefix, '', $key, $count);  | 
                                                        
@@ -135,10 +135,10 @@ discard block  | 
                                                    ||
| 135 | 135 | 12  | 
                                                        
| 136 | 136 | );  | 
                                                        
| 137 | 137 | |
| 138 | -        add_filter('Flynt/addComponentData', function ($data, $parentData, $config) { | 
                                                        |
| 138 | +        add_filter('Flynt/addComponentData', function($data, $parentData, $config) { | 
                                                        |
| 139 | 139 | |
| 140 | 140 | // get fields for this component  | 
                                                        
| 141 | -            $options = array_reduce(array_keys(self::$optionTypes), function ($carry, $optionType) use ($config) { | 
                                                        |
| 141 | +            $options = array_reduce(array_keys(self::$optionTypes), function($carry, $optionType) use ($config) { | 
                                                        |
| 142 | 142 | return array_merge($carry, self::getOptions($optionType, 'Component', $config['name']));  | 
                                                        
| 143 | 143 | }, []);  | 
                                                        
| 144 | 144 | |
@@ -249,7 +249,7 @@ discard block  | 
                                                    ||
| 249 | 249 | ];  | 
                                                        
| 250 | 250 | }  | 
                                                        
| 251 | 251 | |
| 252 | -        add_action('current_screen', function ($currentScreen) { | 
                                                        |
| 252 | +        add_action('current_screen', function($currentScreen) { | 
                                                        |
| 253 | 253 |              foreach (self::$optionTypes as $optionType => $option) { | 
                                                        
| 254 | 254 | $isTranslatable = $option['translatable'];  | 
                                                        
| 255 | 255 | $toplevelPageId = 'toplevel_page_' . $optionType;  | 
                                                        
@@ -263,7 +263,7 @@ discard block  | 
                                                    ||
| 263 | 263 |                      add_filter('acf/settings/current_language', 'Flynt\Features\Acf\OptionPages::getDefaultAcfLanguage', 101); | 
                                                        
| 264 | 264 | |
| 265 | 265 | // hide language selector in admin bar  | 
                                                        
| 266 | -                    add_action('wp_before_admin_bar_render', function () { | 
                                                        |
| 266 | +                    add_action('wp_before_admin_bar_render', function() { | 
                                                        |
| 267 | 267 | $adminBar = $GLOBALS['wp_admin_bar'];  | 
                                                        
| 268 | 268 |                          $adminBar->remove_menu('WPML_ALS'); | 
                                                        
| 269 | 269 | });  | 
                                                        
@@ -359,7 +359,7 @@ discard block  | 
                                                    ||
| 359 | 359 | |
| 360 | 360 | protected static function prefixFields($fields, $prefix)  | 
                                                        
| 361 | 361 |      { | 
                                                        
| 362 | -        return array_map(function ($field) use ($prefix) { | 
                                                        |
| 362 | +        return array_map(function($field) use ($prefix) { | 
                                                        |
| 363 | 363 | $field['name'] = $prefix . '_' . $field['name'];  | 
                                                        
| 364 | 364 | return $field;  | 
                                                        
| 365 | 365 | }, $fields);  | 
                                                        
@@ -410,7 +410,7 @@ discard block  | 
                                                    ||
| 410 | 410 | |
| 411 | 411 | protected static function combineArrayDefaults(array $array, array $defaults)  | 
                                                        
| 412 | 412 |      { | 
                                                        
| 413 | -        return array_map(function ($value) use ($defaults) { | 
                                                        |
| 413 | +        return array_map(function($value) use ($defaults) { | 
                                                        |
| 414 | 414 | return is_array($value) ? array_merge($defaults, $value) : [];  | 
                                                        
| 415 | 415 | }, $array);  | 
                                                        
| 416 | 416 | }  | 
                                                        
@@ -8,7 +8,7 @@  | 
                                                    ||
| 8 | 8 | use Flynt\Utils\Feature;  | 
                                                        
| 9 | 9 | use Flynt\Features\CustomTaxonomies\CustomTaxonomyRegister;  | 
                                                        
| 10 | 10 | |
| 11 | -add_action('init', function () { | 
                                                        |
| 11 | +add_action('init', function() { | 
                                                        |
| 12 | 12 |      $featureOptions = Feature::getOption('flynt-custom-taxonomies', 0); | 
                                                        
| 13 | 13 | $dir = isset($featureOptions['dir']) ? $featureOptions['dir'] : null;  | 
                                                        
| 14 | 14 | $fileName = isset($featureOptions['fileName']) ? $featureOptions['fileName'] : null;  | 
                                                        
@@ -51,7 +51,7 @@  | 
                                                    ||
| 51 | 51 |          if (is_array($value)) { | 
                                                        
| 52 | 52 | // Loop through array and apply translations while keeping keys intact  | 
                                                        
| 53 | 53 | // NOTE: assuming it's a single dimensional array  | 
                                                        
| 54 | -            return array_reduce(array_keys($value), function ($carry, $key) use ($value) { | 
                                                        |
| 54 | +            return array_reduce(array_keys($value), function($carry, $key) use ($value) { | 
                                                        |
| 55 | 55 | return array_merge($carry, [  | 
                                                        
| 56 | 56 | $key => _x($value[$key], $key, 'flynt-starter-theme')  | 
                                                        
| 57 | 57 | ]);  | 
                                                        
@@ -58,7 +58,7 @@ discard block  | 
                                                    ||
| 58 | 58 | |
| 59 | 59 | protected static function cleanConfig($config)  | 
                                                        
| 60 | 60 |      { | 
                                                        
| 61 | -        $cleanConfig = array_map(function ($value) { | 
                                                        |
| 61 | +        $cleanConfig = array_map(function($value) { | 
                                                        |
| 62 | 62 |              if (is_array($value)) { | 
                                                        
| 63 | 63 | return self::cleanConfig($value);  | 
                                                        
| 64 | 64 | }  | 
                                                        
@@ -67,14 +67,14 @@ discard block  | 
                                                    ||
| 67 | 67 | }, $config);  | 
                                                        
| 68 | 68 | |
| 69 | 69 | // remove null values or empty arrays  | 
                                                        
| 70 | -        return array_filter($cleanConfig, function ($value) { | 
                                                        |
| 70 | +        return array_filter($cleanConfig, function($value) { | 
                                                        |
| 71 | 71 | return !(is_null($value) || (is_array($value) && empty($value)));  | 
                                                        
| 72 | 72 | });  | 
                                                        
| 73 | 73 | }  | 
                                                        
| 74 | 74 | |
| 75 | 75 | protected static function getConfigs($dir)  | 
                                                        
| 76 | 76 |      { | 
                                                        
| 77 | -        $configs = FileLoader::iterateDir($dir, function ($file) { | 
                                                        |
| 77 | +        $configs = FileLoader::iterateDir($dir, function($file) { | 
                                                        |
| 78 | 78 |              if ($file->isFile() && $file->getExtension() == 'json') { | 
                                                        
| 79 | 79 | $configPath = $file->getPathname();  | 
                                                        
| 80 | 80 |                  $name = StringHelpers::camelCaseToKebap($file->getBasename('.json')); | 
                                                        
@@ -39,7 +39,7 @@ discard block  | 
                                                    ||
| 39 | 39 |              add_action('admin_enqueue_scripts', NS . 'enqueueComponentScripts'); | 
                                                        
| 40 | 40 | |
| 41 | 41 | // add image to the flexible content component name  | 
                                                        
| 42 | -            add_filter('acf/fields/flexible_content/layout_title', function ($title, $field, $layout, $i) { | 
                                                        |
| 42 | +            add_filter('acf/fields/flexible_content/layout_title', function($title, $field, $layout, $i) { | 
                                                        |
| 43 | 43 | $componentPath = "/Components/$layout[name]/";  | 
                                                        
| 44 | 44 | $componentPreviewDesktopPath = get_template_directory() . $componentPath . 'preview-desktop.jpg';  | 
                                                        
| 45 | 45 | $componentPreviewDesktopUrl = get_template_directory_uri() . $componentPath . 'preview-desktop.jpg';  | 
                                                        
@@ -56,7 +56,7 @@ discard block  | 
                                                    ||
| 56 | 56 |          } else { | 
                                                        
| 57 | 57 |              add_action('wp_enqueue_scripts', NS . 'enqueueComponentScripts'); | 
                                                        
| 58 | 58 | // adds Component Previews button to admin bar on front-end when logged in  | 
                                                        
| 59 | -            add_action('admin_bar_menu', function ($wpAdminBar) { | 
                                                        |
| 59 | +            add_action('admin_bar_menu', function($wpAdminBar) { | 
                                                        |
| 60 | 60 |                  $title = __('Component Previews', 'flynt-starter-theme'); | 
                                                        
| 61 | 61 | $wpAdminBar->add_menu([  | 
                                                        
| 62 | 62 | 'id' => 'toggleComponentPreviews',  | 
                                                        
@@ -36,13 +36,16 @@  | 
                                                    ||
| 36 | 36 |                    console.log('GoogleAnalytics: ' + [].slice.call(arguments)); | 
                                                        
| 37 | 37 | }  | 
                                                        
| 38 | 38 | <?php  | 
                                                        
| 39 | - else : ?>  | 
                                                        |
| 39 | +            else { | 
                                                        |
| 40 | + : ?>  | 
                                                        |
| 40 | 41 |                  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){ | 
                                                        
| 41 | 42 | (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),  | 
                                                        
| 42 | 43 | m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)  | 
                                                        
| 43 | 44 | })(window,document,'script','https://www.google-analytics.com/analytics.js','ga');  | 
                                                        
| 44 | 45 | <?php  | 
                                                        
| 45 | - endif; ?>  | 
                                                        |
| 46 | + endif;  | 
                                                        |
| 47 | + }  | 
                                                        |
| 48 | + ?>  | 
                                                        |
| 46 | 49 |              ga('create','<?php echo $this->gaId; ?>','auto');ga('send','pageview'); | 
                                                        
| 47 | 50 | <?php if ($this->anonymizeIp == 1) : ?>  | 
                                                        
| 48 | 51 |                  ga('set', 'anonymizeIp', true); | 
                                                        
@@ -9,8 +9,8 @@  | 
                                                    ||
| 9 | 9 | $context = Timber::get_context();  | 
                                                        
| 10 | 10 | $post = new Post();  | 
                                                        
| 11 | 11 | $context['form'] = [  | 
                                                        
| 12 | -      'url' => site_url('/wp-login.php?action=postpass', 'login_post'), | 
                                                        |
| 13 | - 'inputId' => empty($post->id) ? mt_rand() : $post->id  | 
                                                        |
| 12 | +        'url' => site_url('/wp-login.php?action=postpass', 'login_post'), | 
                                                        |
| 13 | + 'inputId' => empty($post->id) ? mt_rand() : $post->id  | 
                                                        |
| 14 | 14 | ];  | 
                                                        
| 15 | 15 | |
| 16 | 16 |      return Timber::fetch('index.twig', $context); | 
                                                        
@@ -5,7 +5,7 @@  | 
                                                    ||
| 5 | 5 | use Timber\Timber;  | 
                                                        
| 6 | 6 | use Timber\Post;  | 
                                                        
| 7 | 7 | |
| 8 | -add_filter('the_password_form', function ($output) { | 
                                                        |
| 8 | +add_filter('the_password_form', function($output) { | 
                                                        |
| 9 | 9 | $context = Timber::get_context();  | 
                                                        
| 10 | 10 | $post = new Post();  | 
                                                        
| 11 | 11 | $context['form'] = [  | 
                                                        
@@ -10,7 +10,7 @@  | 
                                                    ||
| 10 | 10 | * TODO add local fallback  | 
                                                        
| 11 | 11 | * TODO add cdn again just removed it because internet so slow  | 
                                                        
| 12 | 12 | */  | 
                                                        
| 13 | -add_action('wp_enqueue_scripts', function () { | 
                                                        |
| 13 | +add_action('wp_enqueue_scripts', function() { | 
                                                        |
| 14 | 14 | $jqueryVersion = wp_scripts()->registered['jquery']->ver;  | 
                                                        
| 15 | 15 |      wp_deregister_script('jquery'); | 
                                                        
| 16 | 16 | wp_register_script(  |