PluginProbe ʕ •ᴥ•ʔ
Essential Classy Addons for Elementor – 150+ Widgets, Templates & Performance Tools / 3.0.1
Essential Classy Addons for Elementor – 150+ Widgets, Templates & Performance Tools v3.0.1
3.0.59 trunk 1.0.0 1.0.1 1.0.2 1.0.3 1.0.4 1.0.5 2.0.0 2.0.1 2.0.2 2.0.3 2.0.4 3.0 3.0.1 3.0.10 3.0.11 3.0.12 3.0.13 3.0.14 3.0.15 3.0.16 3.0.18 3.0.2 3.0.20 3.0.21 3.0.22 3.0.23 3.0.24 3.0.25 3.0.26 3.0.27 3.0.28 3.0.29 3.0.3 3.0.30 3.0.31 3.0.32 3.0.33 3.0.34 3.0.35 3.0.36 3.0.37 3.0.38 3.0.39 3.0.4 3.0.40 3.0.41 3.0.42 3.0.43 3.0.44 3.0.45 3.0.46 3.0.47 3.0.48 3.0.49 3.0.5 3.0.50 3.0.51 3.0.52 3.0.53 3.0.54 3.0.55 3.0.56 3.0.57 3.0.58 3.0.6 3.0.7 3.0.8 3.0.9
essential-classy-addons-for-elementor / classes / widgets-passing-lists.php
essential-classy-addons-for-elementor / classes Last commit date
class-helper.php 3 years ago class-loader.php 3 years ago class-panel-options.php 3 years ago widgets-passing-lists.php 3 years ago
widgets-passing-lists.php
217 lines
1 <?php
2 namespace EcafeAddons;
3
4 if (!defined('ABSPATH')) {
5 exit;
6 } // Exit if accessed directly
7
8 if ( ! class_exists( 'ecafeWidgetsPassed' ) ) {
9
10 /**
11 * Ecafe widgets passed
12 */
13 class ecafeWidgetsPassed {
14
15 private static $instance = null;
16
17 /**
18 * Constructor
19 */
20 private function __construct() {
21 $this->init();
22 }
23
24 public function init() {
25 add_action( 'elementor/widgets/register', array($this, 'addWidgets' ) );
26 add_action( 'elementor/controls/controls_registered', array( $this, 'add_controls' ), 10 );
27 }
28
29 /**
30 * Add Controls Extensions
31 */
32 public function add_controls( $controls_manager ) {
33 $grouped_control = array(
34 'ecafe-widgets-extras' => 'Ecafe_Widgets_Extras',
35 );
36 foreach ( $grouped_control as $control_id => $class_name ) {
37 if ( $this->extensionWidgets( $control_id, true ) ) {
38 new $class_name();
39 }
40 }
41 }
42
43 /**
44 * Add widgets
45 */
46 public function addWidgets( $widgetsexEcutive ) {
47
48 $combined = array(
49 'ecafe-accordion' => '\EcafeAddons\Widgets\Ecafe_Accordion',
50 'ecafe-adv-text-block' => '\EcafeAddons\Widgets\Ecafe_Adv_Text_Block',
51 'ecafe-back-to-top' => '\EcafeAddons\Widgets\Ecafe_Back_To_Top',
52 'ecafe-business-hours' => '\EcafeAddons\Widgets\Ecafe_Business_Hours',
53 'ecafe-button' => '\EcafeAddons\Widgets\Ecafe_Button',
54 'ecafe-count-down' => '\EcafeAddons\Widgets\Ecafe_Countdown',
55 'ecafe-changelog' => '\EcafeAddons\Widgets\Ecafe_Changelog',
56 'ecafe-darkmode-styling' => '\EcafeAddons\Widgets\Ecafe_Darkmode_Styling',
57 'ecafe-dropcap' => '\EcafeAddons\Widgets\Ecafe_Dropcap',
58 'ecafe-gravity-forms' => '\EcafeAddons\Widgets\Ecafe_Gravity_Forms',
59 'ecafe-chart' => '\EcafeAddons\Widgets\Ecafe_Chart',
60 'ecafe-contact-form-7' => '\EcafeAddons\Widgets\EcafeContactForm7',
61 'ecafe-image-hover-effect' => '\EcafeAddons\Widgets\Ecafe_Image_Hover_Effect',
62 'ecafe-infobox' => '\EcafeAddons\Widgets\Ecafe_Infobox',
63 'ecafe-social-icons' => '\EcafeAddons\Widgets\Ecafe_Social_Icons',
64 'ecafe-title' => '\EcafeAddons\Widgets\Ecafe_Title',
65 'ecafe-grid-post-listing' => '\EcafeAddons\Widgets\Ecafe_Grid_Post_Listing',
66 'ecafe-hover-background' => '\EcafeAddons\Widgets\Ecafe_Hover_Background',
67 'ecafe-image-accordion' => '\EcafeAddons\Widgets\Ecafe_Image_Accordion',
68 'ecafe-lottie' => '\EcafeAddons\Widgets\Ecafe_Lottie',
69 'ecafe-marketing-link' => '\EcafeAddons\Widgets\Ecafe_Marketing_Link',
70 'ecafe-scroll-progress' => '\EcafeAddons\Widgets\Ecafe_Scroll_Progress',
71 'ecafe-service-lists' => '\EcafeAddons\Widgets\Ecafe_Service_Lists',
72 'ecafe-tabs' => '\EcafeAddons\Widgets\Ecafe_Tabs',
73 'ecafe-text-background' => '\EcafeAddons\Widgets\Ecafe_Text_Background',
74 'ecafe-image-scroll' => '\EcafeAddons\Widgets\Ecafe_Image_Scroll',
75 'ecafe-whatsapp' => '\EcafeAddons\Widgets\Ecafe_Whatsapp',
76 'ecafe-wpforms' => '\EcafeAddons\Widgets\Ecafe_Wpforms',
77 'ecafe-woocommerce-cart' => '\EcafeAddons\Widgets\Ecafe_Woocommerce_Cart',
78 'ecafe-woocommerce-checkout' => '\EcafeAddons\Widgets\Ecafe_Woocommerce_Checkout',
79 'ecafe-woocommerce-myaccount' => '\EcafeAddons\Widgets\Ecafe_Woocommerce_Myaccount',
80 'ecafe-woocommerce-ordertrack' => '\EcafeAddons\Widgets\Ecafe_Woocommerce_ordertrack',
81 'ecafe-facebook-embed' => '\EcafeAddons\Widgets\Ecafe_Facebook_Embed',
82 'ecafe-googlemap-embed' => '\EcafeAddons\Widgets\Ecafe_Googlemap_Embed',
83 'ecafe-acf-text' => '\EcafeAddons\Widgets\Ecafe_Acf_Text',
84 'ecafe-acf-text-area' => '\EcafeAddons\Widgets\Ecafe_Acf_Text_Area',
85 'ecafe-acf-wysiwyg-editor' => '\EcafeAddons\Widgets\Ecafe_Acf_Wysiwyg_Editor',
86 'ecafe-acf-url' => '\EcafeAddons\Widgets\Ecafe_Acf_Url',
87 'ecafe-acf-email' => '\EcafeAddons\Widgets\Ecafe_Acf_Email',
88 'ecafe-acf-number' => '\EcafeAddons\Widgets\Ecafe_Acf_Number',
89 'ecafe-acf-image' => '\EcafeAddons\Widgets\Ecafe_Acf_Image',
90 'ecafe-acf-date' => '\EcafeAddons\Widgets\Ecafe_Acf_Date',
91 'ecafe-acf-time' => '\EcafeAddons\Widgets\Ecafe_Acf_Time',
92 'ecafe-acf-date-time' => '\EcafeAddons\Widgets\Ecafe_Acf_Date_Time',
93 'ecafe-acf-oembed' => '\EcafeAddons\Widgets\Ecafe_Acf_Oembed',
94 'ecafe-cfs-text' => '\EcafeAddons\Widgets\Ecafe_Cfs_Text',
95 'ecafe-cfs-textarea' => '\EcafeAddons\Widgets\Ecafe_Cfs_Textarea',
96 'ecafe-cfs-wysiwyg' => '\EcafeAddons\Widgets\Ecafe_Cfs_Wysiwyg',
97 'ecafe-cfs-hyperlink' => '\EcafeAddons\Widgets\Ecafe_Cfs_Hyperlink',
98 'ecafe-cfs-date' => '\EcafeAddons\Widgets\Ecafe_Cfs_Date',
99 'ecafe-cfs-image' => '\EcafeAddons\Widgets\Ecafe_Cfs_Image',
100 'ecafe-jetengine-text' => '\EcafeAddons\Widgets\Ecafe_Jetengine_Text',
101 'ecafe-jetengine-date' => '\EcafeAddons\Widgets\Ecafe_Jetengine_Date',
102 'ecafe-jetengine-time' => '\EcafeAddons\Widgets\Ecafe_Jetengine_Time',
103 'ecafe-jetengine-datetime' => '\EcafeAddons\Widgets\Ecafe_Jetengine_Datetime',
104 'ecafe-jetengine-textarea' => '\EcafeAddons\Widgets\Ecafe_Jetengine_Textarea',
105 'ecafe-jetengine-wysiwyg' => '\EcafeAddons\Widgets\Ecafe_Jetengine_Wysiwyg',
106 'ecafe-jetengine-media' => '\EcafeAddons\Widgets\Ecafe_Jetengine_Media',
107 'ecafe-jetengine-number' => '\EcafeAddons\Widgets\Ecafe_Jetengine_Number',
108 'ecafe-metabox-text' => '\EcafeAddons\Widgets\Ecafe_Metabox_Text',
109 'ecafe-metabox-textarea' => '\EcafeAddons\Widgets\Ecafe_Metabox_Textarea',
110 'ecafe-metabox-wysiwyg' => '\EcafeAddons\Widgets\Ecafe_Metabox_Wysiwyg',
111 'ecafe-metabox-email' => '\EcafeAddons\Widgets\Ecafe_Metabox_Email',
112 'ecafe-metabox-number' => '\EcafeAddons\Widgets\Ecafe_Metabox_Number',
113 'ecafe-metabox-url' => '\EcafeAddons\Widgets\Ecafe_Metabox_Url',
114 'ecafe-metabox-imageadvanced' => '\EcafeAddons\Widgets\Ecafe_Metabox_Imageadvanced',
115 'ecafe-metabox-video' => '\EcafeAddons\Widgets\Ecafe_Metabox_Video',
116 'ecafe-metabox-date' => '\EcafeAddons\Widgets\Ecafe_Metabox_Date',
117 'ecafe-metabox-datetime' => '\EcafeAddons\Widgets\Ecafe_Metabox_Datetime',
118 'ecafe-metabox-time' => '\EcafeAddons\Widgets\Ecafe_Metabox_Time',
119 'ecafe-pods-plaintext' => '\EcafeAddons\Widgets\Ecafe_Pods_Plaintext',
120 'ecafe-pods-website' => '\EcafeAddons\Widgets\Ecafe_Pods_Website',
121 'ecafe-pods-phone' => '\EcafeAddons\Widgets\Ecafe_Pods_Phone',
122 'ecafe-pods-email' => '\EcafeAddons\Widgets\Ecafe_Pods_Email',
123 'ecafe-pods-plain-paragraph-text' => '\EcafeAddons\Widgets\Ecafe_Pods_Plain_Paragraph_Text',
124 'ecafe-pods-wysywyg' => '\EcafeAddons\Widgets\Ecafe_Pods_Wysywyg',
125 'ecafe-pods-date-time' => '\EcafeAddons\Widgets\Ecafe_Pods_Datetime',
126 'ecafe-pods-date' => '\EcafeAddons\Widgets\Ecafe_Pods_Date',
127 'ecafe-pods-time' => '\EcafeAddons\Widgets\Ecafe_Pods_Time',
128 'ecafe-pods-plain-number' => '\EcafeAddons\Widgets\Ecafe_Pods_Plainnumber',
129 'ecafe-pods-currency' => '\EcafeAddons\Widgets\Ecafe_Pods_Currency',
130 'ecafe-pods-image' => '\EcafeAddons\Widgets\Ecafe_Pods_Image',
131 'ecafe-pods-video' => '\EcafeAddons\Widgets\Ecafe_Pods_Video',
132 'ecafe-pods-oembed' => '\EcafeAddons\Widgets\Ecafe_Pods_Oembed',
133 'ecafe-toolset-single-line' => '\EcafeAddons\Widgets\Ecafe_Toolset_Singleline',
134 'ecafe-toolset-multiple-lines' => '\EcafeAddons\Widgets\Ecafe_Toolset_Multiplelines',
135 'ecafe-toolset-wysiwyg' => '\EcafeAddons\Widgets\Ecafe_Toolset_Wysiwyg',
136 'ecafe-toolset-image' => '\EcafeAddons\Widgets\Ecafe_Toolset_Image',
137 'ecafe-toolset-video' => '\EcafeAddons\Widgets\Ecafe_Toolset_Video',
138 'ecafe-toolset-embedded-media' => '\EcafeAddons\Widgets\Ecafe_Toolset_Embeddedmedia',
139 'ecafe-toolset-email' => '\EcafeAddons\Widgets\Ecafe_Toolset_Email',
140 'ecafe-toolset-url' => '\EcafeAddons\Widgets\Ecafe_Toolset_Url',
141 'ecafe-toolset-number' => '\EcafeAddons\Widgets\Ecafe_Toolset_Number',
142 'ecafe-toolset-phone' => '\EcafeAddons\Widgets\Ecafe_Toolset_Phone',
143 'ecafe-toolset-skype' => '\EcafeAddons\Widgets\Ecafe_Toolset_Skype',
144 'ecafe-toolset-date' => '\EcafeAddons\Widgets\Ecafe_Toolset_Date',
145 'ecafe-wck-text' => '\EcafeAddons\Widgets\Ecafe_Wck_Text',
146 'ecafe-wck-textarea' => '\EcafeAddons\Widgets\Ecafe_Wck_Textarea',
147 'ecafe-wck-wysiwyg-editor' => '\EcafeAddons\Widgets\Ecafe_Wck_Wysiwygeditor',
148 'ecafe-wck-currency-select' => '\EcafeAddons\Widgets\Ecafe_Wck_Currencyselect',
149 'ecafe-wck-phone' => '\EcafeAddons\Widgets\Ecafe_Wck_Phone',
150 'ecafe-wck-timepicker' => '\EcafeAddons\Widgets\Ecafe_Wck_Timepicker',
151 'ecafe-wck-number' => '\EcafeAddons\Widgets\Ecafe_Wck_Number',
152 'ecafe-wck-upload-image' => '\EcafeAddons\Widgets\Ecafe_Wck_Uploadimage',
153 'ecafe-wck-upload-video' => '\EcafeAddons\Widgets\Ecafe_Wck_Uploadvideo',
154 );
155
156 $optionFetch=\EcafeHelper::ecafeGetOption('general','widgetsload');
157 if(!empty($optionFetch)){
158 array_push($optionFetch, "ecafe-widgets");
159 foreach ( $combined as $widgetId => $className ) {
160 if(in_array($widgetId,$optionFetch)){
161 if ( $this->carryWidgets( $widgetId, true ) ) {
162 $widgetsexEcutive->register( new $className() );
163 }
164 }
165 }
166 }
167 }
168
169 /**
170 * Carry widgets
171 */
172 public function carryWidgets( $widgetId, $combined = false ) {
173
174 $filename = sprintf('element/widgets/'.$widgetId.'.php');
175
176 if ( ! file_exists( ECAFE_PATH.$filename ) ) {
177 return false;
178 }
179
180 require ECAFE_PATH.$filename;
181
182 return true;
183 }
184
185 /**
186 * Extension Includes
187 */
188 public function extensionWidgets( $widgetId, $combined = false ) {
189
190 $filename = sprintf('element/extension/'.$widgetId.'.php');
191
192 if ( ! file_exists( ECAFE_PATH.$filename ) ) {
193 return false;
194 }
195
196 require ECAFE_PATH.$filename;
197
198 return true;
199 }
200
201 /**
202 * Instance fetch
203 */
204 public static function instanceFetch( $handlers = array() ) {
205
206 if ( null == self::$instance ) {
207 self::$instance = new self( $handlers );
208 }
209 return self::$instance;
210 }
211 }
212
213 }
214
215 function ecafeWidgetsPassed() {
216 return ecafeWidgetsPassed::instanceFetch();
217 }