PluginProbe ʕ •ᴥ•ʔ
Spider Elements – Premium Elementor Widgets & Addons Library / 1.6.5
Spider Elements – Premium Elementor Widgets & Addons Library v1.6.5
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 1 year ago features.php 1 year ago integration.php 1 year ago popup-pro.php 1 year ago sidebar.php 1 year ago welcome.php 1 year ago
elements.php
142 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 </div>
38 </div>
39
40 <div class="elements_tab" id="elements_filter">
41 <div class="filter_data active" data-filter="*">
42 <i class="icon-star"></i><?php esc_html_e( 'All', 'spider-elements' ); ?>
43 </div>
44 <div class="filter_data" data-filter=".free">
45 <i class="icon-gift"></i><?php esc_html_e( 'Free', 'spider-elements' ); ?>
46 </div>
47 <div class="filter_data" data-filter=".pro">
48 <i class="icon-premium"></i><?php esc_html_e( 'Pro', 'spider-elements' ); ?>
49 </div>
50 </div>
51
52 <div class="filter_content ezd-d-flex" id="elements_list">
53 <?php
54 if ( is_array( $elements['spider_elements_widgets'] ) ) {
55 foreach ( $elements['spider_elements_widgets'] as $item ) {
56
57 $widget_type = $item['widget_type'] ?? '';
58 $widget_name = $item['name'] ?? '';
59 $is_pro = $widget_type === 'pro';
60
61 $is_locked = $is_pro && ! spel_is_premium() && ! ( spel_unlock_docy_theme() && in_array( $widget_name, $docy_widget_list, true ) );
62 $is_pro_widget_class = $is_locked ? ' pro_popup' : '';
63 $is_pro_widget_attr = $is_locked ? ' disabled' : '';
64
65 // By default, only free widgets are checked
66 if ( $is_locked ) {
67 // Pro widget: unchecked by default
68 $widget_checked = ! isset( $element_opt[ $widget_name ] ) ? '' : ( $element_opt[ $widget_name ] === 'on' ? ' checked' : '' );
69 } else {
70 // Free widget or unlocked pro: checked by default
71 $widget_checked = ! isset( $element_opt[ $widget_name ] ) || $element_opt[ $widget_name ] === 'on' ? ' checked' : '';
72 }
73 ?>
74 <div class="ezd-colum-space-4 <?php echo esc_attr( $item['widget_type'] ) ?>">
75 <div class="element_box element_switch badge">
76 <div class="element_content">
77 <?php
78 if ( ! empty( $item['icon'] ) ) { ?>
79 <i class="<?php echo esc_attr( $item['icon'] ) ?>"></i>
80 <?php
81 }
82 if ( ! empty( $item['label'] ) ) { ?>
83 <label for="<?php echo esc_attr( $item['name'] ) ?>"><?php echo esc_html( $item['label'] ) ?></label>
84 <?php
85 }
86 ?>
87 </div>
88 <div class="element_right">
89 <?php
90 if ( ! empty( $item['label'] ) ) {
91 ?>
92 <div class="link">
93 <?php
94 if ( ! empty( $item['demo_url'] ) ) {
95 ?>
96 <a href="<?php echo esc_url( $item['demo_url'] ) ?>" class="tooltip-top"
97 data-tooltip="<?php echo sprintf( esc_attr__( 'View %s Widget Demo', 'spider-elements' ), $item['label'] ) ?>"
98 target="_blank">
99 <img src="<?php echo esc_url( SPEL_IMG . '/dashboard/icon-demo.svg' ) ?>"
100 alt="<?php esc_attr_e( 'Widget Demo', 'spider-elements' ); ?>">
101 </a>
102 <?php
103 }
104 if ( ! empty( $item['video_url'] ) ) {
105 ?>
106 <a href="<?php echo esc_url( $item['video_url'] ) ?>" class="tooltip-top"
107 data-tooltip="<?php echo sprintf( esc_attr__( 'View %s Video Tutorial', 'spider-elements' ), $item['label'] ) ?>"
108 target="_blank">
109 <img src="<?php echo esc_url( SPEL_IMG . '/dashboard/icon-video.svg' ) ?>"
110 alt="<?php esc_attr_e( 'Video Tutorial', 'spider-elements' ); ?>">
111 </a>
112 <?php
113 }
114 if ( ! empty( $item['docs_url'] ) ) {
115 ?>
116 <a href="<?php echo esc_url( $item['docs_url'] ) ?>" class="tooltip-top"
117 data-tooltip="<?php echo sprintf( esc_attr__( 'View %s Documentation', 'spider-elements' ), $item['label'] ) ?>"
118 target="_blank">
119 <img src="<?php echo esc_url( SPEL_IMG . '/dashboard/icon-document.svg' ) ?>"
120 alt="<?php esc_attr_e( 'Documentation', 'spider-elements' ); ?>">
121 </a>
122 <?php
123 }
124 ?>
125 </div>
126 <?php
127 }
128 ?>
129 <label for="<?php echo esc_attr( $item['name'] ) ?>" class="switch_label<?php echo esc_attr( $is_pro_widget_class ) ?>">
130 <input type="checkbox" class="widget_checkbox widget-list" name="<?php echo esc_attr( $item['name'] ) ?>"
131 id="<?php echo esc_attr( $item['name'] ) ?>" <?php echo esc_attr( $widget_checked . $is_pro_widget_attr ); ?>>
132 <span class="widget_switcher"></span>
133 </label>
134 </div>
135 </div>
136 </div>
137 <?php
138 }
139 }
140 ?>
141 </div>
142 </div>