PluginProbe ʕ •ᴥ•ʔ
Spider Elements – Premium Elementor Widgets & Addons Library / 1.7.0
Spider Elements – Premium Elementor Widgets & Addons Library v1.7.0
trunk 1.0.0 1.1.0 1.5.0 1.6.0 1.6.1 1.6.2 1.6.3 1.6.4 1.6.5 1.6.6 1.6.7 1.7.0 1.8.0 1.9.0
spider-elements / includes / Admin / dashboard / elements.php
spider-elements / includes / Admin / dashboard Last commit date
elements.php 6 months ago features.php 6 months ago integration.php 6 months ago popup-pro.php 6 months ago sidebar.php 6 months ago welcome.php 6 months ago
elements.php
134 lines
1 <?php
2 if ( ! defined( 'ABSPATH' ) ) {
3 exit; // Exit if accessed directly
4 }
5
6 use SPEL\includes\Admin\Module_Settings;
7
8 // Global switcher
9 $elements = Module_Settings::get_widget_settings();
10 $element_opt = get_option( 'spe_widget_settings' );
11 $checked_global = ( ! isset( $element_opt['element_global_switcher'] ) || $element_opt['element_global_switcher'] === 'on' ) ? ' checked' : '';
12 $docy_widget_list = [ 'docly_cheatsheet', 'spel_videos_playlist', 'docy_tabs', 'docly_alerts_box' ];
13 ?>
14 <div id="elements" class="tab-box">
15 <div class="elements_tab_menu">
16 <div class="tab_contents">
17 <div class="icon">
18 <i class="icon-element"></i>
19 </div>
20 <div class="content">
21 <h3><?php esc_html_e( 'Elements', 'spider-elements' ); ?></h3>
22 </div>
23 </div>
24 <div class="menu_right_content">
25 <div class="plugin_active_switcher">
26 <label class="toggler" id="element_disabled"><?php esc_html_e( 'Disable All', 'spider-elements' ); ?></label>
27 <div class="toggle">
28 <input type="checkbox" data-id="widget-list" id="element_switcher" name="element_global_switcher"
29 class="check element_global_switcher" <?php echo esc_attr( $checked_global ) ?>>
30 <label class="b switch" for="element_switcher"></label>
31 </div>
32 <label class="toggler" id="element_enabled"><?php esc_html_e( 'Enabled All', 'spider-elements' ); ?></label>
33 </div>
34 <button type="submit" name="elements-submit" id="elements-submit" class="dashboard_btn save_btn">
35 <?php esc_html_e( 'Save Changes', 'spider-elements' ); ?>
36 </button>
37 <?php wp_nonce_field( 'spel_elements_nonce', 'spel_elements_nonce' ); ?>
38 </div>
39 </div>
40
41 <div class="elements_tab" id="elements_filter">
42 <div class="filter_data active" data-filter="*">
43 <i class="icon-star"></i><?php esc_html_e( 'All', 'spider-elements' ); ?>
44 </div>
45 <div class="filter_data" data-filter=".free">
46 <i class="icon-gift"></i><?php esc_html_e( 'Free', 'spider-elements' ); ?>
47 </div>
48 <div class="filter_data" data-filter=".pro">
49 <i class="icon-premium"></i><?php esc_html_e( 'Pro', 'spider-elements' ); ?>
50 </div>
51 </div>
52
53 <div class="filter_content ezd-d-flex" id="elements_list">
54 <?php
55 if ( is_array( $elements['spider_elements_widgets'] ) ) {
56 foreach ( $elements['spider_elements_widgets'] as $item ) {
57
58 $widget_type = $item['widget_type'] ?? '';
59 $widget_name = $item['name'] ?? '';
60 $is_pro = $widget_type === 'pro';
61
62 $is_locked = $is_pro && ! spel_is_premium() && ! ( spel_unlock_docy_theme() && in_array( $widget_name, $docy_widget_list, true ) );
63 $is_pro_widget_class = $is_locked ? ' pro_popup' : '';
64 $is_pro_widget_attr = $is_locked ? ' disabled' : '';
65
66 // By default, only free widgets are checked
67 if ( $is_locked ) {
68 // Pro widget: unchecked by default
69 $widget_checked = ! isset( $element_opt[ $widget_name ] ) ? '' : ( $element_opt[ $widget_name ] === 'on' ? ' checked' : '' );
70 } else {
71 // Free widget or unlocked pro: checked by default
72 $widget_checked = ! isset( $element_opt[ $widget_name ] ) || $element_opt[ $widget_name ] === 'on' ? ' checked' : '';
73 }
74 ?>
75 <div class="ezd-colum-space-4 <?php echo esc_attr( $item['widget_type'] ) ?>">
76 <div class="element_box element_switch badge">
77 <div class="element_content">
78 <?php
79 if ( ! empty( $item['icon'] ) ) { ?>
80 <i class="<?php echo esc_attr( $item['icon'] ) ?>"></i>
81 <?php
82 }
83 if ( ! empty( $item['label'] ) ) { ?>
84 <label for="<?php echo esc_attr( $item['name'] ) ?>"><?php echo esc_html( $item['label'] ) ?></label>
85 <?php
86 }
87 ?>
88 </div>
89 <div class="element_right">
90 <?php
91 if ( ! empty( $item['label'] ) ) {
92 ?>
93 <div class="link">
94 <?php
95 if ( ! empty( $item['demo_url'] ) ) {
96 ?>
97 <a href="<?php echo esc_url( $item['demo_url'] ) ?>" class="tooltip-top" data-tooltip="<?php echo esc_attr( sprintf( __( 'View %s Widget Demo', 'spider-elements' ), $item['label'] ) ); ?>" target="_blank">
98 <img src="<?php echo esc_url( SPEL_IMG . '/dashboard/icon-demo.svg' ) ?>" alt="<?php esc_attr_e( 'Widget Demo', 'spider-elements' ); ?>">
99 </a>
100 <?php
101 }
102 if ( ! empty( $item['video_url'] ) ) {
103 ?>
104 <a href="<?php echo esc_url( $item['video_url'] ) ?>" class="tooltip-top" data-tooltip="<?php echo esc_attr( sprintf( __( 'View %s Video Tutorial', 'spider-elements' ), $item['label'] ) ); ?>" target="_blank">
105 <img src="<?php echo esc_url( SPEL_IMG . '/dashboard/icon-video.svg' ) ?>" alt="<?php esc_attr_e( 'Video Tutorial', 'spider-elements' ); ?>">
106 </a>
107 <?php
108 }
109 if ( ! empty( $item['docs_url'] ) ) {
110 ?>
111 <a href="<?php echo esc_url( $item['docs_url'] ) ?>" class="tooltip-top" data-tooltip="<?php echo esc_attr( sprintf( __( 'View %s Documentation', 'spider-elements' ), $item['label'] ) ) ?>" target="_blank">
112 <img src="<?php echo esc_url( SPEL_IMG . '/dashboard/icon-document.svg' ) ?>" alt="<?php esc_attr_e( 'Documentation', 'spider-elements' ); ?>">
113 </a>
114 <?php
115 }
116 ?>
117 </div>
118 <?php
119 }
120 ?>
121 <label for="<?php echo esc_attr( $item['name'] ) ?>" class="switch_label<?php echo esc_attr( $is_pro_widget_class ) ?>">
122 <input type="checkbox" class="widget_checkbox widget-list" name="<?php echo esc_attr( $item['name'] ) ?>"
123 id="<?php echo esc_attr( $item['name'] ) ?>" <?php echo esc_attr( $widget_checked . $is_pro_widget_attr ); ?>>
124 <span class="widget_switcher"></span>
125 </label>
126 </div>
127 </div>
128 </div>
129 <?php
130 }
131 }
132 ?>
133 </div>
134 </div>