OwlCyberSecurity - MANAGER
Edit File: class-hestia-beaver-builder-compatibility.php
<?php /** * Beaver Builder Compatibility class. * * @package Hestia */ /** * Class Hestia_Beaver_Builder_Compatibility */ class Hestia_Beaver_Builder_Compatibility extends Hestia_Page_Builder_Helper { /** * Initialize features. */ public function init() { parent::init(); if ( defined( 'FL_THEME_BUILDER_VERSION' ) ) { /** * Compatibility with Beaver Themer header and footer templates. */ add_action( 'after_setup_theme', array( $this, 'header_footer_support' ) ); add_action( 'wp', array( $this, 'header_footer_render' ), 100 ); } /** * Show hide frontpage sections in Beaver Builder. */ add_action( 'wp_enqueue_scripts', array( $this, 'page_builder_enqueue' ) ); add_action( 'wp_ajax_hestia_pagebuilder_hide_frontpage_section', array( $this, 'hestia_pagebuilder_hide_frontpage_section' ) ); /** * When a new page is edited with Beaver Builder, set the full width template */ add_action( 'wp', array( $this, 'maybe_set_page_template' ), 20 ); } /** * This function checks if Beaver Themer and Beaver Builder Pro plugins are activated. * * @return bool */ protected function should_load_feature() { if ( ! defined( 'FL_BUILDER_VERSION' ) ) { return false; } return true; } /** * Check if page is edited with Beaver Builder. * * @param string $pid Post id. * * @return bool */ protected function is_edited_with_builder( $pid ) { if ( class_exists( 'FLBuilderModel', false ) ) { if ( FLBuilderModel::is_builder_enabled() === true ) { return true; } } return false; } /** * Add theme support for header and footer. * * @since 1.1.24 * @access public */ public function header_footer_support() { add_theme_support( 'fl-theme-builder-headers' ); add_theme_support( 'fl-theme-builder-footers' ); } /** * Add header and footer support for beaver. * * @since 1.1.24 * @access public */ public function header_footer_render() { if ( ! class_exists( 'FLThemeBuilderLayoutData', false ) ) { return; } // Get the header ID. $header_ids = FLThemeBuilderLayoutData::get_current_page_header_ids(); // If we have a header, remove the theme header and hook in Theme Builder's. if ( ! empty( $header_ids ) ) { remove_all_actions( 'hestia_do_header' ); remove_all_actions( 'hestia_do_top_bar' ); add_action( 'hestia_do_header', 'FLThemeBuilderLayoutRenderer::render_header' ); } // Get the footer ID. $footer_ids = FLThemeBuilderLayoutData::get_current_page_footer_ids(); // If we have a footer, remove the theme footer and hook in Theme Builder's. if ( ! empty( $footer_ids ) ) { remove_all_actions( 'hestia_do_footer' ); add_action( 'hestia_do_footer', 'FLThemeBuilderLayoutRenderer::render_footer' ); } } /** * Enqueue scripts */ public function page_builder_enqueue() { if ( $this->is_plugin_preview() && is_front_page() ) { wp_enqueue_script( 'hestia-builder-integration', get_template_directory_uri() . '/assets/js/admin/hestia-pagebuilder.js', array(), HESTIA_VERSION ); wp_localize_script( 'hestia-builder-integration', 'hestiaBuilderIntegration', array( 'ajaxurl' => admin_url( 'admin-ajax.php' ), 'nonce' => wp_create_nonce( 'hestia-pagebuilder-nonce' ), 'hideString' => esc_html__( 'Disable section', 'hestia' ), ) ); } } /** * Check if we're in Beaver Builder Preview. * * @return bool */ private function is_plugin_preview() { if ( class_exists( 'FLBuilderModel', false ) ) { if ( FLBuilderModel::is_builder_active() === true ) { return true; } } return false; } }