PluginProbe
Booking Manager – Sync WP Booking Calendar – Import Events, Export Bookings to ICS Calendar / 2.1.21
Booking Manager – Sync WP Booking Calendar – Import Events, Export Bookings to ICS Calendar v2.1.21
2.1.22 2.1.21 2.1.20 2.1.4 2.1.5 2.1.6 2.1.7 2.1.8 2.1.9 trunk 1.1 2.0 2.0.1 2.0.10.2 2.0.11 2.0.12 2.0.13 2.0.14 2.0.15 2.0.16 2.0.17 2.0.18 2.0.2 2.0.20 2.0.21 All 56 releases
← All changes | core/admin/page-settings.php +98 -70 2.0.18 → 2.1.21 View file →
@@ -111,68 +111,76 @@
111 111
112 112 public function content() {
113 113
114 114 // Checking ////////////////////////////////////////////////////////////
115 -
115 +
116 + if ( ! $this->can_manage_settings() ) {
117 + wp_die(
118 + esc_html__( 'Sorry, you are not allowed to manage Booking Manager settings.', 'booking-manager' )
119 + , esc_html__( 'Forbidden', 'booking-manager' )
120 + , array( 'response' => 403 )
121 + );
122 + }
123 +
116 124 do_action( 'wpbm_hook_settings_page_header', array( 'page' => $this->in_page() ) ); // Define Notices Section and show some static messages, if needed.
117 -
125 +
118 126 $is_can = apply_wpbm_filter('recheck_version', true); if ( ! $is_can ) { ?><script type="text/javascript"> jQuery(document).ready(function(){ jQuery( '.wpdvlp-sub-tabs').remove(); }); </script><?php return; }
119 -
120 -
127 +
128 +
121 129 // Init Settings API & Get Data from DB ////////////////////////////////
122 130 $this->settings_api(); // Define all fields and get values from DB
123 -
131 +
124 132 // Submit /////////////////////////////////////////////////////////////
125 -
133 +
126 134 $submit_form_name = 'wpbm_general_settings_form'; // Define form name
127 -
135 +
128 136 if ( isset( $_POST['is_form_sbmitted_'. $submit_form_name ] ) ) {
129 137
130 138 // Nonce checking {Return false if invalid, 1 if generated between, 0-12 hours ago, 2 if generated between 12-24 hours ago. }
131 139 $nonce_gen_time = check_admin_referer( 'wpbm_settings_page_' . $submit_form_name ); // Its stop show anything on submiting, if its not refear to the original page
132 140
133 - // Save Changes
141 + // Save Changes
134 142 $this->update();
135 - }
143 + }
136 144 //$wpbm_user_role_master = get_wpbm_option( 'wpbm_user_role_master' ); // O L D W A Y: Get Fields Data
137 -
138 -
145 +
146 +
139 147 // JavaScript: Tooltips, Popover, Datepick (js & css) //////////////////
140 148 echo '<span class="wpdevelop">';
141 - wpbm_js_for_items_page();
149 + wpbm_js_for_items_page();
142 150 echo '</span>';
143 151
144 -
152 +
145 153 ?><div class="clear"></div><?php
146 -
154 +
147 155 if ( 1 ) {
148 156 // Scroll links ////////////////////////////////////////////////////////
149 157 ?>
150 158 <div class="wpdvlp-sub-tabs" style="background:none;border:none;box-shadow: none;padding:0;"><span class="nav-tabs" style="text-align:right;">
151 - <a onclick="javascript:wpbm_scroll_to('#wpbm_general_settings_wpbm_misc_metabox' );" href="javascript:void(0);" original-title="" class="nav-tab go-to-link"><span><?php
152 - echo ucwords( __('Misc', 'booking-manager') ); ?></span></a>
159 + <a onclick="javascript:wpbm_scroll_to('#wpbm_general_settings_wpbm_misc_metabox' );" href="javascript:void(0);" original-title="" class="nav-tab go-to-link"><span><?php
160 + echo ucwords( __('Misc', 'booking-manager') ); ?></span></a>
153 161 </span>
154 162 <span class="nav-tabs" style="text-align:right;">
155 - <a onclick="javascript:wpbm_scroll_to('#wpbm_general_settings_permissions_metabox' );" href="javascript:void(0);" original-title="" class="nav-tab go-to-link"><span><?php
156 - echo ucwords( __('Plugin Menu', 'booking-manager') ); ?></span></a>
163 + <a onclick="javascript:wpbm_scroll_to('#wpbm_general_settings_permissions_metabox' );" href="javascript:void(0);" original-title="" class="nav-tab go-to-link"><span><?php
164 + echo ucwords( __('Plugin Menu', 'booking-manager') ); ?></span></a>
157 165 </span><span class="nav-tabs" style="text-align:right;">
158 - <a onclick="javascript:wpbm_scroll_to('#wpbm_general_settings_uninstall_metabox' );" href="javascript:void(0);" original-title="" class="nav-tab go-to-link"><span><?php
159 - echo ucwords( __('Uninstall', 'booking-manager') ); ?></span></a>
166 + <a onclick="javascript:wpbm_scroll_to('#wpbm_general_settings_uninstall_metabox' );" href="javascript:void(0);" original-title="" class="nav-tab go-to-link"><span><?php
167 + echo ucwords( __('Uninstall', 'booking-manager') ); ?></span></a>
160 168 </span><span class="nav-tabs" style="text-align:right;">
161 - <a onclick="javascript:wpbm_scroll_to('#wpbm_general_settings_advanced_metabox' );" href="javascript:void(0);" original-title="" class="nav-tab go-to-link"><span><?php
162 - echo ucwords( __('Advanced', 'booking-manager') ); ?></span></a>
169 + <a onclick="javascript:wpbm_scroll_to('#wpbm_general_settings_advanced_metabox' );" href="javascript:void(0);" original-title="" class="nav-tab go-to-link"><span><?php
170 + echo ucwords( __('Advanced', 'booking-manager') ); ?></span></a>
163 171 </span></div>
164 172 <?php
165 173 }
166 -
167 -
174 +
175 +
168 176 // Content ////////////////////////////////////////////////////////////
169 177 ?>
170 178 <div class="clear" style="margin-bottom:10px;"></div>
171 179 <span class="metabox-holder">
172 180 <form name="<?php echo $submit_form_name; ?>" id="<?php echo $submit_form_name; ?>" action="" method="post">
173 - <?php
174 - // N o n c e field, and key for checking S u b m i t
181 + <?php
182 + // N o n c e field, and key for checking S u b m i t
175 183 wp_nonce_field( 'wpbm_settings_page_' . $submit_form_name );
176 184 ?><input type="hidden" name="is_form_sbmitted_<?php echo $submit_form_name; ?>" id="is_form_sbmitted_<?php echo $submit_form_name; ?>" value="1" />
177 185
178 186 <div class="wpbm_settings_row wpbm_settings_row_left" >
@@ -178,82 +186,91 @@
178 186 <div class="wpbm_settings_row wpbm_settings_row_left" >
179 187
180 188 <?php // wpbm_open_meta_box_section( 'wpbm_general_settings_calendar', __('General', 'booking-manager') ); ?>
181 189
182 - <?php // $this->settings_api()->show( 'general' ); ?>
183 -
190 + <?php // $this->settings_api()->show( 'general' ); ?>
191 +
184 192 <?php // wpbm_close_meta_box_section(); ?>
185 -
186 -
193 +
194 +
187 195 <?php wpbm_open_meta_box_section( 'wpbm_general_settings_wpbm_misc', __('Miscellaneous', 'booking-manager') ); ?>
188 196
189 - <?php $this->settings_api()->show( 'wpbm_listing' ); ?>
190 -
197 + <?php $this->settings_api()->show( 'wpbm_listing' ); ?>
198 +
191 199 <?php wpbm_close_meta_box_section(); ?>
192 -
193 -
200 +
201 +
194 202 <?php wpbm_open_meta_box_section( 'wpbm_general_settings_permissions', __('Plugin Menu', 'booking-manager') ); ?>
195 203
196 - <?php $this->settings_api()->show( 'permissions' ); ?>
197 -
198 - <?php wpbm_close_meta_box_section(); ?>
204 + <?php $this->settings_api()->show( 'permissions' ); ?>
199 205
200 -
206 + <?php wpbm_close_meta_box_section(); ?>
207 +
208 +
201 209 <?php wpbm_open_meta_box_section( 'wpbm_general_settings_uninstall', __('Uninstall / deactivation', 'booking-manager') ); ?>
202 210
203 - <?php $this->settings_api()->show( 'uninstall' ); ?>
204 -
205 - <?php wpbm_close_meta_box_section(); ?>
206 -
207 - </div>
211 + <?php $this->settings_api()->show( 'uninstall' ); ?>
212 +
213 + <?php wpbm_close_meta_box_section(); ?>
214 +
215 + </div>
208 216 <div class="wpbm_settings_row wpbm_settings_row_right">
209 217
210 218 <?php wpbm_open_meta_box_section( 'wpbm_general_settings_information', __('Information', 'booking-manager') ); ?>
211 219
212 - <?php $this->settings_api()->show( 'information' ); ?>
213 -
214 - <?php wpbm_close_meta_box_section(); ?>
220 + <?php $this->settings_api()->show( 'information' ); ?>
215 221
222 + <?php wpbm_close_meta_box_section(); ?>
216 223
217 224
218 -
225 +
226 +
219 227 <?php wpbm_open_meta_box_section( 'wpbm_general_settings_advanced', __('Advanced', 'booking-manager') ); ?>
220 228
221 - <?php $this->settings_api()->show( 'advanced' ); ?>
222 -
229 + <?php $this->settings_api()->show( 'advanced' ); ?>
230 +
223 231 <?php wpbm_close_meta_box_section(); ?>
224 -
225 - </div>
232 +
233 + </div>
226 234 <div class="clear"></div>
227 - <input type="submit" value="<?php _e('Save Changes', 'booking-manager'); ?>" class="button button-primary wpbm_submit_button" />
235 + <input type="submit" value="<?php _e('Save Changes', 'booking-manager'); ?>" class="button button-primary wpbm_submit_button" />
228 236 </form>
229 237 <?php if ( ( isset( $_GET['system_info'] ) ) && ( $_GET['system_info'] == 'show' ) ) { ?>
230 -
238 +
231 239 <div class="clear" style="height:30px;"></div>
232 -
240 +
233 241 <?php wpbm_open_meta_box_section( 'wpbm_general_settings_system_info', 'System Info' ); ?>
234 242
235 243 <?php wpbm_system_info(); ?>
236 244
237 - <?php wpbm_close_meta_box_section(); ?>
245 + <?php wpbm_close_meta_box_section(); ?>
238 246
239 247 <?php } ?>
240 -
248 +
241 249 </span>
242 - <?php
250 + <?php
243 251
244 -
245 -
252 +
253 +
246 254 do_action( 'wpbm_hook_settings_page_footer', 'general_settings' );
247 -
248 -//debuge( 'Content <strong>' . basename(__FILE__ ) . '</strong> <span style="font-size:9px;">' . __FILE__ . '</span>');
255 +
256 +//debuge( 'Content <strong>' . basename(__FILE__ ) . '</strong> <span style="font-size:9px;">' . __FILE__ . '</span>');
249 257 }
250 258
251 259
252 260 public function update() {
261 +
262 + if ( ! $this->can_manage_settings() ) {
263 + wp_die(
264 + esc_html__( 'Sorry, you are not allowed to manage Booking Manager settings.', 'booking-manager' )
265 + , esc_html__( 'Forbidden', 'booking-manager' )
266 + , array( 'response' => 403 )
267 + );
268 + }
269 +
253 270 //debuge($_POST);
254 271 $validated_fields = $this->settings_api()->validate_post(); // Get Validated Settings fields in $_POST request.
255 -
272 +
256 273 $validated_fields = apply_filters( 'wpbm_settings_validate_fields_before_saving', $validated_fields ); //Hook for validated fields.
257 274 //debuge($validated_fields);
258 275 // Skip saving specific option, for example in Demo mode.
259 276 // unset($validated_fields['wpbm_start_day_weeek']);
@@ -259,24 +276,35 @@
259 276 // unset($validated_fields['wpbm_start_day_weeek']);
260 277
261 278 $this->settings_api()->save_to_db( $validated_fields ); // Save fields to DB
262 279 wpbm_show_changes_saved_message();
263 -
264 -//debuge( basename(__FILE__), 'UPDATE', $_POST, $validated_fields);
265 -
280 +
281 +//debuge( basename(__FILE__), 'UPDATE', $_POST, $validated_fields);
282 +
266 283 // O L D W A Y: Saving Fields Data
267 284 // update_wpbm_option( 'wpbm_is_delete_if_deactive'
268 - // , WPBM_Settings_API::validate_checkbox_post('wpbm_is_delete_if_deactive') );
285 + // , WPBM_Settings_API::validate_checkbox_post('wpbm_is_delete_if_deactive') );
269 286 // ( (isset( $_POST['wpbm_is_delete_if_deactive'] ))?'On':'Off') );
270 287
271 288 }
289 +
290 +
291 + /**
292 + * Settings are global plugin options and require administrator-level access.
293 + *
294 + * @return bool
295 + */
296 + private function can_manage_settings() {
297 +
298 + return current_user_can( 'manage_options' );
299 + }
272 300 }
273 301
274 302
275 303
276 -//if ( $is_other_tab ) {
277 -//
278 -// if ( ( ! isset( $_GET['tab'] ) ) || ( $_GET['tab'] == 'general' ) ) { // If tab was not selected or selected default, then redirect it to the "form" tab.
304 +//if ( $is_other_tab ) {
305 +//
306 +// if ( ( ! isset( $_GET['tab'] ) ) || ( $_GET['tab'] == 'general' ) ) { // If tab was not selected or selected default, then redirect it to the "form" tab.
279 307 // $_GET['tab'] = 'form';
280 308 // }
281 309 //} else {
282 310 // add_action('wpbm_menu_created', array( new WPBM_Page_SettingsGeneral() , '__construct') ); // Executed after creation of Menu
@@ -282,5 +310,5 @@
282 310 // add_action('wpbm_menu_created', array( new WPBM_Page_SettingsGeneral() , '__construct') ); // Executed after creation of Menu
283 311 //}
284 312
285 313 add_action('wpbm_menu_created', array( new WPBM_Page_SettingsGeneral() , '__construct') ); // Executed after creation of Menu
286 -
314 +