PATH:
home
/
lab2454c
/
spaxtac.com
/
wp-content
/
plugins
/
elementskit
/
modules
/
conditional-content
/
libs
/
controls
<?php namespace ElementsKit\Modules\Conditional_Content\Libs\Controls; use Elementor\Element_Base; use Elementor\Repeater; require_once 'trait.php'; abstract class Control_Base { use Extra; protected $PREFIX; protected $NAMESPACE = 'ElementsKit\Modules\Conditional_Content\Libs\\Controls'; protected $conditional_controls_list = [ 'login_status' => 'Login Status', 'user_role' => 'User Role', 'operating_system' => 'Operating System', 'browser' => 'Browser', 'date' => 'Date', 'day' => 'Day', 'time' => 'Time', ]; public function __construct($PREFIX) { $this->PREFIX = $PREFIX; } abstract function get_control(Element_Base $element); protected function add_repeater_controls(Element_Base $element, Repeater $repeater) { require_once 'repeater-control-base.php'; $this ->add_condition_list($repeater) ->add_conditional_operator($repeater) ->add_controls_for_repeater($repeater) ->add_repeater($element, $repeater); } protected function add_condition_list(Repeater $repeater) { $repeater->add_control( $this->PREFIX . 'conditions_list', [ 'type' => \Elementor\Controls_Manager::SELECT, 'default' => __('login_status', 'elementskit'), 'options' => $this->conditional_controls_list, 'label_block' => true, ] ); return $this; } protected function add_conditional_operator(Repeater $repeater) { $repeater->add_control($this->PREFIX . 'condition_operator', [ 'type' => \Elementor\Controls_Manager::SELECT, 'default' => __('is', 'elementskit'), 'options' => [ 'is' => 'Is', 'is_not' => 'Is Not', ], 'label_block' => true, ]); return $this; } protected function add_controls_for_repeater(Repeater $repeater) { foreach ($this->conditional_controls_list as $control_name => $control_label) { $control_file = $this ->get_control_file($control_name); if (file_exists($control_file)) { include_once $control_file; $class_name = $this ->get_class_name($control_name); if (class_exists($class_name)) (new $class_name($this->PREFIX))->get_control($repeater, $control_name); } } return $this; } protected function add_repeater(Element_Base $element, Repeater $repeater) { $element->add_control( $this->PREFIX . 'all_conditions_list', [ 'label' => __('Conditions', 'elementskit'), 'type' => \Elementor\Controls_Manager::REPEATER, 'fields' => $repeater->get_controls(), 'default' => [ [ 'ekit_conditions_list' => __('login_status', 'elementskit'), ] ], 'title_field' => '{{{ ekit_conditions_list.replace(/_/i, " ").split(" ").map(word => word.charAt(0).toUpperCase() + word.slice(1)).join(" ") }}}', 'condition' => [ $this->PREFIX . 'condition_enable' => 'yes', ], ] ); return $this; } }
[+]
..
[-] trait.php
[edit]
[-] operating-system.php
[edit]
[-] day.php
[edit]
[-] condition-relation.php
[edit]
[-] all-conditions-list.php
[edit]
[-] condition-enable.php
[edit]
[-] browser.php
[edit]
[-] repeater-control-base.php
[edit]
[-] control-base.php
[edit]
[-] user-role.php
[edit]
[-] time.php
[edit]
[-] date.php
[edit]
[-] error_log
[edit]
[-] login-status.php
[edit]