PluginProbe
Ultimate Lightbox / trunk
Ultimate Lightbox vtrunk
1.1.12 trunk 1.0.0 1.0.1 1.0.2 1.0.3 1.0.4 1.0.5 1.0.6 1.0.7 1.0.8 1.1.0 1.1.1 1.1.10 1.1.11 1.1.2 1.1.3 1.1.4 1.1.5 1.1.6 1.1.7 1.1.8 1.1.9
ultimate-lightbox / includes / InstallationWalkthrough.class.php

InstallationWalkthrough.class.php in Ultimate Lightbox trunk, at includes/InstallationWalkthrough.class.php

284 lines 18.9 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2
3 /**
4 * Class to handle everything related to the walk-through that runs on plugin activation
5 */
6
7 if ( ! defined( 'ABSPATH' ) )
8 exit;
9
10 class ewdulbInstallationWalkthrough {
11
12 public function __construct() {
13 add_action( 'admin_menu', array( $this, 'register_install_screen' ) );
14 add_action( 'admin_head', array( $this, 'hide_install_screen_menu_item' ) );
15 add_action( 'admin_init', array( $this, 'redirect' ), 9999 );
16
17 add_action( 'admin_head', array( $this, 'admin_enqueue' ) );
18
19 add_action( 'wp_ajax_ulb_welcome_set_options', array( $this, 'set_options' ) );
20 }
21
22 public function redirect() {
23 if ( ! get_transient( 'ulb-getting-started' ) )
24 return;
25
26 delete_transient( 'ulb-getting-started' );
27
28 if ( is_network_admin() || isset( $_GET['activate-multi'] ) )
29 return;
30
31 if ( get_option( 'ulb-settings') ) {
32 return;
33 }
34
35 wp_safe_redirect( admin_url( 'index.php?page=ulb-getting-started' ) );
36 exit;
37 }
38
39 public function register_install_screen() {
40
41 add_dashboard_page(
42 esc_html__( 'Ultimate Lightbox - Welcome!', 'ultimate-lightbox' ),
43 esc_html__( 'Ultimate Lightbox - Welcome!', 'ultimate-lightbox' ),
44 'manage_options',
45 'ulb-getting-started',
46 array($this, 'display_install_screen')
47 );
48 }
49
50 public function hide_install_screen_menu_item() {
51
52 remove_submenu_page( 'index.php', 'ulb-getting-started' );
53 }
54
55 public function set_options() {
56
57 // Authenticate request
58 if ( ! check_ajax_referer( 'ewd-ulb-getting-started', 'nonce' ) ) {
59
60 ewdulbHelper::admin_nopriv_ajax();
61 }
62
63 $ulb_options = get_option( 'ulb-settings' );
64
65 if ( isset( $_POST['add_lightbox'] ) ) {
66
67 $add_lightbox = is_array( json_decode( stripslashes( $_POST['add_lightbox'] ) ) ) ? json_decode( stripslashes( $_POST['add_lightbox'] ) ) : array();
68 $ulb_options['add-lightbox'] = array_map( 'sanitize_text_field', $add_lightbox );
69 }
70
71 if ( isset( $_POST['image_class_list'] ) ) { $ulb_options['image-class-list'] = sanitize_text_field( $_POST['image_class_list'] ); }
72 if ( isset( $_POST['image_selector_list'] ) ) { $ulb_options['image-selector-list'] = sanitize_text_field( $_POST['image_selector_list'] ); }
73
74 if ( isset( $_POST['show_thumbnails'] ) ) { $ulb_options['show-thumbnails'] = sanitize_text_field( $_POST['show_thumbnails'] ); }
75 if ( isset( $_POST['show_overlay_text'] ) ) { $ulb_options['show-overlay-text'] = $_POST['show_overlay_text'] == 'true' ? 1 : 0; }
76 if ( isset( $_POST['background_close'] ) ) { $ulb_options['background-close'] = $_POST['background_close'] == 'true' ? 1 : 0; }
77
78 if ( isset( $_POST['mobile_hide_elements'] ) ) {
79
80 $mobile_hide_elements = is_array( json_decode( stripslashes( $_POST['mobile_hide_elements'] ) ) ) ? json_decode( stripslashes( $_POST['mobile_hide_elements'] ) ) : array();
81 $ulb_options['mobile-hide-elements'] = array_map( 'sanitize_text_field', $mobile_hide_elements );
82 }
83
84 if ( isset( $_POST['arrow'] ) ) { $ulb_options['arrow'] = sanitize_text_field( $_POST['arrow'] ); }
85 if ( isset( $_POST['icons'] ) ) { $ulb_options['icon-set'] = sanitize_text_field( $_POST['icons'] ); }
86
87 update_option( 'ulb-settings', $ulb_options );
88
89 exit();
90 }
91
92 public function admin_enqueue() {
93
94 if ( ! isset( $_GET['page'] ) or $_GET['page'] != 'ulb-getting-started' ) { return; }
95
96 wp_enqueue_style( 'ulb-admin-css', EWD_ULB_PLUGIN_URL . '/assets/css/ewd-ulb-admin.css', array(), EWD_ULB_VERSION );
97 wp_enqueue_style( 'ulb-sap-admin-css', EWD_ULB_PLUGIN_URL . '/lib/simple-admin-pages/css/admin.css', array(), EWD_ULB_VERSION );
98 wp_enqueue_style( 'ulb-welcome-screen', EWD_ULB_PLUGIN_URL . '/assets/css/admin-ulb-welcome-screen.css', array(), EWD_ULB_VERSION );
99 wp_enqueue_style( 'ulb-admin-settings-css', EWD_ULB_PLUGIN_URL . '/lib/simple-admin-pages/css/admin-settings.css', array(), EWD_ULB_VERSION );
100
101 wp_enqueue_script( 'ulb-getting-started', EWD_ULB_PLUGIN_URL . '/assets/js/admin-ulb-welcome-screen.js', array( 'jquery' ), EWD_ULB_VERSION );
102 wp_enqueue_script( 'ulb-admin-settings-js ', EWD_ULB_PLUGIN_URL . '/lib/simple-admin-pages/js/admin-settings.js', array( 'jquery' ), EWD_ULB_VERSION );
103
104 wp_localize_script(
105 'ulb-getting-started',
106 'ewd_ulb_getting_started',
107 array(
108 'nonce' => wp_create_nonce( 'ewd-ulb-getting-started' )
109 )
110 );
111 }
112
113 public function display_install_screen() { ?>
114
115 <div class='ulb-welcome-screen'>
116
117 <div class='ulb-welcome-screen-header'>
118 <h1><?php _e( 'Welcome to the Ultimate Lightbox Plugin', 'ultimate-lightbox' ); ?></h1>
119 <p><?php _e( 'Thanks for choosing the Ultimate Lightbox! The following will help you get started with the plugin, by choosing which images the lightbox should be displayed for as well as the look of the lightbox.', 'ultimate-lightbox' ); ?></p>
120 </div>
121
122 <div class='ulb-welcome-screen-box ulb-welcome-screen-add_lightbox ulb-welcome-screen-open' data-screen='add_lightbox'>
123 <h2><?php _e( '1. Add Lightboxes', 'ultimate-lightbox' ); ?></h2>
124 <div class='ulb-welcome-screen-box-content'>
125 <table class='form-table ulb-welcome-screen-table'>
126 <tr>
127 <th scope='row'><?php _e( 'Images with Lightbox', 'ultimate-lightbox'); ?></th>
128 <td class='ulb-welcome-screen-option'>
129 <fieldset>
130 <label title='All Images' class='sap-admin-input-container'><input type='checkbox' name='add_lightbox[]' value='all_images'><span class='sap-admin-checkbox'></span> <span><?php _e( 'All Images', 'ultimate-lightbox' ); ?></span></label>
131 <label title='All WordPress Galleries' class='sap-admin-input-container'><input type='checkbox' name='add_lightbox[]' value='galleries'><span class='sap-admin-checkbox'></span> <span><?php _e( 'All WordPress Galleries', 'ultimate-lightbox' ); ?></span></label>
132 <label title='All YouTube Videos' class='sap-admin-input-container'><input type='checkbox' name='add_lightbox[]' value='all_youtube'><span class='sap-admin-checkbox'></span> <span><?php _e( 'All YouTube Videos', 'ultimate-lightbox' ); ?></span></label>
133 <label title='WooCommerce Product Page Images' class='sap-admin-input-container'><input type='checkbox' name='add_lightbox[]' value='woocommerce_product_page'><span class='sap-admin-checkbox'></span> <span><?php _e( 'WooCommerce Product Page Images', 'ultimate-lightbox' ); ?></span></label>
134 <label title='Images with Classes Set Below' class='sap-admin-input-container'><input type='checkbox' name='add_lightbox[]' value='image_class'><span class='sap-admin-checkbox'></span> <span><?php _e( 'Images with Class Set Below', 'ultimate-lightbox' ); ?></span></label>
135 <label title='Images with CSS Selectors Set Below' class='sap-admin-input-container'><input type='checkbox' name='add_lightbox[]' value='image_selector'><span class='sap-admin-checkbox'></span> <span><?php _e( 'Images with CSS Selectors Set Below', 'ultimate-lightbox' ); ?></span></label>
136 </fieldset>
137 </td>
138 </tr>
139 <tr>
140 <th scope='row'><?php _e( 'Classes to Add Lightbox to', 'ultimate-lightbox'); ?></th>
141 <td class='ulb-welcome-screen-option'>
142 <input type='text' name='image_class_list'>
143 </td>
144 </tr>
145 <tr>
146 <th scope='row'><?php _e( 'CSS Selectors to Add Lightbox to', 'ultimate-lightbox'); ?></th>
147 <td class='ulb-welcome-screen-option'>
148 <input type='text' name='image_selector_list'>
149 </td>
150 </tr>
151 </table>
152 <div class='clear'></div>
153 <div class='ulb-welcome-screen-save-add-lightbox-button'><?php _e('Save Options', 'ultimate-lightbox'); ?></div>
154 <div class="ulb-welcome-clear"></div>
155 <div class='ulb-welcome-screen-next-button' data-nextaction='options'><?php _e('Next Step', 'ultimate-lightbox'); ?></div>
156 <div class='clear'></div>
157 </div>
158 </div>
159
160 <div class='ulb-welcome-screen-box ulb-welcome-screen-options' data-screen='options'>
161 <h2><?php _e( '2. Key Options', 'ultimate-lightbox' ); ?></h2>
162 <div class='ulb-welcome-screen-box-content'>
163 <table class='form-table ulb-welcome-screen-table'>
164 <tr>
165 <th scope='row'><?php _e( 'Show Thumbnail Images', 'ultimate-lightbox'); ?></th>
166 <td class='ulb-welcome-screen-option'>
167 <fieldset>
168 <label title='Top' class='sap-admin-input-container'><input type='radio' name='show_thumbnails' value='top'><span class='sap-admin-radio-button'></span> <span><?php _e( 'Top', 'ultimate-lightbox' )?></span></label><br>
169 <label title='Bottom' class='sap-admin-input-container'><input type='radio' name='show_thumbnails' value='bottom' checked><span class='sap-admin-radio-button'></span> <span><?php _e( 'Bottom', 'ultimate-lightbox' )?></span></label><br>
170 <label title='None' class='sap-admin-input-container'><input type='radio' name='show_thumbnails' value='none'><span class='sap-admin-radio-button'></span> <span><?php _e( 'None', 'ultimate-lightbox' )?></span></label><br>
171 </fieldset>
172 </td>
173 </tr>
174 <tr>
175 <th scope='row'><?php _e( 'Show Lightbox Image Information', 'ultimate-lightbox'); ?></th>
176 <td class='ulb-welcome-screen-option'>
177 <fieldset>
178 <div class="sap-admin-hide-radios">
179 <input type="checkbox" name="show_overlay_text" value="1" checked="checked">
180 </div>
181 <label class="sap-admin-switch">
182 <input type="checkbox" class="sap-admin-option-toggle" data-inputname="show_overlay_text" checked="checked">
183 <span class="sap-admin-switch-slider round"></span>
184 </label>
185 </fieldset>
186 </td>
187 </tr>
188 <tr>
189 <th scope='row'><?php _e( 'Close on Background Click', 'ultimate-lightbox'); ?></th>
190 <td class='ulb-welcome-screen-option'>
191 <fieldset>
192 <div class="sap-admin-hide-radios">
193 <input type="checkbox" name="background_close" value="1" checked="checked">
194 </div>
195 <label class="sap-admin-switch">
196 <input type="checkbox" class="sap-admin-option-toggle" data-inputname="background_close" checked="checked">
197 <span class="sap-admin-switch-slider round"></span>
198 </label>
199 </fieldset>
200 </td>
201 </tr>
202 <tr>
203 <th scope='row'><?php _e( 'Hide Elements on Mobile', 'ultimate-lightbox'); ?></th>
204 <td class='ulb-welcome-screen-option'>
205 <fieldset>
206 <label title='Title' class='sap-admin-input-container'><input type='checkbox' name='mobile_hide_elements[]' value='title'><span class='sap-admin-checkbox'></span> <span><?php _e( 'Title', 'ultimate-lightbox' ); ?></span></label>
207 <label title='Description' class='sap-admin-input-container'><input type='checkbox' name='mobile_hide_elements[]' value='description'><span class='sap-admin-checkbox'></span> <span><?php _e( 'Description', 'ultimate-lightbox' ); ?></span></label>
208 <label title='Thumbnails' class='sap-admin-input-container'><input type='checkbox' name='mobile_hide_elements[]' value='thumbnails'><span class='sap-admin-checkbox'></span> <span><?php _e( 'Thumbnails', 'ultimate-lightbox' ); ?></span></label>
209 </fieldset>
210 </td>
211 </tr>
212 </table>
213
214 <div class='ulb-welcome-screen-save-options-button'><?php _e('Save Options', 'ultimate-lightbox'); ?></div>
215 <div class="ulb-welcome-clear"></div>
216 <div class='ulb-welcome-screen-next-button' data-nextaction='arrows_icons'><?php _e('Next Step', 'ultimate-lightbox'); ?></div>
217 <div class='ulb-welcome-screen-previous-button' data-previousaction='add_lightbox'><?php _e('Previous Step', 'ultimate-lightbox'); ?></div>
218 <div class='clear'></div>
219 </div>
220 </div>
221
222 <div class='ulb-welcome-screen-box ulb-welcome-screen-arrows_icons' data-screen='arrows_icons'>
223 <h2><?php _e( '3. Arrows & Icons', 'ultimate-lightbox' ); ?></h2>
224 <div class='ulb-welcome-screen-box-content'>
225 <table class='form-table ulb-welcome-screen-table'>
226 <tr>
227 <th scope='row'><?php _e( 'Arrows', 'ultimate-lightbox'); ?></th>
228 <td class='ulb-welcome-screen-option'>
229 <fieldset class='sap-setting-columns-3'>
230 <label class='sap-admin-input-container'><input type='radio' name='arrow' value='none'><span class='sap-admin-radio-button'></span> <span><?php _e( 'No Arrow', 'ultimate-lightbox' ); ?></span></label>
231 <label class='sap-admin-input-container'><input type='radio' name='arrow' value='a' checked><span class='sap-admin-radio-button'></span> <span class="ulb-arrow">b</span></label>
232 <label class='sap-admin-input-container'><input type='radio' name='arrow' value='c'><span class='sap-admin-radio-button'></span> <span class="ulb-arrow">d</span></label>
233 <label class='sap-admin-input-container'><input type='radio' name='arrow' value='e'><span class='sap-admin-radio-button'></span> <span class="ulb-arrow">f</span></label>
234 <label class='sap-admin-input-container'><input type='radio' name='arrow' value='g'><span class='sap-admin-radio-button'></span> <span class="ulb-arrow">h</span></label>
235 <label class='sap-admin-input-container'><input type='radio' name='arrow' value='i'><span class='sap-admin-radio-button'></span> <span class="ulb-arrow">j</span></label>
236 <label class='sap-admin-input-container'><input type='radio' name='arrow' value='k'><span class='sap-admin-radio-button'></span> <span class="ulb-arrow">l</span></label>
237 <label class='sap-admin-input-container'><input type='radio' name='arrow' value='m'><span class='sap-admin-radio-button'></span> <span class="ulb-arrow">n</span></label>
238 <label class='sap-admin-input-container'><input type='radio' name='arrow' value='o'><span class='sap-admin-radio-button'></span> <span class="ulb-arrow">p</span></label>
239 <label class='sap-admin-input-container'><input type='radio' name='arrow' value='q'><span class='sap-admin-radio-button'></span> <span class="ulb-arrow">r</span></label>
240 <label class='sap-admin-input-container'><input type='radio' name='arrow' value='A'><span class='sap-admin-radio-button'></span> <span class="ulb-arrow">B</span></label>
241 <label class='sap-admin-input-container'><input type='radio' name='arrow' value='E'><span class='sap-admin-radio-button'></span> <span class="ulb-arrow">F</span></label>
242 <label class='sap-admin-input-container'><input type='radio' name='arrow' value='G'><span class='sap-admin-radio-button'></span> <span class="ulb-arrow">H</span></label>
243 <label class='sap-admin-input-container'><input type='radio' name='arrow' value='I'><span class='sap-admin-radio-button'></span> <span class="ulb-arrow">J</span></label>
244 <label class='sap-admin-input-container'><input type='radio' name='arrow' value='K'><span class='sap-admin-radio-button'></span> <span class="ulb-arrow">L</span></label>
245 <label class='sap-admin-input-container'><input type='radio' name='arrow' value='M'><span class='sap-admin-radio-button'></span> <span class="ulb-arrow">N</span></label>
246 <label class='sap-admin-input-container'><input type='radio' name='arrow' value='O'><span class='sap-admin-radio-button'></span> <span class="ulb-arrow">P</span></label>
247 <label class='sap-admin-input-container'><input type='radio' name='arrow' value='Q'><span class='sap-admin-radio-button'></span> <span class="ulb-arrow">R</span></label>
248 </fieldset>
249 </td>
250 </tr>
251 <tr>
252 <th scope='row'><?php _e( 'Icons', 'ultimate-lightbox'); ?></th>
253 <td class='ulb-welcome-screen-option'>
254 <fieldset class='sap-setting-columns-3'>
255 <label class='sap-admin-input-container'><input type='radio' name='icons' value='a' checked><span class='sap-admin-radio-button'></span> <span class="ulb-exit">a</span><span class="ulb-autoplay">a</span><span class="ulb-zoom">a</span><span class="ulb-zoom_out">a</span><span class="ulb-download">a</span><span class="ulb-fullsize">a</span><span class="ulb-fullscreen">a</span><span class="ulb-regular_screen">a</span></label>
256 <label class='sap-admin-input-container'><input type='radio' name='icons' value='b'><span class='sap-admin-radio-button'></span> <span class="ulb-exit">b</span><span class="ulb-autoplay">b</span><span class="ulb-zoom">b</span><span class="ulb-zoom_out">b</span><span class="ulb-download">b</span><span class="ulb-fullsize">b</span><span class="ulb-fullscreen">b</span><span class="ulb-regular_screen">b</span></label>
257 <label class='sap-admin-input-container'><input type='radio' name='icons' value='c'><span class='sap-admin-radio-button'></span> <span class="ulb-exit">c</span><span class="ulb-autoplay">c</span><span class="ulb-zoom">c</span><span class="ulb-zoom_out">c</span><span class="ulb-download">c</span><span class="ulb-fullsize">c</span><span class="ulb-fullscreen">c</span><span class="ulb-regular_screen">c</span></label>
258 <label class='sap-admin-input-container'><input type='radio' name='icons' value='d'><span class='sap-admin-radio-button'></span> <span class="ulb-exit">d</span><span class="ulb-autoplay">d</span><span class="ulb-zoom">d</span><span class="ulb-zoom_out">d</span><span class="ulb-download">d</span><span class="ulb-fullsize">d</span><span class="ulb-fullscreen">d</span><span class="ulb-regular_screen">d</span></label>
259 <label class='sap-admin-input-container'><input type='radio' name='icons' value='e'><span class='sap-admin-radio-button'></span> <span class="ulb-exit">e</span><span class="ulb-autoplay">e</span><span class="ulb-zoom">e</span><span class="ulb-zoom_out">e</span><span class="ulb-download">e</span><span class="ulb-fullsize">e</span><span class="ulb-fullscreen">e</span><span class="ulb-regular_screen">e</span></label>
260 <label class='sap-admin-input-container'><input type='radio' name='icons' value='f'><span class='sap-admin-radio-button'></span> <span class="ulb-exit">f</span><span class="ulb-autoplay">f</span><span class="ulb-zoom">f</span><span class="ulb-zoom_out">f</span><span class="ulb-download">f</span><span class="ulb-fullsize">f</span><span class="ulb-fullscreen">f</span><span class="ulb-regular_screen">f</span></label>
261 <label class='sap-admin-input-container'><input type='radio' name='icons' value='g'><span class='sap-admin-radio-button'></span> <span class="ulb-exit">g</span><span class="ulb-autoplay">g</span><span class="ulb-zoom">g</span><span class="ulb-zoom_out">g</span><span class="ulb-download">g</span><span class="ulb-fullsize">g</span><span class="ulb-fullscreen">g</span><span class="ulb-regular_screen">g</span></label>
262 </fieldset>
263 </td>
264 </tr>
265 </table>
266
267 <div class='ulb-welcome-screen-save-arrows-icons-button'><?php _e('Save Options', 'ultimate-lightbox'); ?></div>
268 <div class="ulb-welcome-clear"></div>
269 <div class='ulb-welcome-screen-previous-button' data-previousaction='add_lightbox'><?php _e('Previous Step', 'ultimate-lightbox'); ?></div>
270 <div class='ulb-welcome-screen-finish-button'><a href='admin.php?page=ulb-settings'><?php _e('Finish', 'ultimate-lightbox'); ?></a></div>
271 <div class='clear'></div>
272 </div>
273 </div>
274
275 <div class='ulb-welcome-screen-skip-container'>
276 <a href='admin.php?page=ulb-settings'><div class='ulb-welcome-screen-skip-button'><?php _e('Skip Setup', 'ultimate-lightbox'); ?></div></a>
277 </div>
278 </div>
279
280 <?php }
281 }
282
283
284 ?>