PluginProbe ʕ •ᴥ•ʔ
Premium Addons for Elementor – Powerful Elementor Templates & Widgets / 3.8.0
Premium Addons for Elementor – Powerful Elementor Templates & Widgets v3.8.0
4.11.79 4.11.78 4.11.77 4.11.76 4.11.75 3.20.5 4.11.69 3.20.6 4.11.7 3.20.7 4.11.70 3.20.8 4.11.71 3.20.9 4.11.72 3.21.1 4.11.73 3.21.2 4.11.74 3.21.3 4.11.8 3.21.4 4.11.9 3.21.5 4.2.0 3.21.6 4.2.1 3.3.0 4.2.2 3.3.1 4.2.3 3.3.2 4.2.4 3.3.3 4.2.5 3.3.4 4.2.6 3.3.5 4.2.7 3.3.6 4.2.8 3.3.7 4.2.9 3.3.8 4.3.0 3.3.9 4.3.1 3.4.0 4.3.2 3.4.1 4.3.3 3.4.2 4.3.4 3.4.3 4.3.5 3.4.4 4.3.6 3.4.5 4.3.7 3.4.6 4.3.8 3.4.7 4.3.9 3.4.8 4.4.0 3.4.9 4.4.1 3.5.0 4.4.2 3.5.1 4.4.3 3.5.2 4.4.4 3.5.3 4.4.5 3.5.4 4.4.6 3.5.5 4.4.7 3.5.6 4.4.8 3.5.7 4.4.9 3.5.8 4.5.0 3.5.9 4.5.1 3.6.0 4.5.2 3.6.1 4.5.3 3.6.2 4.5.4 3.6.3 4.5.5 3.6.4 4.5.6 3.6.5 4.5.7 3.6.6 4.5.8 3.6.7 4.5.9 3.6.8 4.6.0 3.6.9 4.6.1 3.7.0 4.7.0 3.7.1 4.7.1 3.7.2 4.7.2 3.7.3 4.7.3 3.7.4 4.7.4 3.7.5 4.7.5 3.7.6 4.7.6 3.7.7 4.7.7 3.7.8 4.7.8 3.7.9 4.7.9 3.8.0 4.8.0 3.8.1 4.8.1 3.8.2 4.8.10 3.8.3 4.8.11 3.8.4 4.8.2 3.8.5 4.8.3 3.8.6 4.8.4 3.8.7 4.8.5 3.8.8 4.8.6 3.8.9 4.8.7 3.9.0 4.8.8 3.9.1 4.8.9 3.9.2 4.9.0 3.9.3 4.9.0-beta1 3.9.4 4.9.0-beta2 3.9.5 4.9.1 3.9.6 4.9.10 3.9.7 4.9.11 3.9.8 4.9.12 3.9.9 4.9.13 4.0.1 4.9.14 4.0.3 4.9.15 4.0.4 4.9.16 4.0.5 4.9.17 4.0.6 4.9.18 4.0.7 4.9.19 4.0.8 4.9.2 4.0.9 4.9.20 4.1.0 4.9.21 4.1.1 4.9.22 4.1.2 4.9.23 4.1.3 4.9.24 trunk 4.1.4 4.9.25 1.0 4.1.5 4.9.26 1.01 4.1.6 4.9.27 1.02 4.1.7 4.9.28 1.03 4.1.8 4.9.29 1.04 4.1.9 4.9.3 1.05 4.10.0 4.9.30 1.06 4.10.1 4.9.31 1.07 4.10.10 4.9.32 1.08 4.10.11 4.9.33 1.09 4.10.12 4.9.34 2.0 4.10.13 4.9.35 2.0.1 4.10.14 4.9.36 2.0.2 4.10.15 4.9.37 2.0.3 4.10.16 4.9.38 2.0.4 4.10.17 4.9.39 2.0.5 4.10.18 4.9.4 2.0.6 4.10.19 4.9.40 2.0.7 4.10.2 4.9.41 2.0.8 4.10.20 4.9.42 2.0.9 4.10.21 4.9.43 2.1.0 4.10.22 4.9.45 2.1.1 4.10.23 4.9.46 2.1.2 4.10.24 4.9.47 2.1.3 4.10.25 4.9.48 2.1.4 4.10.26 4.9.49 2.1.5 4.10.27 4.9.5 2.1.5-beta1 4.10.28 4.9.50 2.1.6 4.10.29 4.9.51 2.1.7 4.10.3 4.9.52 2.1.8 4.10.30 4.9.53 2.1.9 4.10.31 4.9.54 2.2.0 4.10.32 4.9.55 2.2.1 4.10.33 4.9.56 2.2.2 4.10.34 4.9.57 2.2.3 4.10.35 4.9.6 2.2.4 4.10.36 4.9.7 2.2.5 4.10.37 4.9.8 2.2.6 4.10.38 4.9.9 2.2.7 4.10.39 2.2.8 4.10.4 2.2.9 4.10.40 2.3.0 4.10.41 2.3.1 4.10.42 2.3.2 4.10.43 2.3.3 4.10.44 2.3.4 4.10.45 2.3.5 4.10.46 2.3.6 4.10.47 2.3.7 4.10.48 2.3.8 4.10.49 2.3.9 4.10.5 2.4.0 4.10.50 2.4.1 4.10.51 2.5.0 4.10.52 2.5.1 4.10.53 2.5.2 4.10.54 2.5.3 4.10.55 2.5.4 4.10.56 2.5.5 4.10.57 2.5.6 4.10.58 2.5.7 4.10.59 2.5.8 4.10.6 2.5.9 4.10.60 2.6.0 4.10.61 2.6.1 4.10.62 2.6.2 4.10.63 2.6.3 4.10.64 2.6.4 4.10.65 2.6.5 4.10.66 2.6.6 4.10.67 2.6.7 4.10.68 2.6.8 4.10.69 2.6.9 4.10.7 2.7.0 4.10.70 2.7.1 4.10.71 2.7.2 4.10.72 2.7.3 4.10.73 2.7.4 4.10.74 2.7.5 4.10.75 2.7.6 4.10.76 2.7.7 4.10.77 2.7.8 4.10.78 2.7.9 4.10.79 2.8.0 4.10.8 2.8.1 4.10.80 2.8.2 4.10.81 2.8.3 4.10.82 2.8.4 4.10.83 2.8.5 4.10.84 2.8.6 4.10.85 2.8.7 4.10.86 2.8.8 4.10.87 2.8.9 4.10.88 2.9.0 4.10.89 2.9.1 4.10.9 2.9.2 4.10.90 2.9.3 4.11.0 2.9.4 4.11.1 2.9.5 4.11.10 2.9.6 4.11.11 2.9.7 4.11.12 2.9.8 4.11.13 2.9.9 4.11.14 3.0.0 4.11.15 3.0.1 4.11.16 3.0.2 4.11.17 3.0.3 4.11.18 3.0.4 4.11.19 3.0.5 4.11.2 3.0.6 4.11.20 3.0.7 4.11.21 3.0.8 4.11.22 3.0.9 4.11.23 3.1.0 4.11.24 3.1.1 4.11.25 3.1.2 4.11.26 3.1.3 4.11.27 3.1.4 4.11.28 3.1.5 4.11.29 3.1.6 4.11.3 3.1.7 4.11.30 3.1.8 4.11.31 3.1.9 4.11.32 3.10.0 4.11.33 3.10.1 4.11.34 3.10.2 4.11.35 3.10.3 4.11.36 3.10.4 4.11.37 3.10.5 4.11.38 3.10.6 4.11.39 3.10.7 4.11.4 3.10.8 4.11.40 3.10.9 4.11.41 3.11.0 4.11.42 3.11.1 4.11.43 3.11.2 4.11.44 3.11.3 4.11.45 3.11.4 4.11.46 3.11.5 4.11.47 3.11.6 4.11.48 3.11.7 4.11.49 3.11.8 4.11.5 3.11.9 4.11.50 3.12.0 4.11.51 3.12.1 4.11.52 3.12.2 4.11.53 3.12.3 4.11.54 3.2.0 4.11.55 3.2.1 4.11.56 3.2.2 4.11.57 3.2.3 4.11.58 3.2.4 4.11.59 3.2.5 4.11.6 3.2.6 4.11.60 3.2.7 4.11.61 3.2.8 4.11.62 3.2.9 4.11.63 3.20.0 4.11.64 3.20.1 4.11.65 3.20.2 4.11.66 3.20.3 4.11.67 3.20.4 4.11.68
premium-addons-for-elementor / includes / class-addons-integration.php
premium-addons-for-elementor / includes Last commit date
compatibility 6 years ago templates 6 years ago class-addons-category.php 6 years ago class-addons-integration.php 6 years ago class-beta-testers.php 6 years ago class-helper-functions.php 6 years ago elementor-helper.php 6 years ago plugin.php 6 years ago
class-addons-integration.php
420 lines
1 <?php
2
3 namespace PremiumAddons;
4
5 use PremiumAddons\Admin\Settings\Maps;
6 use PremiumAddons\Admin\Settings\Modules_Settings;
7
8 if( ! defined( 'ABSPATH' ) ) exit();
9
10 class Addons_Integration {
11
12 //Class instance
13 private static $instance = null;
14
15 //Modules Keys
16 private static $modules = null;
17
18 //`premium_Template_Tags` Instance
19 protected $templateInstance;
20
21
22 //Maps Keys
23 private static $maps = null;
24
25
26 /**
27 * Initialize integration hooks
28 *
29 * @return void
30 */
31 public function __construct() {
32
33 self::$modules = Modules_Settings::get_enabled_keys();
34
35 self::$maps = Maps::get_enabled_keys();
36
37 $this->templateInstance = Includes\premium_Template_Tags::getInstance();
38
39 add_action( 'elementor/editor/before_enqueue_styles', array( $this, 'premium_font_setup' ) );
40
41 add_action( 'elementor/widgets/widgets_registered', array( $this, 'widgets_area' ) );
42
43 add_action( 'elementor/editor/before_enqueue_scripts', array( $this,'enqueue_editor_scripts') );
44
45 add_action( 'elementor/preview/enqueue_styles', array( $this, 'enqueue_preview_styles' ) );
46
47 add_action( 'elementor/frontend/after_register_styles', array( $this, 'register_frontend_styles' ) );
48
49 add_action( 'elementor/frontend/after_register_scripts', array( $this, 'register_frontend_scripts' ) );
50
51 add_action( 'wp_ajax_get_elementor_template_content', array( $this, 'get_template_content' ) );
52
53 }
54
55 /**
56 * Loads plugin icons font
57 * @since 1.0.0
58 * @access public
59 * @return void
60 */
61 public function premium_font_setup() {
62
63 wp_enqueue_style(
64 'premium-addons-font',
65 PREMIUM_ADDONS_URL . 'assets/editor/css/style.css',
66 array(),
67 PREMIUM_ADDONS_VERSION
68 );
69
70 $badge_text = \PremiumAddons\Helper_Functions::get_badge();
71
72 $dynamic_css = sprintf( '[class^="pa-"]::after, [class*=" pa-"]::after { content: "%s"; }', $badge_text ) ;
73
74 wp_add_inline_style( 'premium-addons-font', $dynamic_css );
75
76 }
77
78 /**
79 * Register Frontend CSS files
80 * @since 2.9.0
81 * @access public
82 */
83 public function register_frontend_styles() {
84
85 wp_register_style(
86 'pa-prettyphoto',
87 PREMIUM_ADDONS_URL . 'assets/frontend/css/prettyphoto.css',
88 array(),
89 PREMIUM_ADDONS_VERSION,
90 'all'
91 );
92
93 wp_register_style(
94 'premium-addons',
95 PREMIUM_ADDONS_URL . 'assets/frontend/css/premium-addons.css',
96 array(),
97 PREMIUM_ADDONS_VERSION,
98 'all'
99 );
100
101 }
102
103 /**
104 * Enqueue Preview CSS files
105 *
106 * @since 2.9.0
107 * @access public
108 *
109 */
110 public function enqueue_preview_styles() {
111
112 wp_enqueue_style('pa-prettyphoto');
113
114 wp_enqueue_style('premium-addons');
115
116 }
117
118 /**
119 * Load widgets require function
120 *
121 * @since 1.0.0
122 * @access public
123 *
124 */
125 public function widgets_area() {
126 $this->widgets_register();
127 }
128
129 /**
130 * Requires widgets files
131 *
132 * @since 1.0.0
133 * @access private
134 */
135 private function widgets_register() {
136
137 $check_component_active = self::$modules;
138
139 foreach ( glob( PREMIUM_ADDONS_PATH . 'widgets/' . '*.php' ) as $file ) {
140
141 $slug = basename( $file, '.php' );
142
143 $enabled = isset( $check_component_active[ $slug ] ) ? $check_component_active[ $slug ] : '';
144
145 if ( filter_var( $enabled, FILTER_VALIDATE_BOOLEAN ) || ! $check_component_active ) {
146 $this->register_addon( $file );
147 }
148 }
149
150 }
151
152 /**
153 * Registers required JS files
154 *
155 * @since 1.0.0
156 * @access public
157 */
158 public function register_frontend_scripts() {
159
160 $maps_settings = self::$maps;
161
162 $locale = isset ( $maps_settings['premium-map-locale'] ) ? $maps_settings['premium-map-locale'] : "en";
163
164 wp_register_script(
165 'premium-addons-js',
166 PREMIUM_ADDONS_URL . 'assets/frontend/js/premium-addons.js',
167 array('jquery'),
168 PREMIUM_ADDONS_VERSION,
169 true
170 );
171
172 $data = array(
173 'ajaxurl' => esc_url( admin_url( 'admin-ajax.php' ) )
174 );
175
176 wp_localize_script( 'premium-addons-js', 'PremiumSettings', $data );
177
178 wp_register_script(
179 'prettyPhoto-js',
180 PREMIUM_ADDONS_URL . 'assets/frontend/js/lib/prettyPhoto.js',
181 array('jquery'),
182 PREMIUM_ADDONS_VERSION,
183 true
184 );
185
186 wp_register_script(
187 'vticker-js',
188 PREMIUM_ADDONS_URL . 'assets/frontend/js/lib/Vticker.js',
189 array('jquery'),
190 PREMIUM_ADDONS_VERSION,
191 true
192 );
193 wp_register_script(
194 'typed-js',
195 PREMIUM_ADDONS_URL . 'assets/frontend/js/lib/typedmin.js',
196 array('jquery'),
197 PREMIUM_ADDONS_VERSION,
198 true
199 );
200
201 wp_register_script(
202 'count-down-timer-js',
203 PREMIUM_ADDONS_URL . 'assets/frontend/js/lib/jquerycountdown.js',
204 array('jquery'),
205 PREMIUM_ADDONS_VERSION,
206 true
207 );
208
209 wp_register_script(
210 'isotope-js',
211 PREMIUM_ADDONS_URL . 'assets/frontend/js/lib/isotope.js',
212 array('jquery'),
213 PREMIUM_ADDONS_VERSION,
214 true
215 );
216
217 wp_register_script(
218 'modal-js',
219 PREMIUM_ADDONS_URL . 'assets/frontend/js/lib/modal.js',
220 array('jquery'),
221 PREMIUM_ADDONS_VERSION,
222 true
223 );
224
225 if( $maps_settings['premium-map-cluster'] ) {
226 wp_register_script(
227 'google-maps-cluster',
228 'https://developers.google.com/maps/documentation/javascript/examples/markerclusterer/markerclusterer.js',
229 array(),
230 PREMIUM_ADDONS_VERSION,
231 false
232 );
233 }
234
235 if( $maps_settings['premium-map-disable-api'] && '1' != $maps_settings['premium-map-api'] ) {
236 $api = sprintf ( 'https://maps.googleapis.com/maps/api/js?key=%1$s&language=%2$s', $maps_settings['premium-map-api'], $locale );
237 wp_register_script(
238 'premium-maps-api-js',
239 $api,
240 array(),
241 PREMIUM_ADDONS_VERSION,
242 false
243 );
244 }
245
246 wp_register_script(
247 'premium-maps-js',
248 PREMIUM_ADDONS_URL . 'assets/frontend/js/premium-maps.js',
249 array( 'jquery', 'premium-maps-api-js' ),
250 PREMIUM_ADDONS_VERSION,
251 true
252 );
253
254 wp_register_script(
255 'vscroll-js',
256 PREMIUM_ADDONS_URL . 'assets/frontend/js/premium-vscroll.js',
257 array('jquery'),
258 PREMIUM_ADDONS_VERSION,
259 true
260 );
261
262 wp_register_script(
263 'slimscroll-js',
264 PREMIUM_ADDONS_URL . 'assets/frontend/js/lib/jquery.slimscroll.js',
265 array('jquery'),
266 PREMIUM_ADDONS_VERSION,
267 true
268 );
269
270 wp_register_script(
271 'iscroll-js',
272 PREMIUM_ADDONS_URL . 'assets/frontend/js/lib/iscroll.js',
273 array('jquery'),
274 PREMIUM_ADDONS_VERSION,
275 true
276 );
277
278 }
279
280 /*
281 * Enqueue editor scripts
282 *
283 * @since 3.2.5
284 * @access public
285 */
286 public function enqueue_editor_scripts() {
287
288 $map_enabled = isset( self::$modules['premium-maps'] ) ? self::$modules['premium-maps'] : 1;
289
290 if( $map_enabled ) {
291
292 $premium_maps_api = self::$maps['premium-map-api'];
293
294 $locale = isset ( self::$maps['premium-map-locale'] ) ? self::$maps['premium-map-locale'] : "en";
295
296 $premium_maps_disable_api = self::$maps['premium-map-disable-api'];
297
298 if ( $premium_maps_disable_api && '1' != $premium_maps_api ) {
299 $api = sprintf ( 'https://maps.googleapis.com/maps/api/js?key=%1$s&language=%2$s', $premium_maps_api, $locale );
300 wp_enqueue_script(
301 'premium-maps-api-js',
302 $api,
303 array(),
304 PREMIUM_ADDONS_VERSION,
305 false
306 );
307
308 }
309
310 wp_enqueue_script(
311 'premium-maps-address',
312 PREMIUM_ADDONS_URL . 'assets/editor/js/premium-maps-address.js',
313 array( 'jquery' ),
314 PREMIUM_ADDONS_VERSION,
315 true
316 );
317
318 }
319
320 }
321
322 /*
323 * Get Template Content
324 *
325 * Get Elementor template HTML content.
326 *
327 * @since 3.2.6
328 * @access public
329 *
330 */
331 public function get_template_content() {
332
333 $template = $_GET['templateID'];
334
335 if( ! isset( $template ) ) {
336 return;
337 }
338
339 $template_content = $this->templateInstance->get_template_content( $template );
340
341 if ( empty ( $template_content ) || ! isset( $template_content ) ) {
342 wp_send_json_error();
343 }
344
345 $data = array(
346 'template_content' => $template_content
347 );
348
349 wp_send_json_success( $data );
350
351 }
352
353 /**
354 *
355 * Register addon by file name.
356 *
357 * @access public
358 *
359 * @param string $file File name.
360 * @param object $widgets_manager Widgets manager instance.
361 *
362 * @return void
363 */
364 public function register_addon( $file ) {
365
366 $widget_manager = \Elementor\Plugin::instance()->widgets_manager;
367
368 $base = basename( str_replace( '.php', '', $file ) );
369 $class = ucwords( str_replace( '-', ' ', $base ) );
370 $class = str_replace( ' ', '_', $class );
371 $class = sprintf( 'PremiumAddons\Widgets\%s', $class );
372
373 if( 'PremiumAddons\Widgets\Premium_Contactform' != $class ) {
374 require $file;
375 } else {
376 if( function_exists('wpcf7') ) {
377 require $file;
378 }
379 }
380
381 if ( 'PremiumAddons\Widgets\Premium_Blog' == $class ) {
382 require_once ( PREMIUM_ADDONS_PATH . 'widgets/dep/queries.php' );
383 }
384
385 if ( class_exists( $class ) ) {
386 $widget_manager->register_widget_type( new $class );
387 }
388 }
389
390 /**
391 *
392 * Creates and returns an instance of the class
393 *
394 * @since 1.0.0
395 * @access public
396 *
397 * @return object
398 *
399 */
400 public static function get_instance() {
401 if( self::$instance == null ) {
402 self::$instance = new self;
403 }
404 return self::$instance;
405 }
406 }
407
408
409 if ( ! function_exists( 'premium_addons_integration' ) ) {
410
411 /**
412 * Returns an instance of the plugin class.
413 * @since 1.0.0
414 * @return object
415 */
416 function premium_addons_integration() {
417 return Addons_Integration::get_instance();
418 }
419 }
420 premium_addons_integration();