PluginProbe
Booking Calendar / 11.9
Booking Calendar v11.9
11.9 11.8.4 11.8.3 11.8.2 11.8.1 11.8 11.7 11.6.1 11.6 11.5 11.4.3 11.4.2 11.4.1 11.4 11.3 11.2.1 11.2 11.1 11.0 10.15.7 10.15.6 10.1.3 10.10 10.10.1 10.10.2 All 205 releases
← All changes | core/admin/page-settings.php +667 -392 10.1.3 → 11.9 View file →
@@ -1,4 +1,4 @@
1 1 <?php /**
2 2 * @version 1.0
3 3 * @package Booking Calendar
4 4 * @category Content of Settings page
@@ -13,332 +13,623 @@
13 13 if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly
14 14
15 15
16 16 /**
17 - * Show Content
17 + * Show Content
18 18 * Update Content
19 19 * Define Slug
20 20 * Define where to show
21 21 */
22 22 class WPBC_Page_SettingsGeneral extends WPBC_Page_Structure {
23 -
24 - private $settings_api = false;
25 -
26 - public function __construct() {
27 -
28 - if ( ! wpbc_is_mu_user_can_be_here( 'only_super_admin' ) ) { // If this User not "super admin", then do not load this page at all
29 23
30 - if (
31 - ( isset( $_REQUEST['page'] ) && ( $_REQUEST['page'] == 'wpbc-settings' ) ) // Check if this Settings page
32 - &&
33 - ( ( ! isset( $_REQUEST['tab'] ) ) || ( $_REQUEST['tab'] == 'general' ) )
34 - ) { // If tab was not selected or selected default, then redirect it to the "form" tab.
35 - $_REQUEST['tab'] = 'form';
36 - }
24 + /**
25 + * Link to Settings API obj
26 + *
27 + * @var bool
28 + */
29 + private $settings_api = false;
30 +
31 + public function __construct() {
32 + $this->normalize_legacy_settings_request();
33 +
34 + if ( ! wpbc_is_mu_user_can_be_here( 'only_super_admin' ) ) { // If this User not "super admin", then do not load this page at all
35 + // If tab was not selected or selected default, then redirect it to the "form" tab.
36 + // phpcs:ignore WordPress.Security.NonceVerification.Recommended, WordPress.Security.NonceVerification.Missing
37 + if ( ( isset( $_REQUEST['page'] ) && ( 'wpbc-settings' === $_REQUEST['page'] ) ) && ( ( ! isset( $_REQUEST['tab'] ) ) || ( 'general' === $_REQUEST['tab'] ) ) ) {
38 + $_REQUEST['tab'] = 'form';
39 + }
40 + } else {
41 + parent::__construct();
42 + }
43 + }
44 +
45 + /**
46 + * Route settings links for sections that were moved into the Advanced group.
47 + *
48 + * Existing bookmarks and integrations can continue using the former Admin
49 + * Panel group and the previous Manage Bookings location of the front-end
50 + * Timeline settings. Subtab identifiers remain unchanged.
51 + *
52 + * @return void
53 + */
54 + private function normalize_legacy_settings_request() {
55 + $request_page = isset( $_REQUEST['page'] ) && is_scalar( $_REQUEST['page'] )
56 + ? sanitize_key( (string) wp_unslash( $_REQUEST['page'] ) )
57 + : ''; // phpcs:ignore WordPress.Security.NonceVerification.Recommended
58 + $request_tab = isset( $_REQUEST['tab'] ) && is_scalar( $_REQUEST['tab'] )
59 + ? sanitize_key( (string) wp_unslash( $_REQUEST['tab'] ) )
60 + : ''; // phpcs:ignore WordPress.Security.NonceVerification.Recommended
61 + $request_subtab = isset( $_REQUEST['subtab'] ) && is_scalar( $_REQUEST['subtab'] )
62 + ? sanitize_key( (string) wp_unslash( $_REQUEST['subtab'] ) )
63 + : ''; // phpcs:ignore WordPress.Security.NonceVerification.Recommended
64 +
65 + $is_legacy_admin_panel = 'admin_panel' === $request_tab;
66 + $is_legacy_timeline = 'manage_bookings' === $request_tab && 'booking_timeline' === $request_subtab;
67 +
68 + if ( 'wpbc-settings' !== $request_page || ( ! $is_legacy_admin_panel && ! $is_legacy_timeline ) ) {
69 + return;
70 + }
71 +
72 + $_REQUEST['tab'] = 'advanced'; // phpcs:ignore WordPress.Security.NonceVerification.Recommended
73 + if ( isset( $_GET['tab'] ) ) {
74 + $_GET['tab'] = 'advanced'; // phpcs:ignore WordPress.Security.NonceVerification.Recommended
75 + }
76 + }
37 77
38 - }
39 - else {
40 - parent::__construct();
41 - }
42 -
43 - }
44 -
45 - public function in_page() {
46 -
47 - if ( ! wpbc_is_mu_user_can_be_here( 'only_super_admin' ) ) { // If this User not "super admin", then do not load this page at all
48 - return (string) rand(100000, 1000000);
49 - }
50 -
51 - return 'wpbc-settings';
52 - }
53 -
78 + public function in_page() {
54 79
55 - /**
80 + if ( ! wpbc_is_mu_user_can_be_here( 'only_super_admin' ) ) { // If this User not "super admin", then do not load this page at all.
81 + return (string) wp_rand( 100000, 1000000 );
82 + }
83 +
84 + return 'wpbc-settings';
85 + }
86 +
87 +
88 + /**
56 89 * Get Settings API class - define, show, update "Fields".
57 - *
58 - * @return object Settings API
59 - */
60 - public function settings_api(){
61 -
62 - if ( $this->settings_api === false )
63 - $this->settings_api = new WPBC_Settings_API_General();
64 -
65 - return $this->settings_api;
66 - }
67 -
68 -
69 - public function tabs() {
70 -
71 - $tabs = array();
72 -
73 - $tabs[ 'general' ] = array(
74 - 'title' => __( 'General', 'booking') // Title of TAB
75 - , 'page_title' => __( 'General Settings', 'booking') // Title of Page
76 - , 'hint' => __( 'General Settings', 'booking') // Hint
77 - , 'link' => '' // Can be skiped, then generated link based on Page and Tab tags. Or can be extenral link
78 - , 'position' => '' // 'left' || 'right' || ''
79 - , 'css_classes' => '' // CSS class(es)
80 - , 'icon' => '' // Icon - link to the real PNG img
81 - , 'font_icon' => 'wpbc_icn_tune' // CSS definition of forn Icon
82 - , 'default' => true // Is this tab activated by default or not: true || false.
83 - );
90 + *
91 + * @return object Settings API
92 + */
93 + public function settings_api() {
84 94
85 - $subtabs = array();
86 - $subtabs['wpbc-settings-info'] = array( 'type' => 'html', 'html' => wpbc_get_flex_dashboard_info() );
95 + if ( false === $this->settings_api ) {
96 + $this->settings_api = new WPBC_Settings_API_General();
97 + }
87 98
88 -if (0){
89 - $subtabs['wpbc-settings-calendar'] = array( 'type' => 'goto-link'
90 - , 'title' => __('Calendar','booking')
91 - , 'show_section' => 'wpbc_general_settings_calendar_metabox'
92 - );
99 + return $this->settings_api;
100 + }
93 101
94 - //FixIn: 8.7.11.10
95 - $subtabs['wpbc-settings-time-slots'] = array( 'type' => 'goto-link'
96 - , 'title' => __('Time Slots','booking')
97 - , 'show_section' => 'wpbc_general_settings_time_slots_metabox'
98 - );
99 102
100 - $subtabs['wpbc-settings-availability'] = array( 'type' => 'goto-link'
101 - , 'title' => __('Availability','booking')
102 - , 'show_section' => 'wpbc_general_settings_availability_metabox'
103 - );
103 + public function tabs() {
104 104
105 - $subtabs['wpbc-settings-form'] = array( 'type' => 'goto-link'
106 - , 'title' => __('Form','booking')
107 - , 'show_section' => 'wpbc_general_settings_form_metabox'
108 - );
105 + // Init vars.
106 + $separator_i = 0;
107 + $tabs = array();
108 + $subtab_default = array(
109 + 'type' => 'subtab', // Required| Possible values: 'subtab' | 'separator' | 'button' | 'goto-link' | 'html'.
110 + 'title' => '',
111 + 'page_title' => '',
112 + 'hint' => '',
113 + 'link' => '',
114 + 'css_classes' => '',
115 + 'font_icon' => 'wpbc_icn_dashboard',
116 + 'font_icon_right' => 'wpbc-bi-question-circle',
117 + 'default' => false,
118 + );
109 119
110 - $subtabs['wpbc-settings-booking-listing'] = array( 'type' => 'goto-link'
111 - , 'title' => __('Booking Admin Panel','booking')
112 - , 'show_section' => 'wpbc_general_settings_booking_listing_metabox'
113 - );
120 + // =============================================================================================================
121 + // == D A S H B O A R D ==
122 + // =============================================================================================================
123 + $tabs['general'] = array(
124 + 'is_show_top_path' => true, // true | false. By default value is: false.
125 + 'is_show_top_navigation' => false, // true | false. By default value is: false.
126 + 'left_navigation__default_view_mode' => '', // '' | 'min' | 'compact' | 'max' | 'none'. By default value is: ''.
127 + 'page_title' => __( 'General Settings', 'booking' ), // Header - Title. If false, than hidden.
128 + // translators: 1: Booking Calendar.
129 + 'page_description' => sprintf( __( 'Configure various options and settings in the %s.', 'booking' ), 'Booking Calendar' ),
130 + 'title' => __( 'Dashboard', 'booking' ), // Left Vertical Menu - Title.
131 + // translators: 1: Booking Calendar.
132 + 'hint' => sprintf( __( 'Configure various options and settings in the %s.', 'booking' ), 'Booking Calendar' ),
133 + 'link' => '', // Can be skiped, then generated link based on Page and Tab tags. Or can be extenral link.
134 + 'default' => true, // Is this tab activated by default or not: true / false.
135 + 'font_icon' => 'wpbc-bi-speedometer2',
136 + // 'font_icon_right' => 'wpbc-bi-question-circle',
137 + 'css_classes' => 'do_expand__' . 'wpbc_general_settings_dashboard_metabox' . '_link',
138 + 'onclick' => "wpbc_admin_ui__do__open_url__expand_section( '" . wpbc_get_settings_url() . "', '" . 'wpbc_general_settings_dashboard_metabox' . "' );",
139 + 'folder_style' => 'order:10;',
140 + );
141 + // FixIn: 10.12.4.7. $tabs[ 'settings' . ( ++$separator_i ) ] = array_merge( $subtab_default, array( 'type' => 'separator' ,'folder_style' => 'order:10;' ) );
114 142
115 - $subtabs['wpbc-settings-booking-timeline'] = array( 'type' => 'goto-link'
116 - , 'title' => __('Timeline', 'booking')
117 - , 'show_section' => 'wpbc_general_settings_booking_timeline_metabox'
118 - );
119 143
120 - if ( class_exists('wpdev_bk_biz_s') ) {
144 + // =============================================================================================================
145 + // == C O N F I R M A T I ON ==
146 + // =============================================================================================================
147 + $tabs['booking_confirmation'] = array(
148 + 'is_show_top_path' => true, // true | false. By default value is: true.
149 + 'is_show_top_navigation' => false, // true | false. By default value is: false.
150 + 'left_navigation__default_view_mode' => '', // '' | 'min' | 'compact' | 'max' | 'none'. By default value is: ''.
151 + 'page_title' => __( 'General Settings', 'booking' ), // Header - Title. If false, than hidden.
152 + // translators: 1: Booking Calendar.
153 + 'page_description' => sprintf( __( 'Configure various options and settings in the %s.', 'booking' ), 'Booking Calendar' ),
154 + 'title' => __( 'Booking Confirmation', 'booking' ), // Left Vertical Menu - Title.
155 + 'hint' => __( 'Customize how the booking summary is displayed after a booking is created', 'booking' ),
156 + 'link' => '', // Can be skiped, then generated link based on Page and Tab tags. Or can be extenral link.
157 + 'default' => false, // Is this tab activated by default or not: true / false.
158 + 'font_icon' => 'wpbc-bi-card-checklist',
159 + 'font_icon_right' => 'wpbc-bi-question-circle',
160 + 'css_classes' => 'do_expand__' . 'wpbc_general_settings_booking_confirmation_metabox' . '_link',
161 + 'onclick' => "wpbc_admin_ui__do__open_url__expand_section( '" . wpbc_get_settings_url() . "', '" .
162 + 'wpbc_general_settings_booking_confirmation_metabox#wpbc_general_settings_booking_confirmation_left_metabox#wpbc_general_settings_booking_confirmation_right_metabox#wpbc_general_settings_booking_confirmation_help_metabox' .
163 + "' );",
164 + 'folder_style' => 'order:20;',
165 + );
121 166
167 + // FixIn: 10.12.4.7. $tabs[ 'settings' . ( ++$separator_i ) ] = array_merge( $subtab_default, array( 'type' => 'separator' ,'folder_style' => 'order:20;' ) );
122 168
123 - $subtabs['wpbc-settings-auto-cancelation-approval'] = array( 'type' => 'goto-link'
124 - , 'title' => __('Auto cancellation / approval','booking')
125 - , 'show_section' => 'wpbc_general_settings_auto_cancelation_approval_metabox'
126 - );
127 - }
169 + // =============================================================================================================
170 + // == Manage Bookings ==
171 + // =============================================================================================================
172 + $tabs['manage_bookings'] = array(
173 + 'is_show_top_path' => true, // true | false. By default value is: true.
174 + 'is_show_top_navigation' => false, // true | false. By default value is: false.
175 + 'left_navigation__default_view_mode' => '', // '' | 'min' | 'compact' | 'max' | 'none'. By default value is: ''.
176 + 'page_title' => __( 'General Settings', 'booking' ), // Header - Title. If false, than hidden.
177 + // translators: 1: Booking Calendar.
178 + 'page_description' => sprintf( __( 'Configure various options and settings in the %s.', 'booking' ), 'Booking Calendar' ),
179 + 'title' => __( 'Manage Bookings', 'booking' ), // Left Vertical Menu - Title.
180 + // translators: 1: Booking Calendar.
181 + 'hint' => sprintf( __( 'Configure various options and settings in the %s.', 'booking' ), 'Booking Calendar' ),
182 + 'font_icon' => 'wpbc_icn_app_registration', // Left Vertical Menu - Icon.
183 + 'link' => '', // Can be skiped, then generated link based on Page and Tab tags. Or can be extenral link.
184 + 'css_classes' => '', // CSS.
185 + 'icon' => '', // Icon - link to the real PNG img.
186 + 'default' => false, // Is this tab activated by default or not: true / false.
187 + 'folder_style' => 'order:1000',
188 + );
128 189
129 - $subtabs['wpbc-settings-capacity'] = array( 'type' => 'goto-link'
130 - , 'title' => __('Capacity', 'booking') //. ' ' . '<span class="wpbc_new_label">' . __( 'New', 'booking' ) . '</span>'
131 - , 'show_section' => 'wpbc_general_settings_capacity_metabox'
132 - );
133 - $subtabs['wpbc-settings-capacity_new'] = array(
134 - 'type' => 'html'
135 - , 'html' => '<span class="wpbc_new_label" style="margin-left: -15px;border:none;">' . __( 'New', 'booking' ) . '</span>'
136 - );
190 + $subtabs = array();
137 191
138 - $subtabs['wpbc-settings-advanced'] = array( 'type' => 'goto-link'
139 - , 'title' => __('Advanced','booking')
140 - , 'show_section' => 'wpbc_general_settings_advanced_metabox'
141 - );
192 + $section_id = 'wpbc_general_settings_booking_timeline_metabox';
193 + $booking_timeline_subtab = array_merge(
194 + $subtab_default,
195 + array(
196 + 'title' => __( 'Timeline (front-end)', 'booking' ),
197 + 'page_title' => __( 'General Settings', 'booking' ),
198 + 'hint' => __( 'Customize timeline options, including the display of booking details.', 'booking' ),
199 + 'font_icon' => 'wpbc_icn_align_vertical_bottom wpbc_icn_rotate_90',
200 + 'font_icon_right' => 'wpbc-bi-question-circle',
201 + 'css_classes' => 'do_expand__' . $section_id . '_link ',
202 + 'onclick' => "wpbc_admin_ui__do__open_url__expand_section( '" . wpbc_get_settings_url() . "', '" . $section_id . "' );",
203 + 'default' => false,
204 + )
205 + );
142 206
143 - $subtabs['wpbc-settings-menu-access'] = array( 'type' => 'goto-link'
144 - , 'title' => __('Plugin Menu','booking')
145 - , 'show_section' => 'wpbc_general_settings_permissions_metabox'
146 - );
207 + if ( class_exists('wpdev_bk_personal') ) {
208 + $section_id = 'wpbc_general_settings_bookings_options_metabox';
209 + $subtabs['bookings_options'] = array_merge(
210 + $subtab_default,
211 + array(
212 + 'title' => __( 'Manage Bookings', 'booking' ),
213 + 'page_title' => __( 'General Settings', 'booking' ),
214 + 'hint' => __( 'Allow customers to edit or cancel their own bookings.', 'booking' ),
215 + 'font_icon' => 'wpbc_icn_app_registration mode_edit_outline edit_calendar',
216 + 'font_icon_right' => 'wpbc-bi-question-circle',
217 + 'css_classes' => 'do_expand__' . $section_id . '_link ',
218 + 'onclick' => "wpbc_admin_ui__do__open_url__expand_section( '" . wpbc_get_settings_url() . "', '" . $section_id . "' );",
219 + 'default' => false,
220 + )
221 + );
222 + }
147 223
148 - $subtabs['wpbc-settings-uninstall'] = array( 'type' => 'goto-link'
149 - , 'title' => __('Uninstall','booking')
150 - , 'show_section' => 'wpbc_general_settings_uninstall_metabox'
151 - );
152 224
153 -// $subtabs['wpbc-settings-technical'] = array( 'type' => 'goto-link'
154 -// , 'title' => __('Help', 'booking')
155 -// , 'show_section' => 'wpbc_general_settings_help_metabox'
156 -// );
225 + if ( class_exists('wpdev_bk_biz_s') ) {
226 + $section_id = 'wpbc_general_settings_auto_cancelation_approval_metabox';
227 + $subtabs['auto_cancelation_approval'] = array_merge(
228 + $subtab_default,
229 + array(
230 + 'title' => __( 'Auto Cancellation / Auto Approval', 'booking' ),
231 + 'page_title' => __( 'General Settings', 'booking' ),
232 + 'hint' => __( 'Enable automatic approval or cancellation of bookings.', 'booking' ),
233 + 'font_icon' => 'wpbc_icn_published_with_changes',
234 + 'font_icon_right' => 'wpbc-bi-question-circle',
235 + 'css_classes' => 'do_expand__' . $section_id . '_link',
236 + 'onclick' => "wpbc_admin_ui__do__open_url__expand_section( '" . wpbc_get_settings_url() . "', '" . $section_id . "' );",
237 + 'default' => false,
238 + )
239 + );
240 + }
157 241
158 - $subtabs['form-save'] = array(
159 - 'type' => 'button'
160 - , 'title' => __('Save Changes','booking')
161 - , 'form' => 'wpbc_general_settings_form'
162 - );
163 -}
164 -
165 - $tabs[ 'general' ][ 'subtabs' ] = $subtabs;
166 -
167 - return $tabs;
168 - }
242 + $tabs['manage_bookings']['subtabs'] = $subtabs;
169 243
170 244
171 - public function content() {
172 -
173 - // Checking ////////////////////////////////////////////////////////////
174 -
175 - do_action( 'wpbc_hook_settings_page_header', 'general_settings'); // Define Notices Section and show some static messages, if needed
176 -
177 - if ( ! wpbc_is_mu_user_can_be_here('activated_user') ) return false; // Check if MU user activated, otherwise show Warning message.
178 -
179 - if ( ! wpbc_is_mu_user_can_be_here('only_super_admin') ) return false; // User is not Super admin, so exit. Basically its was already checked at the bottom of the PHP file, just in case.
180 -
181 - $is_can = apply_bk_filter('recheck_version', true); if ( ! $is_can ) { ?><script type="text/javascript"> jQuery(document).ready(function(){ jQuery( '.wpdvlp-sub-tabs').remove(); }); </script><?php return; }
182 -
183 -
184 - // Init Settings API & Get Data from DB ////////////////////////////////
185 - $this->settings_api(); // Define all fields and get values from DB
186 -
187 - // Submit /////////////////////////////////////////////////////////////
188 -
189 - $submit_form_name = 'wpbc_general_settings_form'; // Define form name
190 -
191 - if ( isset( $_POST['is_form_sbmitted_'. $submit_form_name ] ) ) {
245 + // =============================================================================================================
246 + // == Admin Panel ==
247 + // =============================================================================================================
248 + $tabs['admin_panel'] = array(
249 + 'is_show_top_path' => true, // true | false. By default value is: true.
250 + 'is_show_top_navigation' => false, // true | false. By default value is: false.
251 + 'left_navigation__default_view_mode' => '', // '' | 'min' | 'compact' | 'max' | 'none'. By default value is: ''.
252 + 'page_title' => __( 'General Settings', 'booking' ), // Header - Title. If false, than hidden.
253 + 'page_description' => __( 'Configure various options and settings in the admin panel.', 'booking' ), // Header - Title Description. If false, than hidden.
254 + 'title' => __( 'Admin Panel', 'booking' ), // Left Vertical Menu - Title.
255 + // translators: 1: Booking Calendar.
256 + 'hint' => sprintf( __( 'Configure various options and settings in the %s.', 'booking' ), 'Booking Calendar' ),
257 + 'font_icon' => 'wpbc_icn_widgets', // Left Vertical Menu - Icon.
258 + 'link' => '', // Can be skiped, then generated link based on Page and Tab tags. Or can be extenral link.
259 + 'css_classes' => '', // CSS.
260 + 'icon' => '', // Icon - link to the real PNG img.
261 + 'default' => false, // Is this tab activated by default or not: true / false.
262 + 'folder_style' => 'order:1000',
263 + );
192 264
193 - // Nonce checking {Return false if invalid, 1 if generated between, 0-12 hours ago, 2 if generated between 12-24 hours ago. }
194 - $nonce_gen_time = check_admin_referer( 'wpbc_settings_page_' . $submit_form_name ); // Its stop show anything on submiting, if its not refear to the original page
265 + $subtabs = array();
195 266
196 - // Save Changes
197 - $this->update();
198 - }
199 - if ( ! empty( $_GET['scroll_to_section'] ) ) {
200 - ?><script type="text/javascript">
201 - jQuery(document).ready(function(){
202 - jQuery( '#<?php echo esc_js( $_GET['scroll_to_section'] ); ?> a' ).trigger('click');
267 + $section_id = 'wpbc_general_settings_booking_listing_metabox';
268 + $subtabs['booking_listing'] = array_merge(
269 + $subtab_default,
270 + array(
271 + 'title' => __( 'Booking Admin Panel', 'booking' ),
272 + 'page_title' => __( 'General Settings', 'booking' ),
273 + 'hint' => __( 'Configure various options and settings in the admin panel.', 'booking' ),
274 + 'font_icon' => 'wpbc-bi-list',
275 + 'font_icon_right' => 'wpbc-bi-question-circle',
276 + 'css_classes' => 'do_expand__' . $section_id . '_link',
277 + 'onclick' => "wpbc_admin_ui__do__open_url__expand_section( '" . wpbc_get_settings_url() . "', '" . $section_id . "' );",
278 + 'default' => false,
279 + )
280 + );
281 +
282 + $section_id = 'wpbc_general_settings_booking_calendar_overview_metabox';
283 + $subtabs['booking_calendar_overview'] = array_merge(
284 + $subtab_default,
285 + array(
286 + 'title' => __( 'Timeline View (Back-End)', 'booking' ),
287 + 'page_title' => __( 'General Settings', 'booking' ),
288 + 'hint' => __( 'Customize timeline options in the admin panel, including displaying booking details.', 'booking' ),
289 + 'font_icon' => 'wpbc-bi-bar-chart-steps _icn_timeline 0wpbc_icn_rotate_45 0wpbc_icn_align_vertical_bottom',
290 + 'font_icon_right' => 'wpbc-bi-question-circle',
291 + 'css_classes' => 'do_expand__' . $section_id . '_link',
292 + 'onclick' => "wpbc_admin_ui__do__open_url__expand_section( '" . wpbc_get_settings_url() . "', '" . $section_id . "' );",
293 + 'default' => false,
294 + )
295 + );
296 +
297 + $subtabs['booking_timeline'] = $booking_timeline_subtab;
298 +
299 + $section_id = 'wpbc_general_settings_datestimes_metabox';
300 + $subtabs['datestimes'] = array_merge(
301 + $subtab_default,
302 + array(
303 + 'title' => __( 'Date and Time Formats', 'booking' ),
304 + 'page_title' => __( 'General Settings', 'booking' ),
305 + 'hint' => __( 'Customize the display format for dates and times.', 'booking' ),
306 + 'font_icon' => 'wpbc-bi-braces-asterisk _icn_password',
307 + 'font_icon_right' => 'wpbc-bi-question-circle',
308 + 'css_classes' => 'do_expand__' . $section_id . '_link',
309 + 'onclick' => "wpbc_admin_ui__do__open_url__expand_section( '" . wpbc_get_settings_url() . "', '" . $section_id . "' );",
310 + 'default' => false,
311 + )
312 + );
313 +
314 + $section_id = 'wpbc_general_settings_permissions_metabox';
315 + $subtabs['permissions'] = array_merge(
316 + $subtab_default,
317 + array(
318 + 'title' => __( 'Plugin Menu / Permissions', 'booking' ),
319 + 'page_title' => __( 'General Settings', 'booking' ),
320 + 'hint' => __( 'Set user permissions for accessing plugin menu pages and configure the menu position.', 'booking' ),
321 + 'font_icon' => 'wpbc-bi-key',
322 + 'font_icon_right' => 'wpbc-bi-question-circle',
323 + 'css_classes' => 'do_expand__' . $section_id . '_link',
324 + 'onclick' => "wpbc_admin_ui__do__open_url__expand_section( '" . wpbc_get_settings_url() . "', '" . $section_id . "' );",
325 + 'default' => false,
326 + )
327 + );
328 +
329 + $section_id = 'wpbc_general_settings_translations_metabox';
330 + $subtabs['translations'] = array_merge(
331 + $subtab_default,
332 + array(
333 + 'title' => __( 'Translations', 'booking' ),
334 + 'page_title' => __( 'General Settings', 'booking' ),
335 + 'hint' => __( 'Choose whether to use local translations or WordPress translations.', 'booking' ),
336 + 'font_icon' => 'wpbc_icn_translate 0wpbc-bi-translate',
337 + 'font_icon_right' => 'wpbc-bi-question-circle',
338 + 'css_classes' => 'do_expand__' . $section_id . '_link',
339 + 'onclick' => "wpbc_admin_ui__do__open_url__expand_section( '" . wpbc_get_settings_url() . "', '" . $section_id . "' );",
340 + 'default' => false,
341 + )
342 + );
343 +
344 + $tabs['admin_panel']['subtabs'] = $subtabs;
345 + $admin_panel_subtabs = $subtabs;
346 + unset( $tabs['admin_panel'] );
347 +
348 +
349 + // =============================================================================================================
350 + // == Advanced ==
351 + // =============================================================================================================
352 + $tabs['advanced'] = array(
353 + 'is_show_top_path' => true, // true | false. By default value is: true.
354 + 'is_show_top_navigation' => false, // true | false. By default value is: false.
355 + 'left_navigation__default_view_mode' => '', // '' | 'min' | 'compact' | 'max' | 'none'. By default value is: ''.
356 + 'page_title' => __( 'General Settings', 'booking' ), // Header - Title. If false, than hidden.
357 + // translators: 1: Booking Calendar.
358 + 'page_description' => sprintf( __( 'Configure various options and settings in the %s.', 'booking' ), 'Booking Calendar' ),
359 + 'title' => __( 'Advanced', 'booking' ), // Left Vertical Menu - Title.
360 + // translators: 1: Booking Calendar.
361 + 'hint' => sprintf( __( 'Configure various options and settings in the %s.', 'booking' ), 'Booking Calendar' ),
362 + 'font_icon' => 'wpbc-bi-gear', // Left Vertical Menu - Icon.
363 + 'link' => '', // Can be skiped, then generated link based on Page and Tab tags. Or can be extenral link.
364 + 'css_classes' => '', // CSS.
365 + 'icon' => '', // Icon - link to the real PNG img.
366 + 'default' => false, // Is this tab activated by default or not: true / false.
367 + 'folder_style' => 'order:1000',
368 + );
369 +
370 + $subtabs = array();
371 +
372 + $section_id = 'wpbc_general_settings_advanced_metabox';
373 + $subtabs['advanced_options'] = array_merge(
374 + $subtab_default,
375 + array(
376 + 'title' => __( 'Advanced Options', 'booking' ),
377 + 'page_title' => __( 'General Settings', 'booking' ),
378 + 'hint' => __( 'Configure loading of CSS/JavaScript files, set the number of simultaneous requests, and other advanced options.', 'booking' ),
379 + 'font_icon' => 'wpbc_icn_adjust',
380 + 'font_icon_right' => 'wpbc-bi-question-circle',
381 + 'css_classes' => 'do_expand__' . $section_id . '_link',
382 + 'onclick' => "wpbc_admin_ui__do__open_url__expand_section( '" . wpbc_get_settings_url() . "', '" . $section_id . "' );",
383 + 'default' => false,
384 + )
385 + );
386 +
387 + $section_id = 'wpbc_general_settings_uninstall_metabox';
388 + $subtabs['uninstall'] = array_merge(
389 + $subtab_default,
390 + array(
391 + 'title' => __( 'Uninstall / Deactivation', 'booking' ),
392 + 'page_title' => __( 'General Settings', 'booking' ),
393 + 'hint' => __( 'Enable the option to fully erase booking data when the plugin is deactivated.', 'booking' ),
394 + 'font_icon' => 'wpbc-bi-trash',
395 + 'font_icon_right' => 'wpbc-bi-question-circle',
396 + 'css_classes' => 'do_expand__' . $section_id . '_link',
397 + 'onclick' => "wpbc_admin_ui__do__open_url__expand_section( '" . wpbc_get_settings_url() . "', '" . $section_id . "' );",
398 + 'default' => false,
399 + )
400 + );
401 +
402 + $section_id = 'wpbc_general_settings_information_metabox';
403 + $subtabs['information'] = array_merge(
404 + $subtab_default,
405 + array(
406 + 'title' => __( 'Plugin Info & News', 'booking' ),
407 + 'page_title' => __( 'General Settings', 'booking' ),
408 + 'hint' => __( 'Stay informed with the latest news and details about the plugin.', 'booking' ),
409 + 'font_icon' => 'wpbc_icn_newspaper -bi-newspaper _icn_news 0wpbc-bi-translate',
410 + 'font_icon_right' => 'wpbc-bi-question-circle',
411 + 'css_classes' => 'do_expand__' . $section_id . '_link',
412 + 'onclick' => "wpbc_admin_ui__do__open_url__expand_section( '" . wpbc_get_settings_url() . "', '" . $section_id . "' );",
413 + 'default' => false,
414 + )
415 + );
416 +
417 + $section_id = 'wpbc_general_settings_help_metabox';
418 + $subtabs['tools'] = array_merge(
419 + $subtab_default,
420 + array(
421 + 'title' => __( 'Tools', 'booking' ),
422 + 'page_title' => __( 'General Settings', 'booking' ),
423 + 'hint' => '', //__( 'Stay informed with the latest news and details about the plugin. ', 'booking' ),
424 + 'font_icon' => 'wpbc_icn_construction',
425 + 'font_icon_right' => '',
426 + 'css_classes' => 'do_expand__' . $section_id . '_link',
427 + 'onclick' => "wpbc_admin_ui__do__open_url__expand_section( '" . wpbc_get_settings_url() . "', '" . $section_id . "' );",
428 + 'default' => false,
429 + )
430 + );
431 + $tabs['advanced']['subtabs'] = array_merge( $admin_panel_subtabs, $subtabs );
432 +
433 + // FixIn: 10.12.4.7. $tabs[ 'settings' . ( ++$separator_i ) ] = array_merge( $subtab_default, array( 'type' => 'separator' ,'folder_style' => 'order:900;' ) );
434 + // $tabs[ 'settings' . ( ++$separator_i ) ] = array_merge( $subtab_default, array( 'type' => 'separator' ,'folder_style' => 'order:1000;' ) );
435 +
436 + return $tabs;
437 + }
438 +
439 +
440 + public function content() {
441 +
442 + // Checking.
443 +
444 + do_action( 'wpbc_hook_settings_page_header', 'general_settings' ); // Define Notices Section and show some static messages, if needed.
445 +
446 + if ( ! wpbc_is_mu_user_can_be_here( 'activated_user' ) ) {
447 + return false;
448 + } // Check if MU user activated, otherwise show Warning message.
449 +
450 + if ( ! wpbc_is_mu_user_can_be_here( 'only_super_admin' ) ) {
451 + return false;
452 + } // User is not Super admin, so exit. Basically its was already checked at the bottom of the PHP file, just in case.
453 +
454 + // Redirect legacy Settings > Calendar links to the dedicated Calendar settings page.
455 + // phpcs:ignore WordPress.Security.NonceVerification.Recommended, WordPress.Security.NonceVerification.Missing
456 + if ( ! empty( $_GET['scroll_to_section'] ) ) {
457 + $scroll_to_section = sanitize_text_field( wp_unslash( $_GET['scroll_to_section'] ) );
458 +
459 + if ( 'wpbc_general_settings_calendar_tab' === $scroll_to_section ) {
460 + wpbc_redirect( function_exists( 'wpbc_settings_calendar__get_section_url' ) ? wpbc_settings_calendar__get_section_url( 'general' ) : admin_url( 'admin.php?page=wpbc-settings&tab=calendar_settings' ) );
461 + return;
462 + }
463 +
464 + if ( 'wpbc_general_settings_days_tooltips_tab' === $scroll_to_section ) {
465 + wpbc_redirect( function_exists( 'wpbc_settings_calendar__get_section_url' ) ? wpbc_settings_calendar__get_section_url( 'tooltips' ) : admin_url( 'admin.php?page=wpbc-settings&tab=calendar_settings&wpbc_calendar_section=tooltips' ) );
466 + return;
467 + }
468 +
469 + if ( 'wpbc_general_settings_availability_tab' === $scroll_to_section ) {
470 + wpbc_redirect( function_exists( 'wpbc_get_general_availability_url' ) ? wpbc_get_general_availability_url() : admin_url( 'admin.php?page=wpbc-availability&tab=general_availability' ) );
471 + return;
472 + }
473 + }
474 +
475 + $is_can = apply_bk_filter( 'recheck_version', true );
476 + if ( ! $is_can ) {
477 + ?>
478 + <script type="text/javascript"> jQuery(document).ready(function () {
479 + jQuery('.wpdvlp-sub-tabs').remove();
203 480 });
204 - </script><?php
205 - }
481 + </script>
482 + <?php
483 + return;
484 + }
206 485
207 - // JavaScript: Tooltips, Popover, Datepick (js & css) //////////////////
208 - echo '<span class="wpdevelop">';
209 - wpbc_js_for_bookings_page();
210 - echo '</span>';
211 486
487 + // Init Settings API & Get Data from DB.
488 + $this->settings_api(); // Define all fields and get values from DB.
212 489
213 - // Content ////////////////////////////////////////////////////////////
214 - ?>
215 - <div class="clear" style="margin-bottom:10px;"></div>
490 + // Submit .
491 +
492 + $submit_form_name = 'wpbc_general_settings_form'; // Define form name.
493 +
494 + // phpcs:ignore WordPress.Security.NonceVerification.Recommended, WordPress.Security.NonceVerification.Missing
495 + if ( isset( $_POST[ 'is_form_sbmitted_' . $submit_form_name ] ) ) {
496 +
497 + // Nonce checking {Return false if invalid, 1 if generated between, 0-12 hours ago, 2 if generated between 12-24 hours ago. }.
498 + $nonce_gen_time = check_admin_referer( 'wpbc_settings_page_' . $submit_form_name ); // Its stop show anything on submiting, if its not refear to the original page.
499 +
500 + // Save Changes .
501 + $this->update();
502 + }
503 + // phpcs:ignore WordPress.Security.NonceVerification.Recommended, WordPress.Security.NonceVerification.Missing
504 + if ( ! empty( $_GET['scroll_to_section'] ) ) {
505 + ?>
506 + <script type="text/javascript">
507 + jQuery(document).ready(function () {
508 + jQuery('#<?php echo esc_js( sanitize_text_field( wp_unslash( $_GET['scroll_to_section'] ) ) ); ?> a').trigger('click');
509 + });
510 + </script>
511 + <?php
512 + }
513 +
514 + // JavaScript: Tooltips, Popover, Datepick (js & css) .
515 + echo '<span class="wpdevelop">';
516 + wpbc_js_for_bookings_page();
517 + echo '</span>';
518 +
519 + // TODO: 2025-05-05 update in real top path. wpbc_ui_settings__top_path();
520 +
521 + // Content .
522 + ?>
523 + <div class="clear"></div>
216 524 <div class="wpbc_settings_flex_container">
217 525
218 - <div class="wpbc_settings_flex_container_left">
526 + <div class="wpbc_settings_flex_container_left" style="display:none;">
219 527
220 528 <div class="wpbc_settings_navigation_column">
221 529
222 - <div id="wpbc_general_settings_calendar_tab" class="wpbc_settings_navigation_item wpbc_settings_navigation_item_active">
223 - <a class="" original-title="" onclick="javascript:wpbc_navigation_click_show_section(this,'#wpbc_general_settings_calendar_metabox' );" href="javascript:void(0);">
224 - <span><?php _e( 'Calendar', 'booking' ) ?></span>
225 - </a>
530 + <div id="wpbc_general_settings_dashboard_tab" class="wpbc_settings_navigation_item wpbc_settings_navigation_item_active">
531 + <?php
532 + $title = esc_attr__( 'Dashboard', 'booking' );
533 + ?>
534 + <a onclick="javascript:wpbc_ui_settings__panel__click( '#wpbc_general_settings_dashboard_tab a' ,'#wpbc_general_settings_dashboard_metabox', '<?php echo esc_js( $title ); ?>' );"
535 + href="javascript:void(0);"><span><?php echo esc_html( $title ); ?></span></a>
536 + </div>
537 + <div id="wpbc_general_settings_booking_confirmation_tab" class="wpbc_settings_navigation_item">
538 + <?php
539 + $title = esc_attr__( 'Booking Confirmation', 'booking' );
540 + ?>
541 + <a onclick="javascript:wpbc_ui_settings__panel__click( '#wpbc_general_settings_booking_confirmation_tab a' ,'#wpbc_general_settings_booking_confirmation_metabox,#wpbc_general_settings_booking_confirmation_left_metabox,#wpbc_general_settings_booking_confirmation_right_metabox,#wpbc_general_settings_booking_confirmation_help_metabox', '<?php echo esc_js( $title ); ?>' );" href="javascript:void(0);"><span><?php echo esc_html( $title ); ?></span></a>
226 542 </div>
227 - <div id="wpbc_general_settings_days_tooltips_tab" class="wpbc_settings_navigation_item wpbc_navigation_sub_item">
228 - <a class="" original-title="" onclick="javascript:wpbc_navigation_click_show_section(this,'#wpbc_general_settings_days_tooltips_metabox' );" href="javascript:void(0);">
229 - <span><?php _e( 'Tooltips in days', 'booking' ) ?></span>
230 - </a>
231 - </div>
232 - <div id="wpbc_general_settings_availability_tab" class="wpbc_settings_navigation_item wpbc_navigation_sub_item">
233 - <a class="" original-title="" onclick="javascript:wpbc_navigation_click_show_section(this,'#wpbc_general_settings_availability_metabox' );" href="javascript:void(0);">
234 - <span><?php _e( 'Availability', 'booking' ) ?></span>
235 - </a>
236 - </div>
237 - <div id="wpbc_general_settings_capacity_tab" class="wpbc_settings_navigation_item wpbc_navigation_sub_item">
238 - <a class="" original-title="" onclick="javascript:wpbc_navigation_click_show_section(this,'#wpbc_general_settings_capacity_metabox,#wpbc_general_settings_capacity_upgrade_metabox' );" href="javascript:void(0);">
239 - <span><?php _e( 'Capacity', 'booking' ) ?></span>
240 - </a>
241 - </div>
242 - <div id="wpbc_general_settings_form_tab" class="wpbc_settings_navigation_item">
243 - <a class="" original-title="" onclick="javascript:wpbc_navigation_click_show_section(this,'#wpbc_general_settings_form_metabox' );" href="javascript:void(0);">
244 - <span><?php _e( 'Form Options', 'booking' ) ?></span>
245 - </a>
246 - </div>
247 - <div id="wpbc_general_settings_time_slots_tab" class="wpbc_settings_navigation_item wpbc_navigation_sub_item">
248 - <a class="" original-title="" onclick="javascript:wpbc_navigation_click_show_section(this,'#wpbc_general_settings_time_slots_metabox' );" href="javascript:void(0);">
249 - <span><?php _e( 'Time Slots', 'booking' ) ?></span>
250 - </a>
251 - </div>
252 - <div id="wpbc_general_settings_booking_confirmation_tab" class="wpbc_settings_navigation_item">
253 - <a class="" original-title="" onclick="javascript:wpbc_navigation_click_show_section(this,'#wpbc_general_settings_booking_confirmation_metabox' );" href="javascript:void(0);">
254 - <span><?php _e( 'Booking Confirmation', 'booking' ) ?></span>
255 - </a>
256 - </div>
257 543
258 - <div id="wpbc_general_settings_booking_timeline_tab" class="wpbc_settings_navigation_item wpbc_navigation_top_border">
259 - <a class="" original-title="" onclick="javascript:wpbc_navigation_click_show_section(this,'#wpbc_general_settings_booking_timeline_metabox' );" href="javascript:void(0);">
260 - <span><?php _e( 'Timeline (front-end)', 'booking' ) ?></span>
261 - </a>
262 - </div>
263 - <?php if ( class_exists('wpdev_bk_personal') ) { ?>
544 + <?php if ( class_exists('wpdev_bk_personal') ) { ?>
264 545 <div id="wpbc_general_settings_bookings_options_tab" class="wpbc_settings_navigation_item wpbc_navigation_top_border">
265 - <a class="" original-title="" onclick="javascript:wpbc_navigation_click_show_section(this,'#wpbc_general_settings_bookings_options_metabox' );" href="javascript:void(0);">
266 - <span><?php _e( 'Manage Bookings', 'booking' ) ?></span>
267 - </a>
546 + <?php
547 + $title = esc_attr__( 'Manage Bookings', 'booking' );
548 + ?>
549 + <a onclick="javascript:wpbc_ui_settings__panel__click( '#wpbc_general_settings_bookings_options_tab a' ,'#wpbc_general_settings_bookings_options_metabox', '<?php echo esc_js( $title ); ?>' );" href="javascript:void(0);"><span><?php echo esc_html( $title ); ?></span></a>
268 550 </div>
269 551 <?php } ?>
270 552
271 553 <?php if ( class_exists('wpdev_bk_biz_s') ) { ?>
272 - <div id="wpbc_general_settings_auto_cancelation_approval_tab" class="wpbc_settings_navigation_item wpbc_navigation_sub_item">
273 - <a class="" original-title="" onclick="javascript:wpbc_navigation_click_show_section(this,'#wpbc_general_settings_auto_cancelation_approval_metabox' );" href="javascript:void(0);">
274 - <span><?php _e( 'Auto Cancellation / Auto Approval', 'booking' ) ?></span>
275 - </a>
554 + <div id="wpbc_general_settings_auto_cancelation_approval_tab" class="wpbc_settings_navigation_item wpbc_navigation_sub_item">
555 + <?php
556 + $title = esc_attr__( 'Auto Cancellation / Auto Approval', 'booking' );
557 + ?>
558 + <a onclick="javascript:wpbc_ui_settings__panel__click( '#wpbc_general_settings_auto_cancelation_approval_tab a' ,'#wpbc_general_settings_auto_cancelation_approval_metabox', '<?php echo esc_js( $title ); ?>' );" href="javascript:void(0);"><span><?php echo esc_html( $title ); ?></span></a>
276 559 </div>
277 560 <?php } ?>
278 561
279 562
280 - <?php if ( class_exists('wpdev_bk_multiuser') ) { ?>
281 - <div id="wpbc_general_settings_multiuser_tab" class="wpbc_settings_navigation_item">
282 - <a class="" original-title="" onclick="javascript:wpbc_navigation_click_show_section(this,'#wpbc_general_settings_multiuser_metabox' );" href="javascript:void(0);">
283 - <span><?php _e( 'Multiuser options', 'booking' ) ?></span>
284 - </a>
285 - </div>
286 - <?php } ?>
287 -
288 563 <div id="wpbc_general_settings_booking_listing_tab" class="wpbc_settings_navigation_item wpbc_navigation_top_border">
289 - <a class="" original-title="" onclick="javascript:wpbc_navigation_click_show_section(this,'#wpbc_general_settings_booking_listing_metabox' );" href="javascript:void(0);">
290 - <span><?php _e( 'Admin Panel', 'booking' ) ?></span>
291 - </a>
564 + <?php
565 + $title = esc_attr__( 'Admin Panel', 'booking' );
566 + ?>
567 + <a onclick="javascript:wpbc_ui_settings__panel__click( '#wpbc_general_settings_booking_listing_tab a' ,'#wpbc_general_settings_booking_listing_metabox', '<?php echo esc_js( $title ); ?>' );" href="javascript:void(0);"><span><?php echo esc_html( $title ); ?></span></a>
292 568 </div>
293 569 <div id="wpbc_general_settings_booking_calendar_overview_tab" class="wpbc_settings_navigation_item wpbc_navigation_sub_item">
294 - <a class="" original-title="" onclick="javascript:wpbc_navigation_click_show_section(this,'#wpbc_general_settings_booking_calendar_overview_metabox' );" href="javascript:void(0);">
295 - <span><?php _e( 'Calendar Overview', 'booking' ) ?></span>
296 - </a>
570 + <?php
571 + $title = esc_attr__( 'Timeline View', 'booking' );
572 + ?>
573 + <a onclick="javascript:wpbc_ui_settings__panel__click( '#wpbc_general_settings_booking_calendar_overview_tab a' ,'#wpbc_general_settings_booking_calendar_overview_metabox', '<?php echo esc_js( $title ); ?>' );" href="javascript:void(0);"><span><?php echo esc_html( $title ); ?></span></a>
574 + </div>
575 + <div id="wpbc_general_settings_booking_timeline_tab" class="wpbc_settings_navigation_item wpbc_navigation_sub_item">
576 + <?php
577 + $title = esc_attr__( 'Timeline (front-end)', 'booking' );
578 + ?>
579 + <a onclick="javascript:wpbc_ui_settings__panel__click( '#wpbc_general_settings_booking_timeline_tab a' ,'#wpbc_general_settings_booking_timeline_metabox', '<?php echo esc_js( $title ); ?>' );" href="javascript:void(0);"><span><?php echo esc_html( $title ); ?></span></a>
580 + </div>
581 + <div id="wpbc_general_settings_datestimes_tab" class="wpbc_settings_navigation_item wpbc_navigation_sub_item">
582 + <?php
583 + $title = esc_attr__( 'Date / Time Formats', 'booking' );
584 + ?>
585 + <a onclick="javascript:wpbc_ui_settings__panel__click( '#wpbc_general_settings_datestimes_tab a' ,'#wpbc_general_settings_datestimes_metabox', '<?php echo esc_js( $title ); ?>' );" href="javascript:void(0);"><span><?php echo esc_html( $title ); ?></span></a>
297 586 </div>
298 - <div id="wpbc_general_settings_datestimes_tab" class="wpbc_settings_navigation_item wpbc_navigation_sub_item">
299 - <a class="" original-title="" onclick="javascript:wpbc_navigation_click_show_section(this,'#wpbc_general_settings_datestimes_metabox' );" href="javascript:void(0);">
300 - <span><?php _e( 'Date / Time Formats', 'booking' ) ?></span>
301 - </a>
302 - </div>
303 587 <div id="wpbc_general_settings_permissions_tab" class="wpbc_settings_navigation_item wpbc_navigation_sub_item">
304 - <a class="" original-title="" onclick="javascript:wpbc_navigation_click_show_section(this,'#wpbc_general_settings_permissions_metabox' );" href="javascript:void(0);">
305 - <span><?php _e( 'Plugin Menu / Permissions', 'booking' ) ?></span>
306 - </a>
588 + <?php
589 + $title = esc_attr__( 'Plugin Menu / Permissions', 'booking' );
590 + ?>
591 + <a onclick="javascript:wpbc_ui_settings__panel__click( '#wpbc_general_settings_permissions_tab a' ,'#wpbc_general_settings_permissions_metabox', '<?php echo esc_js( $title ); ?>' );" href="javascript:void(0);"><span><?php echo esc_html( $title ); ?></span></a>
307 592 </div>
308 593 <div id="wpbc_general_settings_translations_tab" class="wpbc_settings_navigation_item wpbc_navigation_sub_item">
309 - <a class="" original-title="" onclick="javascript:wpbc_navigation_click_show_section(this,'#wpbc_general_settings_translations_metabox' );" href="javascript:void(0);">
310 - <span><?php _e( 'Translations', 'booking' ) ?></span>
311 - </a>
594 + <?php
595 + $title = esc_attr__( 'Translations', 'booking' );
596 + ?>
597 + <a onclick="javascript:wpbc_ui_settings__panel__click( '#wpbc_general_settings_translations_tab a' ,'#wpbc_general_settings_translations_metabox', '<?php echo esc_js( $title ); ?>' );" href="javascript:void(0);"><span><?php echo esc_html( $title ); ?></span></a>
312 598 </div>
313 599 <div id="wpbc_general_settings_advanced_tab" class="wpbc_settings_navigation_item">
314 - <a class="" original-title="" onclick="javascript:wpbc_navigation_click_show_section(this,'#wpbc_general_settings_advanced_metabox' );" href="javascript:void(0);">
315 - <span><?php _e( 'Advanced', 'booking' ) ?></span>
316 - </a>
600 + <?php
601 + $title = esc_attr__( 'Advanced', 'booking' );
602 + ?>
603 + <a onclick="javascript:wpbc_ui_settings__panel__click( '#wpbc_general_settings_advanced_tab a' ,'#wpbc_general_settings_advanced_metabox', '<?php echo esc_js( $title ); ?>' );" href="javascript:void(0);"><span><?php echo esc_html( $title ); ?></span></a>
317 604 </div>
318 605 <div id="wpbc_general_settings_uninstall_tab" class="wpbc_settings_navigation_item wpbc_navigation_sub_item">
319 - <a class="" original-title="" onclick="javascript:wpbc_navigation_click_show_section(this,'#wpbc_general_settings_uninstall_metabox' );" href="javascript:void(0);">
320 - <span><?php _e( 'Uninstall / deactivation', 'booking' ) ?></span>
321 - </a>
606 + <?php
607 + $title = esc_attr__( 'Uninstall / deactivation', 'booking' );
608 + ?>
609 + <a onclick="javascript:wpbc_ui_settings__panel__click( '#wpbc_general_settings_uninstall_tab a' ,'#wpbc_general_settings_uninstall_metabox', '<?php echo esc_js( $title ); ?>' );" href="javascript:void(0);"><span><?php echo esc_html( $title ); ?></span></a>
322 610 </div>
323 611 <div id="wpbc_general_settings_information_tab" class="wpbc_settings_navigation_item wpbc_navigation_sub_item">
324 - <a class="" original-title="" onclick="javascript:wpbc_navigation_click_show_section(this,'#wpbc_general_settings_information_metabox' );" href="javascript:void(0);">
325 - <span><?php _e( 'Info / News', 'booking' ) ?></span>
326 - </a>
612 + <?php
613 + $title = esc_attr__( 'Info / News', 'booking' );
614 + ?>
615 + <a onclick="javascript:wpbc_ui_settings__panel__click( '#wpbc_general_settings_information_tab a' ,'#wpbc_general_settings_information_metabox', '<?php echo esc_js( $title ); ?>' );" href="javascript:void(0);"><span><?php echo esc_html( $title ); ?></span></a>
327 616 </div>
328 -
329 617 <?php if ( ( class_exists('wpdev_bk_personal') ) && ( ! wpbc_is_this_demo() ) ) { ?>
330 618 <div id="wpbc_general_settings_help_tab" class="wpbc_settings_navigation_item wpbc_navigation_sub_item">
331 - <a class="" original-title="" onclick="javascript:wpbc_navigation_click_show_section(this,'#wpbc_general_settings_help_metabox' );" href="javascript:void(0);">
332 - <span><?php _e( 'Tools', 'booking' ) ?></span>
333 - </a>
619 + <?php
620 + $title = esc_attr__( 'Tools', 'booking' );
621 + ?>
622 + <a onclick="javascript:wpbc_ui_settings__panel__click( '#wpbc_general_settings_help_tab a' ,'#wpbc_general_settings_help_metabox', '<?php echo esc_js( $title ); ?>' );" href="javascript:void(0);"><span><?php echo esc_html( $title ); ?></span></a>
334 623 </div>
335 624 <?php } ?>
336 625
337 626 <div id="wpbc_general_settings_all_tab" class="wpbc_settings_navigation_item wpbc_navigation_top_border">
338 - <a class="" original-title="" onclick="javascript:wpbc_navigation_click_show_section(this,'.postbox' );" href="javascript:void(0);">
339 - <span><?php _e( 'Show All Settings', 'booking' ) ?></span>
340 - </a>
627 + <?php
628 + $title = esc_attr__( 'Show All Settings', 'booking' );
629 + ?>
630 + <a onclick="javascript:wpbc_ui_settings__panel__click( '#wpbc_general_settings_all_tab a' ,'.postbox', '<?php echo esc_js( $title ); ?>' );"
631 + href="javascript:void(0);"><span><?php echo esc_html( $title ); ?></span></a>
341 632 </div>
342 633
343 634 </div>
344 635
@@ -345,62 +636,68 @@
345 636 </div>
346 637 <div class="wpbc_settings_flex_container_right">
347 638
348 639 <span class="metabox-holder">
349 - <form name="<?php echo $submit_form_name; ?>" id="<?php echo $submit_form_name; ?>" action="" method="post">
640 + <form name="<?php echo esc_attr( $submit_form_name ); ?>" id="<?php echo esc_attr( $submit_form_name ); ?>" action="" method="post">
350 641 <?php
351 - // N o n c e field, and key for checking S u b m i t
352 - wp_nonce_field( 'wpbc_settings_page_' . $submit_form_name );
353 - ?><input type="hidden" name="is_form_sbmitted_<?php echo $submit_form_name; ?>" id="is_form_sbmitted_<?php echo $submit_form_name; ?>" value="1" />
354 - <input type="hidden" name="form_visible_section" id="form_visible_section" value="" />
642 + // N o n c e field, and key for checking S u b m i t.
643 + wp_nonce_field( 'wpbc_settings_page_' . $submit_form_name );
644 + ?>
645 + <input type="hidden" name="is_form_sbmitted_<?php echo esc_attr( $submit_form_name ); ?>" id="is_form_sbmitted_<?php echo esc_attr( $submit_form_name ); ?>" value="1"/>
646 + <input type="hidden" name="form_visible_section" id="form_visible_section" value=""/>
355 647
356 - <?php if ( wpbc_is_show_general_setting_options() ) { //FixIn: 8.9.4.11 ?>
648 + <?php
649 + if ( wpbc_is_show_general_setting_options() ) {
650 + // FixIn: 8.9.4.11.
651 + ?>
357 652
358 653 <div class="wpbc_settings_row wpbc_settings_row_full_width" >
359 654
360 - <?php wpbc_open_meta_box_section( 'wpbc_general_settings_calendar', __('Calendar', 'booking'), array( 'is_section_visible_after_load' => true, 'is_show_minimize' => false ) ); ?>
655 + <div id="wpbc_general_settings_dashboard_metabox" class="postbox"
656 + style="background: transparent;border: 0;box-shadow: none;"><?php //wpbc_open_meta_box_section( 'wpbc_general_settings_dashboard', __('Dashboard'), array( 'is_section_visible_after_load' => true, 'is_show_minimize' => false ) ); ?>
657 + <?php
361 658
362 - <?php $this->settings_api()->show( 'calendar' ); ?>
659 + wpbc_ui_settings__panel__statistic();
363 660
364 - <?php wpbc_close_meta_box_section(); ?>
661 + wpbc_ui_settings__panel__all_settings_panels();
365 662
663 + wpbc_ui_settings__panel__plugin_version();
366 664
367 - <?php wpbc_open_meta_box_section( 'wpbc_general_settings_days_tooltips', __('Calendar Dates Tooltips', 'booking'), array( 'is_section_visible_after_load' => false, 'is_show_minimize' => false ) ); ?>
665 + ?></div><?php //wpbc_close_meta_box_section(); ?>
368 666
369 - <?php $this->settings_api()->show( 'days_tooltips' ); ?>
667 + <?php
668 + wpbc_open_meta_box_section( 'wpbc_general_settings_booking_confirmation',
669 + __( 'Booking Confirmation', 'booking' ),
670 + array( 'is_section_visible_after_load' => false, 'is_show_minimize' => false ) );
671 + $this->settings_api()->show( 'booking_confirmation' );
672 + wpbc_close_meta_box_section();
673 + ?>
674 + <div class="wpbc_settings_row wpbc_settings_row_left">
675 + <?php
676 + wpbc_open_meta_box_section( 'wpbc_general_settings_booking_confirmation_left',
677 + __( 'Section', 'booking' ) . ': ' . __( 'Personal Information', 'booking' ),
678 + array( 'is_section_visible_after_load' => false, 'is_show_minimize' => false ) );
679 + $this->settings_api()->show( 'booking_confirmation_left' );
680 + wpbc_close_meta_box_section();
370 681
371 - <?php wpbc_close_meta_box_section(); ?>
682 + wpbc_open_meta_box_section( 'wpbc_general_settings_booking_confirmation_right',
683 + __( 'Section', 'booking' ) . ': ' . __( 'Booking details', 'booking' ),
684 + array( 'is_section_visible_after_load' => false, 'is_show_minimize' => false ) );
685 + $this->settings_api()->show( 'booking_confirmation_right' );
686 + wpbc_close_meta_box_section();
687 + ?>
688 + </div>
689 + <div class="wpbc_settings_row wpbc_settings_row_right">
690 + <?php
691 + wpbc_open_meta_box_section( 'wpbc_general_settings_booking_confirmation_help',
692 + __( 'Shortcodes', 'booking' ),
693 + array( 'is_section_visible_after_load' => false, 'is_show_minimize' => false ) );
694 + $this->settings_api()->show( 'booking_confirmation_help' );
695 + wpbc_close_meta_box_section();
696 + ?>
697 + </div>
698 + <div class="clear"></div>
372 699
373 -
374 -
375 - <?php wpbc_open_meta_box_section( 'wpbc_general_settings_time_slots', __('Time Slots', 'booking'), array( 'is_section_visible_after_load' => false, 'is_show_minimize' => false ) ); ?>
376 -
377 - <?php $this->settings_api()->show( 'time_slots' ); ?>
378 -
379 - <?php wpbc_close_meta_box_section(); ?>
380 -
381 -
382 - <?php wpbc_open_meta_box_section( 'wpbc_general_settings_availability', __('Availability', 'booking'), array( 'is_section_visible_after_load' => false, 'is_show_minimize' => false ) ); ?>
383 -
384 - <?php $this->settings_api()->show( 'availability' ); ?>
385 -
386 - <?php wpbc_close_meta_box_section(); ?>
387 -
388 -
389 - <?php wpbc_open_meta_box_section( 'wpbc_general_settings_form', __('Form Options', 'booking'), array( 'is_section_visible_after_load' => false, 'is_show_minimize' => false ) ); ?>
390 -
391 - <?php $this->settings_api()->show( 'form' ); ?>
392 -
393 - <?php wpbc_close_meta_box_section(); ?>
394 -
395 -
396 - <?php wpbc_open_meta_box_section( 'wpbc_general_settings_booking_confirmation', __('Booking Confirmation', 'booking'), array( 'is_section_visible_after_load' => false, 'is_show_minimize' => false ) ); ?>
397 -
398 - <?php $this->settings_api()->show( 'booking_confirmation' ); ?>
399 -
400 - <?php wpbc_close_meta_box_section(); ?>
401 -
402 -
403 700 <?php if ( class_exists('wpdev_bk_personal') ) { ?>
404 701 <?php wpbc_open_meta_box_section( 'wpbc_general_settings_bookings_options', __('Bookings Options', 'booking'), array( 'is_section_visible_after_load' => false, 'is_show_minimize' => false ) ); ?>
405 702
406 703 <?php $this->settings_api()->show( 'bookings_options' ); ?>
@@ -417,9 +714,9 @@
417 714
418 715
419 716 <?php wpbc_open_meta_box_section( 'wpbc_general_settings_booking_calendar_overview', __('Calendar Overview (admin panel)', 'booking'), array( 'is_section_visible_after_load' => false, 'is_show_minimize' => false ) ); ?>
420 717
421 - <?php //FixIn: 8.5.2.20
718 + <?php // FixIn: 8.5.2.20.
422 719 $this->settings_api()->show( 'booking_calendar_overview' );
423 720 ?>
424 721
425 722 <?php wpbc_close_meta_box_section(); ?>
@@ -444,49 +741,8 @@
444 741 <?php wpbc_close_meta_box_section(); ?>
445 742
446 743 <?php } ?>
447 744
448 -
449 -
450 - <?php wpbc_open_meta_box_section( 'wpbc_general_settings_capacity', __('Capacity', 'booking'), array( 'is_section_visible_after_load' => false, 'is_show_minimize' => false ) ); ?>
451 -
452 - <?php $this->settings_api()->show( 'capacity' ); ?>
453 -
454 - <?php wpbc_close_meta_box_section(); ?>
455 -
456 -
457 - <?php
458 - if ( ! class_exists( 'wpdev_bk_personal' ) ) {
459 -
460 - $wpbc_metabox_id = 'wpbc_general_settings_capacity_upgrade';
461 -
462 - ob_start();
463 - $is_panel_visible = wpbc_is_dismissed( $wpbc_metabox_id . '_metabox', array(
464 - 'title' => '<i class="menu_icon icon-1x wpbc_icn_close"></i> ',
465 - 'hint' => __( 'Dismiss', 'booking' ),
466 - 'class' => 'wpbc_panel_get_started_dismiss',
467 - 'css' => 'background: #fff;border-radius: 7px;'
468 - ));
469 - ?><script type="text/javascript"> jQuery('#<?php echo $wpbc_metabox_id; ?>_metabox').hide(); </script><?php
470 - $dismiss_button_content = ob_get_clean();
471 -
472 - if ( $is_panel_visible ) {
473 -
474 - wpbc_open_meta_box_section( $wpbc_metabox_id,
475 - __('Booking Quantity Control - Set limits for the number of bookings per day or time slot.', 'booking'),
476 - array( 'is_section_visible_after_load' => false,
477 - 'is_show_minimize' => false,
478 - 'dismiss_button' => $dismiss_button_content
479 - ) );
480 -
481 - $this->settings_api()->show( 'capacity_upgrade' );
482 -
483 - wpbc_close_meta_box_section();
484 - }
485 - }
486 - ?>
487 -
488 -
489 745 <?php wpbc_open_meta_box_section( 'wpbc_general_settings_advanced', __('Advanced', 'booking'), array( 'is_section_visible_after_load' => false, 'is_show_minimize' => false ) ); ?>
490 746
491 747 <?php $this->settings_api()->show( 'advanced' ); ?>
492 748
@@ -492,13 +748,13 @@
492 748
493 749 <?php wpbc_close_meta_box_section(); ?>
494 750
495 751
496 - <?php wpbc_open_meta_box_section( 'wpbc_general_settings_information', __('Information', 'booking'), array( 'is_section_visible_after_load' => false, 'is_show_minimize' => false ) ); ?>
752 + <?php wpbc_open_meta_box_section( 'wpbc_general_settings_information', __('Information', 'booking'), array( 'is_section_visible_after_load' => false, 'is_show_minimize' => false ) ); ?>
497 753
498 - <?php $this->settings_api()->show( 'information' ); ?>
754 + <?php $this->settings_api()->show( 'information' ); ?>
499 755
500 - <?php wpbc_close_meta_box_section(); ?>
756 + <?php wpbc_close_meta_box_section(); ?>
501 757
502 758
503 759
504 760 <?php wpbc_open_meta_box_section( 'wpbc_general_settings_datestimes', __('Date : Time', 'booking'), array( 'is_section_visible_after_load' => false, 'is_show_minimize' => false ) ); ?>
@@ -522,16 +778,20 @@
522 778
523 779 <?php wpbc_close_meta_box_section(); ?>
524 780
525 781 <?php if ( ( class_exists( 'wpdev_bk_personal' ) ) && ( ! wpbc_is_this_demo() ) ) { ?>
526 - <?php wpbc_open_meta_box_section( 'wpbc_general_settings_help', __('Tools', 'booking'), array( 'is_section_visible_after_load' => false, 'is_show_minimize' => false ) ); ?>
782 + <?php wpbc_open_meta_box_section( 'wpbc_general_settings_help', __( 'Tools', 'booking' ), array( 'is_section_visible_after_load' => false, 'is_show_minimize' => false ) ); ?>
527 783
528 - <?php $this->settings_api()->show( 'help' ); ?>
529 -
530 - <?php wpbc_close_meta_box_section(); ?>
784 + <?php $this->settings_api()->show( 'help' ); ?>
785 +
786 + <?php if ( function_exists( 'wpbc_customer_access_render_rate_limit_reset_tool' ) ) { ?>
787 + <?php wpbc_customer_access_render_rate_limit_reset_tool(); ?>
788 + <?php } ?>
789 +
790 + <?php wpbc_close_meta_box_section(); ?>
531 791 <?php } ?>
532 792
533 - <?php wpbc_open_meta_box_section( 'wpbc_general_settings_translations', __('Translations', 'booking'), array( 'is_section_visible_after_load' => false, 'is_show_minimize' => false ) ); ?>
793 + <?php wpbc_open_meta_box_section( 'wpbc_general_settings_translations', __( 'Translations', 'booking' ), array( 'is_section_visible_after_load' => false, 'is_show_minimize' => false ) ); ?>
534 794
535 795 <?php $this->settings_api()->show( 'translations' ); ?>
536 796
537 797 <?php wpbc_translation_buttons_settings_section(); ?>
@@ -537,34 +797,31 @@
537 797 <?php wpbc_translation_buttons_settings_section(); ?>
538 798
539 799 <?php wpbc_close_meta_box_section(); ?>
540 800
541 - <?php if ( class_exists('wpdev_bk_multiuser') ) { //FixIn: 9.2.3.8 ?>
542 -
543 - <?php wpbc_open_meta_box_section( 'wpbc_general_settings_multiuser', __('Multiuser options', 'booking'), array( 'is_section_visible_after_load' => false, 'is_show_minimize' => false ) ); ?>
544 -
545 - <?php $this->settings_api()->show( 'multiuser' ); ?>
546 -
547 - <?php wpbc_close_meta_box_section(); ?>
548 -
549 - <?php } ?>
550 -
551 801 </div>
552 -
553 802 <div class="clear"></div>
554 - <input type="submit" value="<?php _e('Save Changes','booking'); ?>" class="button button-primary wpbc_submit_button" />
555 - <?php
803 + <div class="container_for_save_buttons">
804 + <input type="submit" value="<?php esc_attr_e( 'Save Changes', 'booking' ); ?>" class="button button-primary wpbc_submit_button"/>
805 + <span class="sub_right">
806 + <a style="margin:0;" class="button button"
807 + onclick="javascript:wpbc_ui_settings__panel__click( '#wpbc_general_settings_all_tab a' ,'.postbox', 'Show All Settings' );"
808 + href="javascript:void(0);">
809 + <?php
810 + esc_html_e( 'Show All Settings', 'booking' )
811 + ?>
812 + </a>
813 + <?php
556 814 if ( 'translations_updated_from_wpbc_and_wp' !== get_bk_option( 'booking_translation_update_status' ) ) {
557 815
558 816 $current_locale = wpbc_get_maybe_reloaded_booking_locale();
559 817
560 - if ( ! in_array( $current_locale, array( 'en_US', 'en_CA', 'en_GB', 'en_AU' ) ) ) {
818 + if ( ! in_array( $current_locale, array( 'en_US', 'en_CA', 'en_GB', 'en_AU' ), true ) ) {
561 819
562 - echo
563 - '<a class="button button" href="'
564 - . wpbc_get_settings_url()
565 - . '&system_info=show&_wpnonce='. wp_create_nonce( 'wpbc_settings_url_nonce' ) .'&update_translations=1#wpbc_general_settings_system_info_metabox">'
566 - . __( 'Update Translations' )
820 + echo '<a class="button button" href="'
821 + . esc_url( wpbc_get_settings_url() . '&system_info=show&_wpnonce=' . wp_create_nonce( 'wpbc_settings_url_nonce' ) . '&update_translations=1#wpbc_general_settings_system_info_metabox' )
822 + . '">'
823 + . esc_html__( 'Update Translations', 'booking' )
567 824 . '</a>';
568 825 }
569 826 }
570 827
@@ -569,14 +826,17 @@
569 826 }
570 827
571 828 if ( ! wpbc_is_this_demo() ) {
572 829
573 - echo '<a style="margin:0 2em;" class="button button" href="' . wpbc_get_settings_url()
574 - . '&system_info=show&_wpnonce='. wp_create_nonce( 'wpbc_settings_url_nonce' ) .'&restore_dismissed=On#wpbc_general_settings_restore_dismissed_metabox">'
575 - . __('Restore all dismissed windows' ,'booking')
830 + echo '<a style="margin:0 2em;" class="button button" href="'
831 + . esc_url( wpbc_get_settings_url() . '&system_info=show&_wpnonce=' . wp_create_nonce( 'wpbc_settings_url_nonce' ) . '&restore_dismissed=On#wpbc_general_settings_restore_dismissed_metabox' )
832 + . '">'
833 + . esc_html__( 'Restore all dismissed windows', 'booking' )
576 834 . '</a>';
577 835 }
578 - ?>
836 + ?>
837 + </span>
838 + </div>
579 839
580 840 <?php } ?>
581 841 </form>
582 842 </span>
@@ -590,36 +850,51 @@
590 850 do_action( 'wpbc_hook_settings_page_footer', 'general_settings' );
591 851 }
592 852
593 853
594 - public function update() {
854 + public function update() {
595 855
596 - $validated_fields = $this->settings_api()->validate_post(); // Get Validated Settings fields in $_POST request.
597 -
598 - $validated_fields = apply_filters( 'wpbc_settings_validate_fields_before_saving', $validated_fields ); //Hook for validated fields.
856 + $validated_fields = $this->settings_api()->validate_post(); // Get Validated Settings fields in $_POST request.
599 857
600 - // unset($validated_fields['booking_start_day_weeek']); // Skip saving specific option, for example in Demo mode.
858 + $validated_fields = apply_filters( 'wpbc_settings_validate_fields_before_saving', $validated_fields ); // Hook for validated fields.
601 859
602 - //FixIn: 9.8.6.1
603 - if ( ! empty( $_POST['form_visible_section'] ) ) {
604 - ?><script type="text/javascript">
605 - jQuery(document).ready(function(){
606 - jQuery( '<?php echo esc_js( $_POST['form_visible_section'] ); ?> a' ).trigger('click');
860 + foreach ( $this->settings_api()->get_form_fields() as $field_name => $field ) {
861 + if ( ! empty( $field['group'] ) && in_array( $field['group'], array( 'calendar', 'days_tooltips', 'availability' ), true ) ) {
862 + unset( $validated_fields[ $field_name ] );
863 + }
864 + }
865 +
866 + /**
867 + * Skip saving specific option, for example in Demo mode.
868 + * // unset( $validated_fields['booking_start_day_weeek'] );
869 + */
870 +
871 + // FixIn: 9.8.6.1.
872 + // phpcs:ignore WordPress.Security.NonceVerification.Recommended, WordPress.Security.NonceVerification.Missing
873 + if ( ! empty( $_POST['form_visible_section'] ) ) {
874 + ?>
875 + <script type="text/javascript">
876 + jQuery(document).ready(function () {
877 + jQuery('<?php
878 + // phpcs:ignore WordPress.Security.NonceVerification.Missing, WordPress.Security.ValidatedSanitizedInput.MissingUnslash, WordPress.Security.ValidatedSanitizedInput.InputNotSanitized
879 + echo esc_js( $_POST['form_visible_section'] );
880 + ?> a').trigger('click');
607 881 });
608 - </script><?php
609 - }
882 + </script>
883 + <?php
884 + }
610 885
611 - $this->settings_api()->save_to_db( $validated_fields ); // Save fields to DB
886 + $this->settings_api()->save_to_db( $validated_fields ); // Save fields to DB.
612 887
613 888 wpbc_show_changes_saved_message();
614 889
615 - /**
616 - // O L D W A Y: Saving Fields Data
617 - // update_bk_option( 'booking_is_delete_if_deactive'
618 - // , WPBC_Settings_API::validate_checkbox_post('booking_is_delete_if_deactive') );
619 - // ( (isset( $_POST['booking_is_delete_if_deactive'] ))?'On':'Off') );
620 - */
621 - }
890 + /**
891 + * // O L D W A Y: Saving Fields Data
892 + * // update_bk_option( 'booking_is_delete_if_deactive'
893 + * // , WPBC_Settings_API::validate_checkbox_post('booking_is_delete_if_deactive') );
894 + * // ( (isset( $_POST['booking_is_delete_if_deactive'] ))?'On':'Off') );
895 + */
896 + }
622 897 }
623 898
624 899
625 900 /**
@@ -626,9 +901,9 @@
626 901 *
627 902
628 903 if ( ! wpbc_is_mu_user_can_be_here( 'only_super_admin' ) ) { // If this User not "super admin", then do not load this page at all
629 904
630 - if ( ( ! isset( $_GET['tab'] ) ) || ( $_GET['tab'] == 'general' ) ) { // If tab was not selected or selected default, then redirect it to the "form" tab.
905 + if ( ( ! isset( $ _GET['tab'] ) ) || ( $_GET['tab'] == 'general' ) ) { // If tab was not selected or selected default, then redirect it to the "form" tab.
631 906 $_GET['tab'] = 'form';
632 907 }
633 908 } else {
634 909 add_action('wpbc_menu_created', array( new WPBC_Page_SettingsGeneral() , '__construct') ); // Executed after creation of Menu
@@ -635,5 +910,5 @@
635 910 }
636 911 */
637 912
638 913 add_action('wpbc_menu_created', array( new WPBC_Page_SettingsGeneral() , '__construct') ); // Executed after creation of Menu
639 -
914 +