| @@ -1,12 +1,12 @@ | ||
| 1 | 1 | <?php |
| 2 | 2 | /** |
| 3 | 3 | * @package FireBox |
| 4 | - * @version 3.1.13 Free | |
| 4 | + * @version 2.1.14 Free | |
| 5 | 5 | * |
| 6 | 6 | * @author FirePlugins <info@fireplugins.com> |
| 7 | 7 | * @link https://www.fireplugins.com |
| 8 | - * @copyright Copyright © 2026 FirePlugins All Rights Reserved | |
| 8 | + * @copyright Copyright © 2024 FirePlugins All Rights Reserved | |
| 9 | 9 | * @license GNU GPLv3 <http://www.gnu.org/licenses/gpl.html> or later |
| 10 | 10 | */ |
| 11 | 11 | |
| 12 | 12 | namespace FireBox\Core; |
| @@ -25,46 +25,8 @@ | ||
| 25 | 25 | { |
| 26 | 26 | return; |
| 27 | 27 | } |
| 28 | 28 | |
| 29 | - // Keep FireBox assets out of WP Rocket's JS delay/defer/minify and CSS optimizations | |
| 30 | - new \FireBox\Core\Libs\WPRocket(); | |
| 31 | - | |
| 32 | - wp_register_script( | |
| 33 | - 'firebox-main', | |
| 34 | - FBOX_MEDIA_PUBLIC_URL . 'js/firebox.js', | |
| 35 | - [], | |
| 36 | - FBOX_VERSION, | |
| 37 | - ['in_footer' => true, 'strategy' => 'defer'] | |
| 38 | - ); | |
| 39 | - | |
| 40 | - // The session stamper on its own, for pages where no campaign renders but a | |
| 41 | - // campaign elsewhere depends on the session cookies staying accurate. | |
| 42 | - wp_register_script( | |
| 43 | - 'firebox-session-stamp', | |
| 44 | - FBOX_MEDIA_PUBLIC_URL . 'js/session-stamp.js', | |
| 45 | - [], | |
| 46 | - FBOX_VERSION, | |
| 47 | - ['in_footer' => true, 'strategy' => 'defer'] | |
| 48 | - ); | |
| 49 | - | |
| 50 | - /** | |
| 51 | - * The session stamper writes the cookies PHP reads back | |
| 52 | - * (FPFramework\Base\Factory\Session), so it has to name and scope them | |
| 53 | - * the same way. Attached to both handles because either one can carry | |
| 54 | - * the stamper: it is bundled into the runtime and also ships alone. | |
| 55 | - */ | |
| 56 | - $scope = wp_json_encode([ | |
| 57 | - 'name_prefix' => \FPFramework\Helpers\CookieScope::name(''), | |
| 58 | - 'path' => \FPFramework\Helpers\CookieScope::path(), | |
| 59 | - 'domain' => \FPFramework\Helpers\CookieScope::domain() | |
| 60 | - ]); | |
| 61 | - | |
| 62 | - foreach (['firebox-main', 'firebox-session-stamp'] as $handle) | |
| 63 | - { | |
| 64 | - wp_add_inline_script($handle, 'window.fpfCookieScope = ' . $scope . ';', 'before'); | |
| 65 | - } | |
| 66 | - | |
| 67 | 29 | // Prepare Gutenberg Blocks that contain attributes by FireBox |
| 68 | 30 | new \FireBox\Core\FB\BoxBlocksParser(); |
| 69 | 31 | |
| 70 | 32 | /** |
| @@ -71,14 +33,11 @@ | ||
| 71 | 33 | * Event that runs before any rendering of popups. |
| 72 | 34 | */ |
| 73 | 35 | do_action('firebox/boxes/before_render'); |
| 74 | 36 | |
| 75 | - // Run Actions | |
| 76 | - \FireBox\Core\Helpers\Actions::run(); | |
| 77 | - | |
| 78 | 37 | add_action('template_redirect', [$this, 'render']); |
| 79 | 38 | |
| 80 | - add_action('wp_enqueue_scripts', [$this, 'enqueueEmbedStylesEarly']); | |
| 39 | + \FireBox\Core\Helpers\Actions::run(); | |
| 81 | 40 | |
| 82 | 41 | /** |
| 83 | 42 | * Event that runs after popups have been rendered. |
| 84 | 43 | */ |
| @@ -83,45 +42,8 @@ | ||
| 83 | 42 | * Event that runs after popups have been rendered. |
| 84 | 43 | */ |
| 85 | 44 | do_action('firebox/boxes/after_render'); |
| 86 | 45 | } |
| 87 | - | |
| 88 | - /** | |
| 89 | - * Enqueues the embed-mode campaign CSS early (wp_enqueue_scripts, before wp_head closes) | |
| 90 | - * when the currently queried post/page contains an Embed Campaign block. This avoids a | |
| 91 | - * flash of unstyled content, since renderEmbed() otherwise only enqueues this CSS later, | |
| 92 | - * during content rendering. | |
| 93 | - * | |
| 94 | - * @return void | |
| 95 | - */ | |
| 96 | - public function enqueueEmbedStylesEarly() | |
| 97 | - { | |
| 98 | - $post = get_queried_object(); | |
| 99 | - | |
| 100 | - if (!($post instanceof \WP_Post)) | |
| 101 | - { | |
| 102 | - return; | |
| 103 | - } | |
| 104 | - | |
| 105 | - if (!has_block('firebox/embed', $post)) | |
| 106 | - { | |
| 107 | - return; | |
| 108 | - } | |
| 109 | - | |
| 110 | - wp_enqueue_style( | |
| 111 | - 'firebox', | |
| 112 | - FBOX_MEDIA_PUBLIC_URL . 'css/firebox.css', | |
| 113 | - [], | |
| 114 | - FBOX_VERSION | |
| 115 | - ); | |
| 116 | - | |
| 117 | - wp_enqueue_style( | |
| 118 | - 'fb-block-embed-campaign', | |
| 119 | - FBOX_MEDIA_PUBLIC_URL . 'css/blocks/embed-campaign.css', | |
| 120 | - [], | |
| 121 | - FBOX_VERSION | |
| 122 | - ); | |
| 123 | - } | |
| 124 | 46 | |
| 125 | 47 | /** |
| 126 | 48 | * Renders all boxes on front-end |
| 127 | 49 | * |
| @@ -139,8 +61,11 @@ | ||
| 139 | 61 | { |
| 140 | 62 | return; |
| 141 | 63 | } |
| 142 | 64 | |
| 65 | + // increment session counter | |
| 66 | + \FPFramework\Libs\Functions::incrementSession(); | |
| 67 | + | |
| 143 | 68 | /** |
| 144 | 69 | * Adds all boxes at the end of page. |
| 145 | 70 | */ |
| 146 | 71 | firebox()->boxes->render(); |
| @@ -153,13 +78,9 @@ | ||
| 153 | 78 | */ |
| 154 | 79 | private function canRenderInEditors() |
| 155 | 80 | { |
| 156 | 81 | // Don't render the popup if previewing with Elementor |
| 157 | - if (class_exists('\Elementor\Plugin') && | |
| 158 | - property_exists(\Elementor\Plugin::$instance, 'preview') && | |
| 159 | - method_exists(\Elementor\Plugin::$instance->preview, 'is_preview_mode') && | |
| 160 | - \Elementor\Plugin::$instance->preview->is_preview_mode() | |
| 161 | - ) | |
| 82 | + if (class_exists('\Elementor\Plugin') && \Elementor\Plugin::$instance->preview->is_preview_mode()) | |
| 162 | 83 | { |
| 163 | 84 | return; |
| 164 | 85 | } |
| 165 | 86 | |
| @@ -167,14 +88,8 @@ | ||
| 167 | 88 | if (class_exists('\FLBuilderModel') && method_exists('\FLBuilderModel', 'is_builder_active') && \FLBuilderModel::is_builder_active()) |
| 168 | 89 | { |
| 169 | 90 | return; |
| 170 | 91 | } |
| 171 | - | |
| 172 | - // Don't render the popup if previewing with Bricks Builder | |
| 173 | - if (function_exists('bricks_is_builder') && bricks_is_builder()) | |
| 174 | - { | |
| 175 | - return; | |
| 176 | - } | |
| 177 | 92 | |
| 178 | 93 | return true; |
| 179 | 94 | } |
| 180 | 95 | |
| @@ -187,5 +102,5 @@ | ||
| 187 | 102 | { |
| 188 | 103 | $previewer = new Previewer(); |
| 189 | 104 | return $previewer->init(); |
| 190 | 105 | } |
| 191 | -} | |
| 106 | +} | |