File: //proc/self/cwd/wp-content/plugins/happy-elementor-addons/classes/builder-compatibility/astra.php
<?php
namespace Happy_Addons\Elementor\Theme_Hooks;
use Happy_Addons\Elementor\Theme_Builder;
defined('ABSPATH') || exit;
/**
* Astra theme compatibility.
*/
class Astra
{
/**
* Instance of Elementor Frontend class.
*
* @var \Elementor\Frontend()
*/
private $elementor;
private $header;
private $footer;
/**
* Run all the Actions / Filters.
*/
function __construct($template_ids)
{
$this->header = $template_ids[0];
$this->footer = $template_ids[1];
if (defined('ELEMENTOR_VERSION') && is_callable('Elementor\Plugin::instance')) {
$this->elementor = \Elementor\Plugin::instance();
}
if ($this->header != null) {
add_action('template_redirect', array($this, 'remove_theme_header_markup'), 10);
add_action('astra_header', [$this, 'add_plugin_header_markup']);
}
if ($this->footer != null) {
add_action('template_redirect', array($this, 'remove_theme_footer_markup'), 10);
add_action('astra_footer', [$this, 'add_plugin_footer_markup']);
}
}
// header actions
public function remove_theme_header_markup()
{
remove_action('astra_header', 'astra_header_markup');
}
public function add_plugin_header_markup()
{
do_action('happyaddons/template/before_header');
echo '<div class="ekit-template-content-markup ekit-template-content-header">';
echo Theme_Builder::render_builder_data($this->header);
echo '</div>';
do_action('happyaddons/template/after_header');
}
// footer actions
public function remove_theme_footer_markup()
{
remove_action('astra_footer', 'astra_footer_markup');
}
public function add_plugin_footer_markup()
{
do_action('happyaddons/template/before_footer');
echo '<div class="ekit-template-content-markup ekit-template-content-footer">';
echo Theme_Builder::render_builder_data($this->footer);;
echo '</div>';
do_action('happyaddons/template/after_footer');
}
}