Current Path : /storage/v11800/affypharma/public_html/wp-content/plugins/auxin-elements/includes/elementor/modules/ |
Linux v11800 5.3.0-1023-aws #25~18.04.1-Ubuntu SMP Fri Jun 5 15:19:18 UTC 2020 aarch64
|
Current File : /storage/v11800/affypharma/public_html/wp-content/plugins/auxin-elements/includes/elementor/modules/section.php |
<?php
namespace Auxin\Plugin\CoreElements\Elementor\Modules;
use Elementor\Plugin;
use Elementor\Widget_Base;
use Elementor\Controls_Manager;
use Elementor\Group_Control_Image_Size;
use Elementor\Group_Control_Typography;
use Elementor\Core\Schemes\Color;
use Elementor\Core\Schemes\Typography;
use Elementor\Control_Media;
use Elementor\Group_Control_Border;
use Elementor\Group_Control_Box_Shadow;
use Elementor\Group_Control_Background;
class Section {
/**
* Instance of this class.
*
* @var object
*/
protected static $instance = null;
public function __construct(){
// Modify section render
// add_action( 'elementor/frontend/section/before_render', array( $this, 'modify_render' ) );
// Add new controls
add_action( 'elementor/element/after_section_end', array( $this, 'add_pseudo_background_controls' ), 20, 3 );
// Go pro notice for inner container options
add_action( 'elementor/element/section/section_typo/after_section_end' , array( $this, 'add_inner_container_notice' ), 90 );
}
/**
* Return an instance of this class.
*
* @return object A single instance of this class.
*/
public static function get_instance() {
// If the single instance hasn't been set, set it now.
if ( null == self::$instance ) {
self::$instance = new self;
}
return self::$instance;
}
/**
* Modify the render of section element
*
* @param Element_Section $section Instance of Section element
*
* @return void
*/
public function modify_render( $section ){
}
/**
* Add extra controls to section element
*
* @param Element_Section $section Instance of Section element
*
* @return void
*/
public function add_controls( $section ){
}
/**
* Add option for styling the inner container
*
* @return void
*/
public function add_inner_container_notice( $widget ){
if( defined('THEME_PRO') && THEME_PRO ){
return;
}
$widget->start_controls_section(
'aux_pro_inner_container_notice',
array(
'label' => __( 'Box Container', 'auxin-elements' ),
'tab' => Controls_Manager::TAB_STYLE
)
);
$widget->add_control(
'inner_container_go_pro_notice',
array(
'type' => Controls_Manager::RAW_HTML,
'content_classes' => 'elementor-descriptor',
'raw' => '<div class="auxin-elementor-panel-notice">' .
'<i class="auxin-elementor-upgrade-notice-icon eicon-favorite" aria-hidden="true"></i>
<div class="auxin-elementor-panel-notice-title">' .
__( 'Parallax Effect', 'auxin-elements' ) .
'</div>
<div class="auxin-elementor-panel-notice-message">' .
__( 'Container options lets you add border, box shadow and background to box container.', 'auxin-elements' ) .
'</div>
<div class="auxin-elementor-panel-notice-message">' .
__( 'This feature is only available on Phlox Pro.', 'auxin-elements' ) .
'</div>
<a class="auxin-elementor-panel-notice-link elementor-button elementor-button-default auxin-elementor-go-pro-link" href="http://phlox.pro/go-pro/?utm_source=elementor-panel&utm_medium=phlox-free&utm_campaign=phlox-go-pro&utm_content=inner-container" target="_blank">' .
__( 'Get Phlox Pro', 'auxin-elements' ) .
'</a>
</div>'
)
);
$widget->end_controls_section();
}
/**
* Adds controls to define background for pseudo elements
*
* @return void
*/
public function add_pseudo_background_controls( $widget, $section_id, $args ){
if( 'section' !== $widget->get_name() ){
return;
}
// Anchor element sections
$target_sections = array('section_custom_css');
if( ! defined('ELEMENTOR_PRO_VERSION') ) {
$target_sections[] = 'section_custom_css_pro';
}
if( ! in_array( $section_id, $target_sections ) ){
return;
}
$widget->start_controls_section(
'aux_core_background_pseudo_section',
array(
'label' => __( 'Pseudo Background (developers)', 'auxin-elements' ),
'tab' => Controls_Manager::TAB_ADVANCED
)
);
$widget->add_control(
'background_pseudo_description',
array(
'raw' => __( 'Adds background to pseudo elements like ::before and ::after selectors. (developers only)', 'auxin-elements' ),
'type' => Controls_Manager::RAW_HTML,
'content_classes' => 'elementor-descriptor'
)
);
$widget->add_control(
'background_pseudo_before_heading',
array(
'label' => __( 'Background ::before', 'auxin-elements' ),
'type' => Controls_Manager::HEADING,
'separator' => 'before'
)
);
$widget->add_group_control(
Group_Control_Background::get_type(),
array(
'name' => 'background_pseudo_before',
'types' => array( 'classic', 'gradient'),
'selector' => '{{WRAPPER}} .elementor-container:before'
)
);
$widget->add_control(
'background_pseudo_after_heading',
array(
'label' => __( 'Background ::after', 'auxin-elements' ),
'type' => Controls_Manager::HEADING,
'separator' => 'before'
)
);
$widget->add_group_control(
Group_Control_Background::get_type(),
array(
'name' => 'background_pseudo_after',
'types' => array( 'classic', 'gradient'),
'selector' => '{{WRAPPER}} > .elementor-container:after'
)
);
$widget->end_controls_section();
}
}