PluginProbe
Booking Calendar / 11.4.2
Booking Calendar v11.4.2
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 10.11 10.11.2 10.11.3 All 202 releases
booking / core / wpbc-activation.php

wpbc-activation.php in Booking Calendar 11.4.2, at core/wpbc-activation.php

1,232 lines 71.7 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2 /**
3 * @version 1.0
4 * @package Booking Calendar
5 * @subpackage Activation / Deactivation
6 * @category Functions
7 * @author wpdevelop
8 *
9 * @web-site https://wpbookingcalendar.com/
10 * @email info@wpbookingcalendar.com
11 * @modified 2016-03-17
12 */
13
14 if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly
15
16
17 /** Activation & Deactivation of Booking Calendar */
18 class WPBC_BookingInstall extends WPBC_Install {
19
20 /**
21 * Overload Booking Calendar option names and some other parameters
22 *
23 * //FixIn: 7.0.1.12
24 * Important! for correct loading of trasnaltions later, we must do not use here loacale of plugin. So here will be untranslated strings!!!
25 *
26 */
27 public function get_init_option_names() {
28
29 add_bk_action( 'wpdev_booking_activate_user', array( $this, 'wpbc_activate') ); // Hook for MU User activation
30
31 $links = array(
32 'option-version_num' => 'booking_version_num'
33 , 'option-is_delete_if_deactive' => 'booking_is_delete_if_deactive'
34 , 'option-activation_process' => 'booking_activation_process'
35 , 'transient-wpbc_activation_redirect' => '_booking_activation_redirect'
36 , 'message-delete_data' => '<strong>' . 'Warning!' . '</strong> '
37 . 'All booking data will be deleted when the plugin is deactivated.'
38 . '<br />'
39 . sprintf( 'If you want to save your booking data, please uncheck the %s"Delete booking data"%s at the'
40 , '<strong>', '</strong>')
41 . '<a href="' . esc_url( admin_url( add_query_arg( array( 'page' => 'wpbc-settings' ), 'admin.php' ) ) )
42 . '&scroll_to_section=wpbc_general_settings_uninstall_tab"> ' . 'settings page' . '.'
43 . ' </a>'
44 , 'link_settings' => '<a class="wpbc_plugins_links__settings" href="' . esc_url( admin_url( add_query_arg( array( 'page' => 'wpbc-settings' ), 'admin.php' ) ) )
45 . '">'. "Settings" .'</a>'
46 , 'link_whats_new' => '<a title="'. "Check new functionality in this plugin update." .'" href="'
47 . esc_url( admin_url( add_query_arg( array( 'page' => 'wpbc-about' ), 'index.php' ) ) )
48 .'">'. "What's New".'</a>'
49 , 'link_faq' => '<a title="FAQ" href="https://wpbookingcalendar.com/faq/">FAQ</a>'
50 , 'link_up' => '<a title="Check Pro functionality" href="https://wpbookingcalendar.com/features/#link_up" style="color: rgb(0, 163, 42);font-weight:700;">Get Pro</a>'
51 , 'link_upgrade' => '<a title="Upgrade to higher version" href="'
52 . esc_url( admin_url( add_query_arg( array( 'page' => 'wpbc-settings', 'tab' => 'upgrade' ), 'admin.php' ) ) )
53 . '" style="color: rgb(0, 163, 42);font-weight:700;">Get More</a>'
54 );
55
56 return $links;
57
58 }
59
60 /** Check if was updated from lower to high version */
61 public function is_update_from_lower_to_high_version() {
62
63 $is_make_activation = false;
64
65 // Check conditions for different version about Upgrade
66 if ( ( class_exists( 'wpdev_bk_personal' ) ) && ( ! wpbc_is_table_exists( 'bookingtypes' ) ) ) {
67 $is_make_activation = true;
68 }
69 if ( ( ! $is_make_activation ) && ( class_exists( 'wpdev_bk_biz_s' ) ) && ( wpbc_is_field_in_table_exists( 'booking', 'pay_request' ) == 0 ) ) {
70 $is_make_activation = true;
71 }
72 // FixIn: 9.9.0.13.
73 if ( ( ! $is_make_activation ) && ( class_exists( 'wpdev_bk_biz_m' ) ) && ( ! wpbc_is_table_exists( 'booking_seasons' ) ) ) {
74 $is_make_activation = true;
75 }
76 if ( ( ! $is_make_activation ) && ( class_exists( 'wpdev_bk_biz_l' ) ) && ( ! wpbc_is_table_exists( 'booking_coupons' ) ) ) {
77 $is_make_activation = true;
78 }
79 if ( ( ! $is_make_activation ) && ( class_exists( 'wpdev_bk_multiuser' ) ) && ( wpbc_is_field_in_table_exists( 'booking_coupons', 'users' ) == 0 ) ) {
80 $is_make_activation = true;
81 }
82
83 return $is_make_activation;
84 }
85
86 }
87
88
89
90
91 // <editor-fold defaultstate="collapsed" desc=" Support & Maintence " >
92
93 /** Reindex DataBase to have "date key field" for be able to sort by dates. */
94 function wpbc_reindex_booking_db(){ global $wpdb;
95 $is_show_messages = false;
96 // if ( ( wpbc_is_settings_page('QUERY_STRING') ) && ( strpos($_SERVER[ 'QUERY_STRING' ],'reindex_sort_data=1') !== false ) )
97 // $is_show_messages = true;
98
99
100 if ($is_show_messages) {
101 // Hide all settings
102 // phpcs:ignore WordPress.WP.EnqueuedResources.NonEnqueuedStylesheet
103 ?><style type="text/css" rel="stylesheet" >
104 #post_option .meta-box {
105 display:none;
106 }
107 #post_option .button-primary {
108 display:none;
109 }
110 #post_option .technical-booking-section {
111 display:block;
112 }
113 </style>
114 <?php
115 }
116
117 if (wpbc_is_field_in_table_exists('booking','sort_date') == 0) {
118 $simple_sql = "ALTER TABLE {$wpdb->prefix}booking ADD COLUMN sort_date datetime"; // FixIn: 10.12.1.5.
119 // phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery, WordPress.DB.DirectDatabaseQuery.NoCaching, WordPress.DB.PreparedSQL.NotPrepared, PluginCheck.Security.DirectDB.UnescapedDBParameter
120 $wpdb->query( $simple_sql );
121 }
122
123 // Refill the sort date index.
124 if (wpbc_is_field_in_table_exists('booking','sort_date') != 0) {
125
126 $bookings_res = array();
127
128 // 1. Select all bookings ID, where sort_date is NULL in wp_booking.
129 $sql = " SELECT booking_id as id FROM {$wpdb->prefix}booking as bk WHERE sort_date IS NULL";
130
131 // phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery, WordPress.DB.DirectDatabaseQuery.NoCaching, WordPress.DB.PreparedSQL.NotPrepared, PluginCheck.Security.DirectDB.UnescapedDBParameter, WordPress.DB.PreparedSQL.InterpolatedNotPrepared
132 $bookings_res = $wpdb->get_results( $sql );
133
134 if ( $is_show_messages ) {
135 /* translators: 1: ... */
136 echo esc_html( sprintf( __( '%1$s Found %2$s not indexed bookings %3$s', 'booking' ), ' ', count( $bookings_res ), '<br/>' ) );
137 }
138
139
140 if ( count( $bookings_res ) > 0 ) {
141 $id_string = '';
142 foreach ($bookings_res as $value) { $id_string .= $value->id . ','; }
143 $id_string = substr($id_string,0,-1);
144
145 //2. Select all (FIRST ??) booking_date, where booking_id = booking_id from #1 in wp_bookingdates
146 $sql = " SELECT booking_id as id, booking_date as date" ;
147 $sql .= " FROM {$wpdb->prefix}bookingdates as bdt" ;
148 $sql .= " WHERE booking_id IN ( ". $id_string ." ) GROUP BY bdt.booking_id ORDER BY bdt.booking_date " ;
149
150 // phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery, WordPress.DB.DirectDatabaseQuery.NoCaching, WordPress.DB.PreparedSQL.NotPrepared, PluginCheck.Security.DirectDB.UnescapedDBParameter
151 $sort_date_array = $wpdb->get_results( $sql );
152
153 if ( $is_show_messages ) {
154 /* translators: 1: ... */
155 echo esc_html( sprintf( __( '%1$s Finish getting sort dates. %2$s', 'booking' ), ' ', '<br/>' ) );
156 }
157
158 //3. Insert that firtst date into the bookings in wp_booking
159 $ii=0;
160 foreach ($sort_date_array as $value) { $ii++;
161 $sql = "UPDATE {$wpdb->prefix}booking ";
162 $sql .= " SET sort_date = '".$value->date. "' WHERE booking_id = ". $value->id . " ";
163 // phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery, WordPress.DB.DirectDatabaseQuery.NoCaching, WordPress.DB.PreparedSQL.NotPrepared, PluginCheck.Security.DirectDB.UnescapedDBParameter
164 $wpdb->query( $sql );
165
166 if ( $is_show_messages ) {
167 /* translators: 1: ... */
168 echo esc_html( sprintf( __( 'Updated booking: %s', 'booking' ), $value->id . ' [' . $ii . ' / ' . count( $bookings_res ) . '] <br/>' ) );
169 }
170 }
171 }
172
173 }
174
175
176 }
177
178 // </editor-fold>
179
180
181
182 ////////////////////////////////////////////////////////////////////////////////
183 // A c t i v a t e & D e a c t i v a t e
184 ////////////////////////////////////////////////////////////////////////////////
185
186 /** Activation */
187 function wpbc_booking_activate() {
188
189 wpbc_load_translation();
190
191 make_bk_action( 'wpbc_before_activation' );
192
193
194
195 $version = wpbc_get_plugin_version_type();
196 $is_demo = wpbc_is_this_demo();
197
198 // -----------------------------------------------------------------------------------------------------------------
199 // Options
200 // -----------------------------------------------------------------------------------------------------------------
201 $default_options_to_add = wpbc_get_default_options();
202 // TODO: for Import / Export options, we can use this function to get all option_names and then just get the real values from the wp_options table.
203 make_bk_action( 'wpbc_before_activation__add_options', $default_options_to_add ); // FixIn: 9.6.2.11.
204
205 foreach ( $default_options_to_add as $default_option_name => $default_option_value ) {
206 add_bk_option( $default_option_name, $default_option_value );
207 }
208
209
210 // -----------------------------------------------------------------------------------------------------------------
211 // DB Tables
212 // -----------------------------------------------------------------------------------------------------------------
213 if ( true ){
214
215 global $wpdb;
216
217 // ----------------------------------------------------------------------------
218 // Charset / Collation
219 // ----------------------------------------------------------------------------
220 $charset_collate = '';
221 if ( ! empty( $wpdb->charset ) ) {
222 $charset_collate = "DEFAULT CHARACTER SET {$wpdb->charset}";
223 }
224 if ( ! empty( $wpdb->collate ) ) {
225 $charset_collate .= " COLLATE {$wpdb->collate}";
226 }
227
228 // ----------------------------------------------------------------------------
229 // Table name
230 // ----------------------------------------------------------------------------
231 $table_name = $wpdb->prefix . 'booking';
232
233 // ----------------------------------------------------------------------------
234 // Queries queue for upgrades only
235 // ----------------------------------------------------------------------------
236 $wp_queries = array();
237
238 // ----------------------------------------------------------------------------
239 // 1) First install: CREATE booking TABLE.
240 // ----------------------------------------------------------------------------
241 if ( ! wpbc_is_table_exists( 'booking' ) ) {
242
243 $create_sql = "CREATE TABLE {$table_name} (
244 booking_id bigint(20) unsigned NOT NULL auto_increment,
245 booking_type bigint(10) NOT NULL default 1,
246
247 form TEXT,
248 hash TEXT,
249 booking_options TEXT,
250 status varchar(200) NOT NULL default '',
251
252 is_new bigint(10) NOT NULL default 1,
253 sync_gid varchar(200) NOT NULL default '',
254 trash bigint(10) NOT NULL default 0,
255 is_trash datetime,
256
257 sort_date datetime,
258 modification_date datetime,
259 creation_date TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
260
261 PRIMARY KEY (booking_id)
262 ) {$charset_collate};";
263
264 // phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery, WordPress.DB.DirectDatabaseQuery.NoCaching, WordPress.DB.PreparedSQL.NotPrepared, PluginCheck.Security.DirectDB.UnescapedDBParameter
265 $wpdb->query( $create_sql );
266
267 // ----------------------------------------------------------------------------
268 // 2) Upgrade path: only add missing columns (your current logic)
269 // ----------------------------------------------------------------------------
270 } else {
271
272 if ( wpbc_is_field_in_table_exists( 'booking', 'form' ) == 0 ) {
273 $wp_queries[] = "ALTER TABLE {$table_name} ADD COLUMN form TEXT";
274 }
275
276 if ( wpbc_is_field_in_table_exists( 'booking', 'modification_date' ) == 0 ) {
277 $wp_queries[] = "ALTER TABLE {$table_name} ADD COLUMN modification_date datetime";
278 }
279
280 // FixIn: 9.2.3.3.
281 if ( wpbc_is_field_in_table_exists( 'booking', 'creation_date' ) == 0 ) {
282 $wp_queries[] = "ALTER TABLE {$table_name} ADD COLUMN creation_date TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP";
283 }
284
285 if ( wpbc_is_field_in_table_exists( 'booking', 'sort_date' ) == 0 ) {
286 $wp_queries[] = "ALTER TABLE {$table_name} ADD COLUMN sort_date datetime";
287 }
288
289 if ( wpbc_is_field_in_table_exists( 'booking', 'status' ) == 0 ) {
290 $wp_queries[] = "ALTER TABLE {$table_name} ADD COLUMN status varchar(200) NOT NULL default ''";
291 }
292
293 if ( wpbc_is_field_in_table_exists( 'booking', 'is_new' ) == 0 ) {
294 $wp_queries[] = "ALTER TABLE {$table_name} ADD COLUMN is_new bigint(10) NOT NULL default 1";
295 }
296
297 // Version: 5.2 - Google ID for Sync
298 if ( wpbc_is_field_in_table_exists( 'booking', 'sync_gid' ) == 0 ) {
299 $wp_queries[] = "ALTER TABLE {$table_name} ADD COLUMN sync_gid varchar(200) NOT NULL default ''";
300 }
301
302 // FixIn: 9.2.3.5.
303 if ( wpbc_is_field_in_table_exists( 'booking', 'is_trash' ) == 0 ) {
304 $wp_queries[] = "ALTER TABLE {$table_name} ADD COLUMN is_trash datetime";
305 }
306
307 // FixIn: 6.1.1.10.
308 if ( wpbc_is_field_in_table_exists( 'booking', 'trash' ) == 0 ) {
309 $wp_queries[] = "ALTER TABLE {$table_name} ADD COLUMN trash bigint(10) NOT NULL default 0";
310 }
311
312 // FixIn: 9.1.2.12.
313 if ( wpbc_is_field_in_table_exists( 'booking', 'booking_options' ) == 0 ) {
314 $wp_queries[] = "ALTER TABLE {$table_name} ADD COLUMN booking_options TEXT";
315 }
316
317 if ( wpbc_is_field_in_table_exists( 'booking', 'hash' ) == 0 ) {
318 $wp_queries[] = "ALTER TABLE {$table_name} ADD COLUMN hash TEXT";
319
320 // Update hash value only in last 100 bookings.
321 $sql_check_table = "SELECT booking_id as id FROM {$wpdb->prefix}booking ORDER BY booking_id DESC LIMIT 0, 100";
322
323 $res = $wpdb->get_results( $sql_check_table ); // phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery, WordPress.DB.DirectDatabaseQuery.NoCaching, WordPress.DB.PreparedSQL.NotPrepared, PluginCheck.Security.DirectDB.UnescapedDBParameter
324 foreach ( $res as $l ) {
325 $wp_queries[] = "UPDATE {$wpdb->prefix}booking SET hash = MD5('" . time() . '_' . wp_rand( 1000, 1000000 ) . "') WHERE booking_id = " . $l->id; // phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery, WordPress.DB.DirectDatabaseQuery.NoCaching, WordPress.DB.PreparedSQL.NotPrepared, PluginCheck.Security.DirectDB.UnescapedDBParameter
326 }
327 }
328 }
329
330 // ----------------------------------------------------------------------------
331 // Execute queued upgrade queries (only runs on upgrades, not new install)
332 // ----------------------------------------------------------------------------
333 if ( ! empty( $wp_queries ) ) {
334 foreach ( $wp_queries as $sql ) {
335 // phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery, WordPress.DB.DirectDatabaseQuery.NoCaching, WordPress.DB.PreparedSQL.NotPrepared, PluginCheck.Security.DirectDB.UnescapedDBParameter
336 $wpdb->query( $sql );
337 }
338 }
339
340
341 $is_insert_test_bookings = false;
342
343 // ----------------------------------------------------------------------------
344 // 2. Install: CREATE bookingdate TABLE.
345 // ----------------------------------------------------------------------------
346
347 if ( ! wpbc_is_table_exists( 'bookingdates' ) ) {
348 // Check if tables not exist yet.
349 $simple_sql = "CREATE TABLE {$wpdb->prefix}bookingdates (
350 booking_dates_id bigint(20) unsigned NOT NULL auto_increment,
351 booking_id bigint(20) unsigned NOT NULL,
352 booking_date datetime NOT NULL default '0000-00-00 00:00:00',
353 approved bigint(20) unsigned NOT NULL default 0,
354 PRIMARY KEY (booking_dates_id)
355 ) {$charset_collate}";
356
357 // phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery, WordPress.DB.DirectDatabaseQuery.NoCaching, WordPress.DB.PreparedSQL.NotPrepared, PluginCheck.Security.DirectDB.UnescapedDBParameter
358 $wpdb->query( $simple_sql );
359
360 if ( ! class_exists( 'wpdev_bk_personal' ) ) {
361 $is_insert_test_bookings = true;
362 }
363 }
364
365 if ( 0 === wpbc_is_index_in_table_exists( 'bookingdates', 'booking_id_dates' ) ) {
366 // If we remove this index, so then its can significant impact to the speed of page loading at the Booking Listing and Timelines.
367 // Index for SPEED opening Booking Listing and Timeline with thousands of Bookings, otherwise, without this index, speed will be TOO SLOW...
368 $simple_sql = "CREATE UNIQUE INDEX booking_id_dates ON {$wpdb->prefix}bookingdates ( booking_id, booking_date);";
369 // phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery, WordPress.DB.DirectDatabaseQuery.NoCaching, WordPress.DB.PreparedSQL.NotPrepared, PluginCheck.Security.DirectDB.UnescapedDBParameter
370 $wpdb->query( $simple_sql );
371 }
372
373 // ----------------------------------------------------------------------------
374 // 3. Insert test bookings.
375 // ----------------------------------------------------------------------------
376
377 if ( $is_insert_test_bookings ) {
378 // -- Test Booking #1 --
379 $is_appr = 1;
380 $wp_queries_sub = "INSERT INTO {$wpdb->prefix}booking ( form, modification_date ) VALUES (
381 'text^name1^John~text^secondname1^Smith~text^email1^example-free@wpbookingcalendar.com~text^phone1^458-77-77~textarea^details1^This is a test booking showing booking for several days.', " . wpbc_sql_date_math_expr_explicit('', 'now') . " );";
382 $wpdb->query( $wp_queries_sub ); // phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery, WordPress.DB.DirectDatabaseQuery.NoCaching, WordPress.DB.PreparedSQL.NotPrepared, PluginCheck.Security.DirectDB.UnescapedDBParameter
383
384 $temp_id = $wpdb->insert_id;
385 $wp_queries_sub = "INSERT INTO {$wpdb->prefix}bookingdates ( booking_id, booking_date, approved ) VALUES
386 ( " . $temp_id . ", " . wpbc_sql_date_math_expr_explicit( "+ INTERVAL 2 DAY", 'curdate' ) . " ," . $is_appr . " ),
387 ( " . $temp_id . ", " . wpbc_sql_date_math_expr_explicit( "+ INTERVAL 3 DAY", 'curdate' ) . " ," . $is_appr . " ),
388 ( " . $temp_id . ", " . wpbc_sql_date_math_expr_explicit( "+ INTERVAL 4 DAY", 'curdate' ) . " ," . $is_appr . " );";
389 $wpdb->query( $wp_queries_sub ); // phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery, WordPress.DB.DirectDatabaseQuery.NoCaching, WordPress.DB.PreparedSQL.NotPrepared, PluginCheck.Security.DirectDB.UnescapedDBParameter
390
391 // -- Test Booking #2 --
392 $is_appr = 0;
393 $wp_queries_sub = "INSERT INTO {$wpdb->prefix}booking ( form, modification_date ) VALUES (
394 'text^name1^Emma~text^secondname1^Robinson~text^email1^example-free@wpbookingcalendar.com~text^phone1^999-77-77~textarea^details1^This is a test booking showing booking for several days.', " . wpbc_sql_date_math_expr_explicit('', 'now') . " );";
395 $wpdb->query( $wp_queries_sub ); // phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery, WordPress.DB.DirectDatabaseQuery.NoCaching, WordPress.DB.PreparedSQL.NotPrepared, PluginCheck.Security.DirectDB.UnescapedDBParameter
396
397 $temp_id = $wpdb->insert_id;
398 $wp_queries_sub = "INSERT INTO {$wpdb->prefix}bookingdates ( booking_id, booking_date, approved ) VALUES
399 ( " . $temp_id . ", " . wpbc_sql_date_math_expr_explicit( "+ INTERVAL 28 DAY", 'curdate' ) . " ," . $is_appr . " ),
400 ( " . $temp_id . ", " . wpbc_sql_date_math_expr_explicit( "+ INTERVAL 29 DAY", 'curdate' ) . " ," . $is_appr . " ),
401 ( " . $temp_id . ", " . wpbc_sql_date_math_expr_explicit( "+ INTERVAL 30 DAY", 'curdate' ) . " ," . $is_appr . " );";
402 $wpdb->query( $wp_queries_sub ); // phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery, WordPress.DB.DirectDatabaseQuery.NoCaching, WordPress.DB.PreparedSQL.NotPrepared, PluginCheck.Security.DirectDB.UnescapedDBParameter
403
404
405 // -- Test Booking #3 --
406 $is_appr = 1;
407 $start_time = '10:00';
408 $end_time = '10:30';
409 $wp_queries_sub = "INSERT INTO {$wpdb->prefix}booking ( form, modification_date, is_new ) VALUES (
410 'selectbox^rangetime1^".$start_time." - ".$end_time."~text^name1^Sophia~text^secondname1^Robinson~text^email1^example-free@wpbookingcalendar.com~text^phone1^458-77-77~textarea^details1^This is a test booking showing a one day time slot booking.', " . wpbc_sql_date_math_expr_explicit('', 'now') . ", 0 );";
411 $wpdb->query( $wp_queries_sub ); // phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery, WordPress.DB.DirectDatabaseQuery.NoCaching, WordPress.DB.PreparedSQL.NotPrepared, PluginCheck.Security.DirectDB.UnescapedDBParameter
412
413 $temp_id = $wpdb->insert_id;
414
415 $start_time_arr = explode( ':', $start_time );
416 $end_time_arr = explode( ':', $end_time );
417 $wp_queries_sub = "INSERT INTO {$wpdb->prefix}bookingdates ( booking_id, booking_date, approved ) VALUES
418 ( " . $temp_id . ", " . wpbc_sql_date_math_expr_explicit( "+ INTERVAL '" . ( ( 8 * 24 ) + intval( $start_time_arr[0] ) ) . ':' . $start_time_arr[1] . ":01' HOUR_SECOND", 'curdate' ) . " ," . $is_appr . " ),
419 ( " . $temp_id . ", " . wpbc_sql_date_math_expr_explicit( "+ INTERVAL '" . ( ( 8 * 24 ) + intval( $end_time_arr[0] ) ) . ':' . $end_time_arr[1] . ":02' HOUR_SECOND", 'curdate' ) . " ," . $is_appr . " );";
420 $wpdb->query( $wp_queries_sub ); // phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery, WordPress.DB.DirectDatabaseQuery.NoCaching, WordPress.DB.PreparedSQL.NotPrepared, PluginCheck.Security.DirectDB.UnescapedDBParameter
421 }
422 }
423
424 make_bk_action( 'wpbc_free_version_activation' );
425
426 do_action( 'wpbc_free_version_activation' );
427
428 // -----------------------------------------------------------------------------------------------------------------
429 // Other versions Activation
430 // -----------------------------------------------------------------------------------------------------------------
431 make_bk_action( 'wpbc_other_versions_activation' );
432
433 do_action( 'wpbc_pro_versions_activation' );
434
435 wpbc_reindex_booking_db();
436
437 make_bk_action( 'wpbc_after_activation' );
438
439 do_action( 'wpbc_after_activation' );
440 }
441 add_bk_action( 'wpbc_activation', 'wpbc_booking_activate' );
442
443
444
445 // Deactivate.
446 function wpbc_booking_deactivate() {
447
448 // -----------------------------------------------------------------------------------------------------------------
449 // Options
450 // -----------------------------------------------------------------------------------------------------------------
451 $default_options_to_add = wpbc_get_default_options();
452 foreach ( $default_options_to_add as $default_option_name => $default_option_value) {
453
454 delete_bk_option( $default_option_name );
455 }
456
457
458 // -----------------------------------------------------------------------------------------------------------------
459 // Widgets
460 // -----------------------------------------------------------------------------------------------------------------
461 delete_bk_option( 'widget_bookingwidget' );
462 delete_bk_option( 'widget_bookingsearchwidget' );
463 delete_bk_option( 'widget_bookingselectwidget' );
464 delete_bk_option( 'booking_activation_redirect_for_version' );
465
466 // -----------------------------------------------------------------------------------------------------------------
467 // DB Tables
468 // -----------------------------------------------------------------------------------------------------------------
469 global $wpdb;
470 // phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery, WordPress.DB.DirectDatabaseQuery.NoCaching, WordPress.DB.PreparedSQL.NotPrepared, PluginCheck.Security.DirectDB.UnescapedDBParameter, WordPress.DB.DirectDatabaseQuery.SchemaChange
471 $wpdb->query( "DROP TABLE IF EXISTS {$wpdb->prefix}booking" );
472 // phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery, WordPress.DB.DirectDatabaseQuery.NoCaching, WordPress.DB.PreparedSQL.NotPrepared, PluginCheck.Security.DirectDB.UnescapedDBParameter, WordPress.DB.DirectDatabaseQuery.SchemaChange
473 $wpdb->query( "DROP TABLE IF EXISTS {$wpdb->prefix}bookingdates" );
474
475 // Delete all users booking windows states.
476 // phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery, WordPress.DB.DirectDatabaseQuery.NoCaching, WordPress.DB.PreparedSQL.NotPrepared, PluginCheck.Security.DirectDB.UnescapedDBParameter,
477 if ( false === $wpdb->query( "DELETE FROM {$wpdb->usermeta} WHERE meta_key LIKE '%booking_%'" ) ) {
478 debuge_error('Error during deleting user meta at DB',__FILE__,__LINE__);
479 die();
480 }
481
482 // Delete or Drafts and Pending from demo sites
483 if ( wpbc_is_this_demo() ) { // Delete all temp posts at the demo sites: (post_status = pending || draft) && ( post_type = post ) && (post_author != 1)
484 // phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery, WordPress.DB.DirectDatabaseQuery.NoCaching, WordPress.DB.PreparedSQL.NotPrepared, PluginCheck.Security.DirectDB.UnescapedDBParameter,
485 $postss = $wpdb->get_results( "SELECT * FROM {$wpdb->posts} WHERE ( post_status = 'pending' OR post_status = 'draft' OR post_status = 'auto-draft' OR post_status = 'trash' OR post_status = 'inherit' ) AND ( post_type='post' OR post_type='revision') AND post_author != 1" );
486 foreach ( $postss as $pp ) {
487 wp_delete_post( $pp->ID, true );
488 }
489 }
490 make_bk_action( 'wpbc_free_version_deactivation' );
491 ////////////////////////////////////////////////////////////////////////////
492 // Other versions Deactivation
493 ////////////////////////////////////////////////////////////////////////////
494 make_bk_action( 'wpbc_other_versions_deactivation' );
495 }
496 add_bk_action( 'wpbc_deactivation', 'wpbc_booking_deactivate' );
497
498
499 /**
500 * Default Options
501 *
502 * Exmaple of getting options for deleting in MU:
503 *
504 * $option_name = '';
505 * $is_get_multiuser_general_options = true;
506 * $options_for_delete = wpbc_get_default_options( $option_name, $is_get_multiuser_general_options );
507 */
508 function wpbc_get_default_options( $option_name = '', $is_get_multiuser_general_options = false ) {
509
510 $is_demo = wpbc_is_this_demo();
511 $is_free_version = ! class_exists( 'wpdev_bk_personal' );
512 $blg_title = str_replace( array( '"', "'" ), '', get_option( 'blogname' ) );
513
514 $default_options = array();
515
516 // If this option here, then system get this option from "Super Admin" options configuration for "Regular" users.
517 $mu_option4delete = array();
518
519 // FixIn: 9.6.3.5.
520 $default_options['booking_setup_wizard_page_steps_is_done'] = '';
521 $mu_option4delete[]='booking_setup_wizard_page_steps_is_done';
522
523 $default_options['booking_admin_cal_count'] = ($is_demo) ? '3' : '2';
524 $mu_option4delete[]='booking_admin_cal_count'; // $multiuser_general_option[] = implode( '', array_keys( array_slice( $default_options, -1 ) ) );
525 $default_options['booking_skin'] = '/css/skins/25_5__square_1.css'; // FixIn: 10.11.4.2.
526 $mu_option4delete[]='booking_skin';
527 // FixIn: 9.6.3.5.
528 $default_options['booking_listing_default_view_mode'] = 'vm_booking_listing'; // 'vm_calendar'; // FixIn: 9.6.3.5.
529 $mu_option4delete[]='booking_listing_default_view_mode';
530
531 $default_options['booking_view_days_num'] = ( ( ! class_exists( 'wpdev_bk_personal' ) ) ? '90' : '30' );
532 $mu_option4delete[]='booking_view_days_num';
533 // FixIn: 8.9.4.3.
534 $default_options['booking_calendar_overview__day_mode__days_number_show'] = ( ( ! class_exists( 'wpdev_bk_personal' ) ) ? '7' : '7' );
535 $mu_option4delete[]='booking_calendar_overview__day_mode__days_number_show';
536 $default_options['booking_timeline__month_mode__days_number_show'] = ( ( ! class_exists( 'wpdev_bk_personal' ) ) ? '7' : '7' );
537 $mu_option4delete[]='booking_timeline__month_mode__days_number_show';
538 // FixIn: 8.6.1.13.
539 $default_options['booking_max_monthes_in_calendar'] = '2y';
540 $mu_option4delete[]='booking_max_monthes_in_calendar';
541 $default_options['booking_client_cal_count'] = '1';
542 $mu_option4delete[]='booking_client_cal_count';
543 $default_options['booking_start_day_weeek'] = '0';
544 $mu_option4delete[]='booking_start_day_weeek';
545 $default_options['booking_title_after_reservation'] = ( ! class_exists( 'wpdev_bk_biz_s' ) )
546 ? __( 'Your booking is received. We will confirm it soon. Many thanks!', 'booking' )
547 : __( 'Your booking is received. Please proceed with payment to confirm it. Many thanks!', 'booking' );
548 $mu_option4delete[]='booking_title_after_reservation';
549 // $default_options['booking_title_after_reservation_time'] = '7000';
550 //$mu_option4delete[]='booking_title_after_reservation_time';
551 $default_options['booking_type_of_thank_you_message'] = 'message';
552 $mu_option4delete[]='booking_type_of_thank_you_message';
553 $default_options['booking_thank_you_page_URL'] = '/thank-you';
554 $mu_option4delete[]='booking_thank_you_page_URL';
555 $default_options['booking_is_use_autofill_4_logged_user'] = ($is_demo) ? 'On' : 'Off';
556 $mu_option4delete[]='booking_is_use_autofill_4_logged_user';
557
558 // FixIn: 10.13.1.5.
559 $default_options['booking_is_use_phone_validation'] = 'Off';
560 $mu_option4delete[]='booking_is_use_phone_validation';
561 $default_options['booking_date_format'] = get_option( 'date_format' );
562 $mu_option4delete[]='booking_date_format';
563 $default_options['booking_time_format'] = get_option( 'time_format' ); //'H:i';
564 $mu_option4delete[]='booking_time_format';
565
566 //FixIn:10.2.0.1 ------------------------------------------------------------------------------------------------
567 // Confirmation section:
568 $default_options['booking_confirmation_header_enabled'] = 'On';
569 /* translators: 1: ... */
570 $default_options['booking_confirmation_header'] = sprintf( __( 'Your booking id: %s', 'booking' ), '<strong>[booking_id]</strong>' );
571 $mu_option4delete[] = 'booking_confirmation_header_enabled';
572 $mu_option4delete[] = 'booking_confirmation_header';
573
574 $default_options['booking_confirmation__personal_info__header_enabled'] = 'On';
575 $default_options['booking_confirmation__personal_info__title'] = __( 'Personal information', 'booking' );
576 $default_options['booking_confirmation__personal_info__content'] = '[content]';
577 $mu_option4delete[] = 'booking_confirmation__personal_info__header_enabled';
578 $mu_option4delete[] = 'booking_confirmation__personal_info__title';
579 $mu_option4delete[] = 'booking_confirmation__personal_info__content';
580
581 $default_options['booking_confirmation__booking_details__header_enabled'] = 'On';
582 $default_options['booking_confirmation__booking_details__title'] = __( 'Booking details', 'booking' );
583 $default_options['booking_confirmation__booking_details__content'] = ( class_exists( 'wpdev_bk_personal' ) )
584 ? "<h4>[resource_title]</h4>[readable_dates][readable_times]\n[add_to_google_cal_button]\n" . '<a href="[visitorbookingediturl]">Edit Booking</a> | <a href="[visitorbookingcancelurl]">Cancel Booking</a>'
585 : "[readable_dates][readable_times]\n[add_to_google_cal_button]";
586
587 $mu_option4delete[] = 'booking_confirmation__booking_details__header_enabled';
588 $mu_option4delete[] = 'booking_confirmation__booking_details__title';
589 $mu_option4delete[] = 'booking_confirmation__booking_details__content';
590 //FixIn:10.2.0.1 End --------------------------------------------------------------------------------------------
591
592 $default_options['booking_date_view_type'] = 'short';
593 $mu_option4delete[]='booking_date_view_type';
594 $default_options['booking_is_delete_if_deactive'] = ($is_demo) ? 'On' : 'Off';
595 $mu_option4delete[]='booking_is_delete_if_deactive';
596 $default_options['booking_dif_colors_approval_pending'] = 'On'; // Depricated
597 $default_options['booking_is_use_hints_at_admin_panel'] = 'On';
598 $mu_option4delete[]='booking_is_use_hints_at_admin_panel';
599 $default_options['booking_is_load_js_css_on_specific_pages'] = 'Off';
600 $mu_option4delete[]='booking_is_nonce_at_front_end'; // FixIn: 10.1.1.2.
601 $default_options['booking_is_nonce_at_front_end'] = 'Off';
602 // FixIn: 9.8.6.2.
603 $mu_option4delete[]='booking_load_balancer_max_threads';
604 $default_options['booking_load_balancer_max_threads'] = ( $is_demo ) ? '1' : '3';
605
606
607 //FixIn: 7.2.1.15
608 $mu_option4delete[]='booking_is_show_system_debug_log';
609 $default_options['booking_is_show_system_debug_log'] = 'Off';
610
611
612 $mu_option4delete[]='booking_is_load_js_css_on_specific_pages';
613 $default_options['booking_pages_for_load_js_css'] = '';
614 $mu_option4delete[]='booking_pages_for_load_js_css';
615 $default_options['booking_type_of_day_selections'] = $is_free_version
616 ? 'range'
617 : ( ( get_bk_option( 'booking_range_selection_is_active' ) == 'On' ) && ( ! $is_demo ) ? 'range' : 'multiple' );
618 $mu_option4delete[]='booking_type_of_day_selections';
619
620 // FixIn: 8.7.11.10.
621 $default_options['booking_timeslot_picker'] = 'On';
622 $mu_option4delete[]= 'booking_timeslot_picker';
623 $default_options['booking_timeslot_picker_skin'] = '/css/time_picker_skins/light__24_8.css';
624 $mu_option4delete[]= 'booking_timeslot_picker_skin';
625
626 $default_options['booking_disable_timeslots_in_tooltip'] = 'Off'; //FixIn: 9.5.0.2.2
627 $mu_option4delete[]='booking_disable_timeslots_in_tooltip';
628
629 $default_options['booking_highlight_timeslot_word'] = __( 'Booked Times:', 'booking' ); // FixIn: 9.4.3.1.
630 $mu_option4delete[]='booking_highlight_timeslot_word';
631
632 $default_options['booking_form_is_using_bs_css'] = 'Off';
633 $mu_option4delete[]='booking_form_is_using_bs_css';
634 $default_options['booking_form_format_type'] = 'vertical';
635 $mu_option4delete[]='booking_form_format_type';
636
637 // Does not exist in MU
638 $default_options['booking_form_field_active1'] = 'On';
639 $default_options['booking_form_field_required1'] = 'On';
640 $default_options['booking_form_field_label1'] = 'First Name';
641 $default_options['booking_form_field_active2'] = 'On';
642 $default_options['booking_form_field_required2'] = 'On';
643 $default_options['booking_form_field_label2'] = 'Last Name';
644 $default_options['booking_form_field_active3'] = 'On';
645 $default_options['booking_form_field_required3'] = 'On';
646 $default_options['booking_form_field_label3'] = 'Email';
647 $default_options['booking_form_field_active4'] = 'On';
648 $default_options['booking_form_field_required4'] = 'Off';
649 $default_options['booking_form_field_label4'] = 'Phone';
650 $default_options['booking_form_field_active5'] = 'On';
651 $default_options['booking_form_field_required5'] = 'Off';
652 $default_options['booking_form_field_label5'] = 'Details';
653 $default_options['booking_form_field_active6'] = 'Off';
654 $default_options['booking_form_field_required6'] = 'Off';
655 $default_options['booking_form_field_label6'] = 'Visitors';
656 $default_options['booking_form_field_values6'] = "1\n2\n3\n4";
657
658
659 $default_options['booking_is_days_always_available'] = 'Off';
660 $mu_option4delete[]='booking_is_days_always_available';
661
662 // FixIn: 8.3.2.2.
663 $default_options['booking_is_show_pending_days_as_available'] = 'Off';
664 $mu_option4delete[]='booking_is_show_pending_days_as_available';
665
666 $default_options['booking_unavailable_days_num_from_today'] = '0';
667 $mu_option4delete[]='booking_unavailable_days_num_from_today';
668 $default_options['booking_unavailable_day0'] = 'Off';
669 $mu_option4delete[]='booking_unavailable_day0';
670 $default_options['booking_unavailable_day1'] = 'Off';
671 $mu_option4delete[]='booking_unavailable_day1';
672 $default_options['booking_unavailable_day2'] = 'Off';
673 $mu_option4delete[]='booking_unavailable_day2';
674 $default_options['booking_unavailable_day3'] = 'Off';
675 $mu_option4delete[]='booking_unavailable_day3';
676 $default_options['booking_unavailable_day4'] = 'Off';
677 $mu_option4delete[]='booking_unavailable_day4';
678 $default_options['booking_unavailable_day5'] = 'Off';
679 $mu_option4delete[]='booking_unavailable_day5';
680 $default_options['booking_unavailable_day6'] = 'Off';
681 $mu_option4delete[]='booking_unavailable_day6';
682
683 // Working Time defaults. Keep disabled by default on fresh activation/reinstall.
684 $default_options['booking_working_time_enabled'] = 'Off';
685 $mu_option4delete[]='booking_working_time_enabled';
686 $default_options['booking_working_time_rules'] = function_exists( 'wpbc_working_time__get_default_settings' ) ? wpbc_working_time__get_default_settings() : array(
687 'enabled' => 'Off',
688 'default' => array(
689 'weekdays' => array(),
690 ),
691 'resources' => array(),
692 );
693 $mu_option4delete[]='booking_working_time_rules';
694
695 $default_options['booking_menu_position'] = ( $is_demo ) ? 'top' : 'top';
696 $mu_option4delete[]='booking_menu_position';
697 $default_options['booking_translation_load_from'] = 'wp.org';
698 $mu_option4delete[]='booking_translation_load_from';
699
700 // FixIn: 10.14.12.1.
701 $default_options['booking_user_role_booking'] = 'editor';
702 $mu_option4delete[]='booking_user_role_booking';
703 $default_options['booking_user_role_availability'] = 'editor';
704 $mu_option4delete[]='booking_user_role_availability';
705 $default_options['booking_user_role_addbooking'] = 'editor';
706 $mu_option4delete[]='booking_user_role_addbooking';
707 $default_options['booking_user_role_resources'] = 'editor';
708 $mu_option4delete[]='booking_user_role_resources';
709 $default_options['booking_user_role_settings'] = 'editor';
710 $mu_option4delete[]='booking_user_role_settings';
711 //FixIn: 9.8.15.2.6
712 if ( class_exists( 'wpdev_bk_biz_m' ) ) {
713 $default_options['booking_user_role_prices'] = 'editor';
714 $mu_option4delete[]='booking_user_role_prices';
715 }
716
717 // New admin ///////////////////////////////////////////////////////////////
718
719 $default_options['booking_is_email_reservation_adress'] = 'On';
720 $default_options['booking_email_reservation_adress'] = htmlspecialchars( '"Booking system" <' . get_option( 'admin_email' ) . '>' );
721 $default_options['booking_email_reservation_from_adress'] = '[visitoremail]';
722 $default_options['booking_email_reservation_subject'] = __( 'New booking', 'booking' );
723 /* translators: 1: ... */
724 $default_options['booking_email_reservation_content'] = htmlspecialchars( sprintf( __( 'You need to approve a new booking %1$s for: %2$s Person detail information:%3$s Currently a new booking is waiting for approval. Please visit the moderation panel%4$sThank you, %5$s', 'booking' ), '[bookingtype]', '[dates]<br/><br/>', '<br/> [content]<br/><br/>', ' [moderatelink]<br/><br/>', $blg_title . '<br/>[siteurl]' ) );
725
726 // New Visitor /////////////////////////////////////////////////////////////
727
728 $default_options['booking_is_email_newbookingbyperson_adress'] = 'Off';
729 $default_options['booking_email_newbookingbyperson_adress'] = htmlspecialchars( '"Booking system" <' . get_option( 'admin_email' ) . '>' );
730 $default_options['booking_email_newbookingbyperson_subject'] = __( 'New booking', 'booking' );
731 if ( class_exists( 'wpdev_bk_personal' ) )
732 /* translators: 1: ... */
733 $default_options['booking_email_newbookingbyperson_content'] = htmlspecialchars( sprintf( __( 'Your reservation %1$s for: %2$s is processing now! We will send confirmation by email. %3$sYou can edit this booking at this page: %4$s Thank you, %5$s', 'booking' ), '[bookingtype]', '[dates]', '<br/><br/>[content]<br/><br/>', '[visitorbookingediturl]<br/><br/>', $blg_title . '<br/>[siteurl]' ) );
734 else
735 /* translators: 1: ... */
736 $default_options['booking_email_newbookingbyperson_content'] = htmlspecialchars( sprintf( __( 'Your reservation %1$s for: %2$s is processing now! We will send confirmation by email. %3$s Thank you, %4$s', 'booking' ), '[bookingtype]', '[dates]', '<br/><br/>[content]<br/><br/>', $blg_title . '<br/>[siteurl]' ) );
737
738 // Approval ////////////////////////////////////////////////////////////////
739
740 $default_options['booking_is_email_approval_adress'] = 'On';
741 $default_options['booking_is_email_approval_send_copy_to_admin'] = 'Off';
742 $default_options['booking_email_approval_adress'] = htmlspecialchars( '"Booking system" <' . get_option( 'admin_email' ) . '>' );
743 $default_options['booking_email_approval_subject'] = __( 'Your booking has been approved', 'booking' );
744 if ( class_exists( 'wpdev_bk_personal' ) ) {
745 /* translators: 1: ... */
746 $default_options['booking_email_approval_content'] = htmlspecialchars( sprintf( __( 'Your reservation %1$s for: %2$s has been approved.%3$sYou can edit the booking on this page: %4$s Thank you, %5$s', 'booking' ), '[bookingtype]', '[dates]', '<br/><br/>[content]<br/><br/>', '[visitorbookingediturl]<br/><br/>', $blg_title . '<br/>[siteurl]' ) );
747 } else {
748 /* translators: 1: ... */
749 $default_options['booking_email_approval_content'] = htmlspecialchars( sprintf( __( 'Your booking %1$s for: %2$s has been approved.%3$sThank you, %4$s', 'booking' ), '[bookingtype]', '[dates]', '<br/><br/>[content]<br/><br/>', $blg_title . '<br/>[siteurl]' ) );
750 }
751
752 // Decline /////////////////////////////////////////////////////////////////
753
754 $default_options['booking_is_email_deny_adress'] = 'On';
755 $default_options['booking_is_email_deny_send_copy_to_admin'] = 'Off';
756 $default_options['booking_email_deny_adress'] = htmlspecialchars( '"Booking system" <' . get_option( 'admin_email' ) . '>' );
757 $default_options['booking_email_deny_subject'] = __( 'Your booking has been declined', 'booking' );
758 /* translators: 1: ... */
759 $default_options['booking_email_deny_content'] = htmlspecialchars( sprintf( __( 'Your booking %1$s for: %2$s has been canceled. %3$sThank you, %4$s', 'booking' ), '[bookingtype]', '[dates]', '<br/>[denyreason]<br/><br/>[content]<br/><br/>', $blg_title . '<br/>[siteurl]' ) );
760
761 // -----------------------------------------------------------------------------------------------------------------
762 $default_options['booking_widget_title'] = __( 'Booking form', 'booking' );
763 $default_options['booking_widget_show'] = 'booking_form';
764 $default_options['booking_widget_type'] = '1';
765 $default_options['booking_widget_calendar_count'] = '1';
766 $default_options['booking_widget_last_field'] = '';
767
768 $default_options['booking_wpdev_copyright_adminpanel'] = 'On';
769 $mu_option4delete[]='booking_wpdev_copyright_adminpanel';
770 $default_options['booking_is_show_powered_by_notice'] = ( WPBC_IS_PLAYGROUND ) ? 'Off' : 'On';
771 $mu_option4delete[]='booking_is_show_powered_by_notice';
772 $default_options['booking_form_theme'] = '';
773 $mu_option4delete[]='booking_form_theme';
774 $default_options['booking_form_style'] = 'light_bordered';
775 $mu_option4delete[]='booking_form_style';
776 $default_options['booking_form_appearance_preset'] = 'bordered';
777 $mu_option4delete[]='booking_form_appearance_preset';
778 $default_options['booking_form_appearance_background_color'] = '#ffffff';
779 $mu_option4delete[]='booking_form_appearance_background_color';
780 $default_options['booking_form_appearance_border_color'] = '#cccccc';
781 $mu_option4delete[]='booking_form_appearance_border_color';
782 $default_options['booking_form_appearance_border_width'] = '1px';
783 $mu_option4delete[]='booking_form_appearance_border_width';
784 $default_options['booking_form_appearance_border_radius'] = '2px';
785 $mu_option4delete[]='booking_form_appearance_border_radius';
786 $default_options['booking_form_appearance_padding'] = '10px 30px';
787 $mu_option4delete[]='booking_form_appearance_padding';
788 $default_options['booking_form_custom_background_color'] = '#ffffff';
789 $mu_option4delete[]='booking_form_custom_background_color';
790 $default_options['booking_form_custom_border_color'] = '#cccccc';
791 $mu_option4delete[]='booking_form_custom_border_color';
792 $default_options['booking_form_custom_border_width'] = '1px';
793 $mu_option4delete[]='booking_form_custom_border_width';
794 $default_options['booking_form_custom_border_radius'] = '2px';
795 $mu_option4delete[]='booking_form_custom_border_radius';
796 $default_options['booking_form_custom_padding_vertical'] = '10px';
797 $mu_option4delete[]='booking_form_custom_padding_vertical';
798 $default_options['booking_form_custom_padding_horizontal'] = '30px';
799 $mu_option4delete[]='booking_form_custom_padding_horizontal';
800 $default_options['booking_form_custom_text_color'] = '#1d2327';
801 $mu_option4delete[]='booking_form_custom_text_color';
802 $default_options['booking_form_custom_field_background_color'] = '#ffffff';
803 $mu_option4delete[]='booking_form_custom_field_background_color';
804 $default_options['booking_form_custom_field_text_color'] = '#3c434a';
805 $mu_option4delete[]='booking_form_custom_field_text_color';
806 $default_options['booking_form_custom_field_border_color'] = '#cccccc';
807 $mu_option4delete[]='booking_form_custom_field_border_color';
808 $default_options['booking_form_custom_button_background_color'] = '#066aab';
809 $mu_option4delete[]='booking_form_custom_button_background_color';
810 $default_options['booking_form_custom_button_text_color'] = '#ffffff';
811 $mu_option4delete[]='booking_form_custom_button_text_color';
812 $default_options['booking_form_custom_button_border_color'] = '#066aab';
813 $mu_option4delete[]='booking_form_custom_button_border_color';
814 $default_options['booking_form_custom_button_hover_background_color'] = '#055589';
815 $mu_option4delete[]='booking_form_custom_button_hover_background_color';
816 $default_options['booking_form_custom_button_hover_text_color'] = '#ffffff';
817 $mu_option4delete[]='booking_form_custom_button_hover_text_color';
818 $default_options['booking_form_custom_button_hover_border_color'] = '#055589';
819 $mu_option4delete[]='booking_form_custom_button_hover_border_color';
820 $default_options['booking_form_custom_secondary_button_background_color'] = '#fdfdfd';
821 $mu_option4delete[]='booking_form_custom_secondary_button_background_color';
822 $default_options['booking_form_custom_secondary_button_text_color'] = '#444444';
823 $mu_option4delete[]='booking_form_custom_secondary_button_text_color';
824 $default_options['booking_form_custom_secondary_button_border_color'] = '#eeeeee';
825 $mu_option4delete[]='booking_form_custom_secondary_button_border_color';
826 $default_options['booking_form_custom_secondary_button_hover_background_color'] = '#fdfdfd';
827 $mu_option4delete[]='booking_form_custom_secondary_button_hover_background_color';
828 $default_options['booking_form_custom_secondary_button_hover_text_color'] = '#444444';
829 $mu_option4delete[]='booking_form_custom_secondary_button_hover_text_color';
830 $default_options['booking_form_custom_secondary_button_hover_border_color'] = '#4d91cd';
831 $mu_option4delete[]='booking_form_custom_secondary_button_hover_border_color';
832 $default_options['booking_is_use_captcha'] = 'Off';
833 $mu_option4delete[]='booking_is_use_captcha';
834 $default_options['booking_frontend_messages'] = array( 'version' => 1, 'messages' => array(), 'enabled' => array() );
835 $mu_option4delete[]='booking_frontend_messages';
836 $default_options['booking_is_show_legend'] = 'On';
837 $mu_option4delete[]='booking_is_show_legend';
838 $default_options['booking_send_button_title'] = __( 'Send', 'booking' ); // FixIn: 8.8.1.14.
839 $mu_option4delete[]='booking_send_button_title';
840 $default_options['booking_legend_is_show_item_available'] = 'On';
841 $mu_option4delete[]='booking_legend_is_show_item_available';
842 $default_options['booking_legend_text_for_item_available'] = __( 'Available', 'booking' );
843 $mu_option4delete[]='booking_legend_text_for_item_available';
844 $default_options['booking_legend_is_show_item_pending'] = 'On';
845 $mu_option4delete[]='booking_legend_is_show_item_pending';
846 $default_options['booking_legend_text_for_item_pending'] = __( 'Pending', 'booking' );
847 $mu_option4delete[]='booking_legend_text_for_item_pending';
848 $default_options['booking_legend_is_show_item_approved'] = 'On';
849 $mu_option4delete[]='booking_legend_is_show_item_approved';
850 $default_options['booking_legend_text_for_item_approved'] = __( 'Booked', 'booking' );
851 $mu_option4delete[]='booking_legend_text_for_item_approved';
852 // FixIn: 9.9.0.5.
853 $default_options['booking_legend_is_show_item_unavailable'] = 'Off';
854 $mu_option4delete[]='booking_legend_is_show_item_unavailable';
855 $default_options['booking_legend_text_for_item_unavailable'] = __( 'Unavailable', 'booking' );
856 $mu_option4delete[]='booking_legend_text_for_item_unavailable';
857
858 // FixIn: 10.1.5.5.
859 $default_options['booking_legend_is_show_item_partially'] = ( ( class_exists( 'wpdev_bk_personal' ) ) && ( ! class_exists( 'wpdev_bk_biz_s' ) ) ) ? 'Off' : 'On';
860 $mu_option4delete[]='booking_legend_is_show_item_partially';
861 $default_options['booking_legend_text_for_item_partially'] = __( 'Partially booked', 'booking' );
862 $mu_option4delete[]='booking_legend_text_for_item_partially';
863
864 $default_options['booking_legend_is_show_numbers'] = 'On'; //FixIn:6.0.1.4 // FixIn: 8.1.3.8.
865 $mu_option4delete[]='booking_legend_is_show_numbers';
866 $default_options['booking_legend_is_vertical'] = 'Off'; // FixIn: 9.4.3.6.
867 $mu_option4delete[]='booking_legend_is_vertical';
868
869 /*
870 Import previous (old version) Email templates
871 or get defult values from Email Classes, if the emails was not saved
872 if the emails was saved, in this case - return empty array(), Useful for the Email Settings page to loading data from DB, during activation Mail API class.
873 So if we get empty array for values, in this case, we need to get this optiosn from DB.
874 */
875 // Get NEW Email Templates default data or Import previous saved
876 $emails_init = wpbc_import6_email__new_admin__get_fields_array_for_activation();
877 $emails_init = array_merge( $emails_init, wpbc_import6_email__new_visitor__get_fields_array_for_activation() );
878 $emails_init = array_merge( $emails_init, wpbc_import6_email__approved__get_fields_array_for_activation() );
879 $emails_init = array_merge( $emails_init, wpbc_import6_email__deleted__get_fields_array_for_activation() );
880 $emails_init = array_merge( $emails_init, wpbc_import6_email__deny__get_fields_array_for_activation() );
881 $emails_init = array_merge( $emails_init, wpbc_import6_email__trash__get_fields_array_for_activation() );
882 if ( class_exists( 'wpdev_bk_personal' ) )
883 $emails_init = array_merge( $emails_init, wpbc_import6_email__modification__get_fields_array_for_activation() );
884 if ( class_exists( 'wpdev_bk_biz_s' ) )
885 $emails_init = array_merge( $emails_init, wpbc_import6_email__payment_request__get_fields_array_for_activation() );
886 foreach ( $emails_init as $email_key_name => $email_values ) {
887
888 if ( ! empty( $email_values ) ) $default_options[ $email_key_name ] = $email_values;
889 else $default_options[ $email_key_name ] = get_bk_option( $email_key_name );
890 }
891
892
893 $mu_option4delete[]='booking_gcal_auto_import_is_active'; // Creation in wpbc-gcal.php file
894 $mu_option4delete[]='booking_gcal_auto_import_time';
895 $mu_option4delete[]='booking_cron'; // Creation in wpbc-cron.php
896
897 // FixIn: 8.0.1.6.
898 //$default_options['booking_form_structure_type'] = 'vertical';
899 // $default_options['booking_form_structure_type'] = 'form_right'; // FixIn: 10.3.0.6.
900 $default_options['booking_form_structure_type'] = 'wizard_services_a'; // FixIn: 10.11.4.3.
901 $default_options['booking_menu_go_pro'] = ( WPBC_IS_PLAYGROUND ) ? 'hide' : 'show'; // show | hide
902
903 // $default_options['booking_form_layout_width'] = '440';
904 // $default_options['booking_form_layout_width_px_pr'] = 'px';
905 // $default_options['booking_form_layout_max_cols'] = 1;
906
907 // FixIn: 10.11.4.3.
908 $default_options['booking_form_layout_width'] = '100';
909 $default_options['booking_form_layout_width_px_pr'] = '%';
910 $default_options['booking_form_layout_max_cols'] = 2;
911
912
913 // -----------------------------------------------------------------------------------------------------------------
914 // PS
915 // -----------------------------------------------------------------------------------------------------------------
916 if ( class_exists( 'wpdev_bk_personal' ) ) {
917
918
919 $default_options['booking_is_use_codehighlighter_booking_form'] = 'On'; // FixIn: 8.4.7.18.
920 $mu_option4delete[]='booking_is_use_codehighlighter_booking_form';
921
922 $default_options['booking_url_bookings_edit_by_visitors'] = site_url();
923 $mu_option4delete[]='booking_url_bookings_edit_by_visitors';
924
925 $default_options['booking_url_bookings_listing_by_customer'] = site_url(); //FixIn: 8.1.3.5.1
926 $mu_option4delete[]='booking_url_bookings_listing_by_customer';
927
928 $default_options['booking_default_booking_resource'] = ''; // All resources
929 $mu_option4delete[]='booking_default_booking_resource';
930 $default_options['booking_is_change_hash_after_approvement'] = 'On'; // FixIn: 10.10.1.1.
931 $mu_option4delete[]='booking_is_change_hash_after_approvement';
932 $default_options['booking_email_modification_adress'] = htmlspecialchars( '"Booking system" <' . get_option( 'admin_email' ) . '>' );
933 $default_options['booking_email_modification_subject'] = __( 'The reservation has been modified', 'booking' );
934 /* translators: 1: ... */
935 $default_options['booking_email_modification_content'] = htmlspecialchars( sprintf( __( 'The reservation %1$s for: %2$s has been modified. %3$sYou can edit this booking on this page: %4$s Thank you, %5$s', 'booking' ), '[bookingtype]', '[dates]', '<br/><br/>[content]<br/><br/>', '[visitorbookingediturl]<br/><br/>', $blg_title . '<br/>[siteurl]' ) );
936 $default_options['booking_is_email_modification_adress'] = 'On';
937 $default_options['booking_is_email_modification_send_copy_to_admin'] = 'Off';
938 $default_options['booking_resourses_num_per_page'] = '10';
939 $mu_option4delete[]='booking_resourses_num_per_page';
940 $default_options['booking_default_title_in_day_for_calendar_view_mode'] = '[id]: [name] [secondname]';
941 $mu_option4delete[]='booking_default_title_in_day_for_calendar_view_mode';
942
943 // FixIn: 8.1.3.31.
944 $default_options['booking_calendar_overview_start_time'] = '0';
945 $mu_option4delete[]='booking_calendar_overview_start_time';
946 $default_options['booking_calendar_overview_end_time'] = '24';
947 $mu_option4delete[]='booking_calendar_overview_end_time';
948
949 $default_options['booking_default_title_in_day_for_timeline_front_end'] = '[name] [secondname]';
950 $mu_option4delete[]='booking_default_title_in_day_for_timeline_front_end';
951 // FixIn: 10.14.10.1.
952 $default_options['booking_is_show_popover_in_timeline_front_end'] = 'Off';
953 $mu_option4delete[]='booking_is_show_popover_in_timeline_front_end';
954 // FixIn: 9.6.3.5.
955
956 $default_options['booking_send_emails_off_addbooking'] = 'Off'; // FixIn: 8.4.5.4.
957 $mu_option4delete[]='booking_send_emails_off_addbooking';
958
959 // FixIn: 9.6.3.5.
960
961 $default_options['booking_change_resource_skip_checking'] = 'Off'; // FixIn: 8.4.5.4.
962 $mu_option4delete[]='booking_change_resource_skip_checking';
963
964 $default_options['booking_log_booking_actions'] = 'On'; // FixIn: 8.6.1.10.
965 $mu_option4delete[]='booking_log_booking_actions';
966
967
968 }
969
970 // FixIn: 8.5.1.1.
971 // $default_options['booking_ics_force_import'] = 'Off'; // FixIn: 8.4.7.1.
972 $default_options['booking_ics_force_trash_before_import'] = 'Off'; // FixIn: 8.4.7.12.
973 //$mu_option4delete[]='booking_ics_force_trash_before_import'; // No need to delete ^
974 $default_options['booking_ics_import_append_checkout_day'] = 'Off'; //FixIn: 9.6.2.7 // FixIn: 9.5.4.1.
975 //$mu_option4delete[]='booking_ics_import_append_checkout_day'; // No need to delete ^
976
977 $default_options['booking_ics_import_append_extra_checkout_day'] = 'Off';
978 //$mu_option4delete[]='booking_ics_import_append_extra_checkout_day'; // No need to delete ^
979
980 // FixIn: 9.8.15.8.
981 $default_options['booking_condition_import_only_new'] = ( get_bk_option( 'booking_ics_force_import' ) === 'On' ) ? 'Off' : 'On';
982 $default_options['booking_condition_import_if_available'] = 'Off';
983
984 // FixIn: 10.1.5.4.
985 $default_options['booking_recurrent_time'] = ( class_exists( 'wpdev_bk_personal' ) ) ? 'Off' : 'On';
986 $mu_option4delete[]='booking_recurrent_time';
987
988 $default_options['booking_calendar_allow_several_months_on_mobile'] = 'Off';
989 $mu_option4delete[]='booking_calendar_allow_several_months_on_mobile';
990
991 // -----------------------------------------------------------------------------------------------------------------
992 // BS
993 // -----------------------------------------------------------------------------------------------------------------
994 if ( class_exists( 'wpdev_bk_biz_s' ) ) {
995
996 //$mu_option4delete[]='booking_paypal_price_period'; // No need to delete, this option, because different users can have different settings. During init defined at ../booking/inc/gateways/page-gateways.php
997
998 $default_options['booking_gateways_order'] = 'stripe_v3,paypal_std_co,paypal,authorizenet,sage,redsys,bank_transfer,pay_cash,ipay88,ideal'; // Default Original Payment Gateways
999 //$mu_option4delete[]='booking_gateways_order'; // No need to delete ^
1000
1001 // FixIn: 8.1.3.29.
1002 $default_options['booking_ics_import_add_change_over_time'] = 'On';
1003 //$mu_option4delete[]='booking_ics_import_add_change_over_time'; // No need to delete ^
1004
1005 // FixIn: 8.5.2.3.
1006 $default_options['booking_is_ics_export_only_approved'] = 'Off';
1007 //$mu_option4delete[]='booking_is_ics_export_only_approved'; // No need to delete ^
1008 $default_options['booking_is_ics_export_imported_bookings'] = ''; // FixIn: 8.8.3.19.
1009
1010
1011 $default_options['booking_auto_approve_new_bookings_is_active'] = 'Off';
1012 $mu_option4delete[]='booking_auto_approve_new_bookings_is_active';
1013
1014 // FixIn: 8.1.3.27.
1015 $default_options['booking_auto_approve_bookings_when_import'] = 'Off';
1016 $mu_option4delete[]='booking_auto_approve_bookings_when_import';
1017 $default_options['booking_auto_approve_bookings_when_zero_cost'] = 'Off';
1018 $mu_option4delete[]='booking_auto_approve_bookings_when_zero_cost';
1019 $default_options['booking_auto_approve_bookings_if_added_in_admin_panel'] = 'Off';
1020 $mu_option4delete[]='booking_auto_approve_bookings_if_added_in_admin_panel';
1021
1022 $default_options['booking_auto_cancel_pending_unpaid_bk_is_active'] = 'Off';
1023 $mu_option4delete[]='booking_auto_cancel_pending_unpaid_bk_is_active';
1024 $default_options['booking_auto_cancel_pending_unpaid_bk_time'] = '24';
1025 $mu_option4delete[]='booking_auto_cancel_pending_unpaid_bk_time';
1026 $default_options['booking_auto_cancel_pending_unpaid_bk_is_send_email'] = 'On';
1027 $mu_option4delete[]='booking_auto_cancel_pending_unpaid_bk_is_send_email';
1028 $default_options['booking_auto_cancel_pending_unpaid_bk_email_reason'] = __( 'This booking canceled because we did not receive payment and the administrator did not approve it.', 'booking' );
1029 $mu_option4delete[]='booking_auto_cancel_pending_unpaid_bk_email_reason';
1030 $default_options['booking_range_selection_type'] = $is_free_version ? 'dynamic' : 'fixed';
1031 $mu_option4delete[]='booking_range_selection_type';
1032 $default_options['booking_range_selection_days_count'] = '3';
1033 $mu_option4delete[]='booking_range_selection_days_count';
1034 $default_options['booking_range_selection_days_max_count_dynamic'] = 30;
1035 $mu_option4delete[]='booking_range_selection_days_max_count_dynamic';
1036 $default_options['booking_range_selection_days_specific_num_dynamic'] = '';
1037 $mu_option4delete[]='booking_range_selection_days_specific_num_dynamic';
1038 $default_options['booking_range_start_day'] = '-1';
1039 $mu_option4delete[]='booking_range_start_day';
1040 $default_options['booking_range_selection_days_count_dynamic'] = '1';
1041 $mu_option4delete[]='booking_range_selection_days_count_dynamic';
1042 $default_options['booking_range_start_day_dynamic'] = '-1';
1043 $mu_option4delete[]='booking_range_start_day_dynamic';
1044 $default_options['booking_range_selection_time_is_active'] = 'Off';
1045 $mu_option4delete[]='booking_range_selection_time_is_active';
1046 $default_options['booking_range_selection_start_time'] = '12:00';
1047 $mu_option4delete[]='booking_range_selection_start_time';
1048 $default_options['booking_range_selection_end_time'] = '10:00';
1049 $mu_option4delete[]='booking_range_selection_end_time';
1050 $default_options['booking_change_over_days_triangles'] = 'On'; // FixIn: 7.0.1.24.
1051
1052 $mu_option4delete[]='booking_last_checkout_day_available';
1053 $default_options['booking_last_checkout_day_available'] = 'Off'; // FixIn: 8.1.3.28.
1054
1055 $mu_option4delete[]='booking_change_over_days_triangles';
1056
1057 $mu_option4delete[]='booking_change_over__is_excerpt_on_pages';
1058 $default_options['booking_change_over__is_excerpt_on_pages'] = 'Off'; // FixIn: 8.9.4.10.
1059 $mu_option4delete[]='booking_change_over__excerpt_on_pages';
1060 $default_options['booking_change_over__excerpt_on_pages'] = ''; // FixIn: 8.9.4.10.
1061 $mu_option4delete[]='booking_change_over__excerpt_bk_resources';
1062 $default_options['booking_change_over__excerpt_bk_resources'] = ''; // FixIn: 10.16.4.1.
1063
1064
1065 $default_options['booking_email_payment_request_adress'] = htmlspecialchars( '"Booking system" <' . get_option( 'admin_email' ) . '>' );
1066 $default_options['booking_email_payment_request_subject'] = __( 'You need to make payment for this reservation', 'booking' );
1067 /* translators: 1: ... */
1068 $default_options['booking_email_payment_request_content'] = htmlspecialchars( sprintf( __( 'You need to make payment %1$s for reservation %2$s at %3$s. %4$s Please make payment on this page: %5$s Thank you, %6$s', 'booking' ), '[cost]', '[bookingtype]', '[dates]', '<br/><br/>[paymentreason]<br/><br/>[content]<br/><br/>', '[visitorbookingpayurl]<br/><br/>', $blg_title . '<br/>[siteurl]' ) );
1069 $default_options['booking_is_email_payment_request_adress'] = 'On';
1070 $default_options['booking_is_email_payment_request_send_copy_to_admin'] = 'Off';
1071 }
1072
1073
1074 // -----------------------------------------------------------------------------------------------------------------
1075 // BM
1076 // -----------------------------------------------------------------------------------------------------------------
1077 if ( class_exists( 'wpdev_bk_biz_m' ) ) {
1078
1079 // FixIn: 8.1.3.15.
1080 $default_options['booking_is_show_booked_data_in_tooltips'] = 'Off';
1081 $mu_option4delete[]='booking_is_show_booked_data_in_tooltips';
1082 $default_options['booking_booked_data_in_tooltips'] = '[name] [secondname]';
1083 $mu_option4delete[]='booking_booked_data_in_tooltips';
1084
1085 $default_options['booking_number_for_pre_checkin_date_hint'] = '14'; // FixIn: 10.0.0.31.
1086 $mu_option4delete[]='booking_number_for_pre_checkin_date_hint';
1087 $default_options['booking_available_days_num_from_today'] = '';
1088 $mu_option4delete[]='booking_available_days_num_from_today';
1089 $default_options['booking_unavailable_extra_in_out'] = '';
1090 $mu_option4delete[]='booking_unavailable_extra_in_out';
1091 $default_options['booking_unavailable_extra_minutes_in'] = '';
1092 $mu_option4delete[]='booking_unavailable_extra_minutes_in';
1093 $default_options['booking_unavailable_extra_minutes_out'] = '';
1094 $mu_option4delete[]='booking_unavailable_extra_minutes_out';
1095 $default_options['booking_unavailable_extra_days_in'] = '';
1096 $mu_option4delete[]='booking_unavailable_extra_days_in';
1097 $default_options['booking_unavailable_extra_days_out'] = '';
1098 $mu_option4delete[]='booking_unavailable_extra_days_out';
1099
1100 $default_options['booking_advanced_costs_values'] = serialize( array() );
1101 $default_options['booking_is_resource_deposit_payment_active'] = 'On';
1102 $mu_option4delete[]='booking_is_resource_deposit_payment_active';
1103 $default_options['booking_advanced_costs_calc_fixed_cost_with_procents'] = 'Off';
1104 $default_options['booking_is_show_cost_in_tooltips'] = 'Off';
1105 $mu_option4delete[]='booking_is_show_cost_in_tooltips';
1106 $default_options['booking_highlight_cost_word'] = __( 'Cost: ', 'booking' );
1107 $mu_option4delete[]='booking_highlight_cost_word';
1108 $default_options['booking_is_show_cost_in_date_cell'] = 'Off';
1109 $mu_option4delete[]='booking_is_show_cost_in_date_cell';
1110 $default_options['booking_cost_in_date_cell_currency'] = '&#36;';
1111 $mu_option4delete[]='booking_cost_in_date_cell_currency';
1112 $default_options['booking_visitor_number_rate'] = '0'; //Depricated
1113 $default_options['booking_visitor_number_rate_type'] = '%'; //Depricated
1114 }
1115
1116
1117 // -----------------------------------------------------------------------------------------------------------------
1118 // BL
1119 // -----------------------------------------------------------------------------------------------------------------
1120 if ( class_exists( 'wpdev_bk_biz_l' ) ) {
1121
1122 // Get Key of Last added item to "$default_options" array
1123 // $multiuser_general_option[] = implode( '', array_keys( array_slice( $default_options, -1 ) ) );
1124
1125 $default_options['booking_check_out_available_for_parents'] = 'On';
1126 $mu_option4delete[]='booking_check_out_available_for_parents';
1127 $default_options['booking_check_in_available_for_parents'] = 'Off';
1128 $mu_option4delete[]='booking_check_in_available_for_parents';
1129 $default_options['booking_is_show_pending_days_as_available'] = 'Off';
1130 $mu_option4delete[]='booking_is_show_pending_days_as_available';
1131 $default_options['booking_auto_cancel_pending_bookings_for_approved_date'] = 'Off';
1132 $mu_option4delete[]='booking_auto_cancel_pending_bookings_for_approved_date';
1133
1134 $default_options['booking_quantity_control'] = ( get_bk_option( 'booking_is_use_visitors_number_for_availability') == 'On' ) ? 'On' : 'Off';
1135 $mu_option4delete[]='booking_quantity_control';
1136 $default_options['booking_capacity_field'] = ( get_bk_option( 'booking_is_use_visitors_number_for_availability') == 'On' ) ? 'select^visitors' : '';
1137 $mu_option4delete[]='booking_capacity_field';
1138
1139 $default_options['booking_is_show_availability_in_tooltips'] = 'On'; // FixIn: 8.1.3.8.
1140 $mu_option4delete[]='booking_is_show_availability_in_tooltips';
1141 $default_options['booking_highlight_availability_word'] = __( 'Available: ', 'booking' );
1142 $mu_option4delete[]='booking_highlight_availability_word';
1143
1144 $default_options['booking_is_show_availability_in_date_cell'] = 'Off'; // FixIn: 10.6.4.1.
1145 $mu_option4delete[]='booking_is_show_availability_in_date_cell';
1146 $default_options['booking_highlight_availability_word_in_date_cell'] = __( 'available', 'booking' );
1147 $mu_option4delete[]='booking_highlight_availability_word_in_date_cell';
1148
1149
1150 $default_options['booking_is_dissbale_booking_for_different_sub_resources'] = 'Off';
1151 $mu_option4delete[]='booking_is_dissbale_booking_for_different_sub_resources';
1152 // FixIn: 10.10.1.2 $default_options['booking_is_resource_no_update__during_editing'] = 'On'; // FixIn: 9.4.2.3.
1153 // FixIn: 10.10.1.2 $mu_option4delete[]='booking_is_resource_no_update__during_editing';
1154 $default_options['booking_search_form_show'] = str_replace( '\\n\\r', "\n", wpbc_get_default_search_form_template( 'standard_search_form' ) ); //FixIn:6.1.0.1 // FixIn: 8.5.2.11.
1155 $mu_option4delete[]='booking_search_form_show';
1156 $default_options['booking_found_search_item'] = str_replace( '\\n\\r', "\n", wpbc_get_default_search_results_template( 'advanced_search_results' ) ); //FixIn:6.1.0.1 // FixIn: 8.5.2.11.
1157 $mu_option4delete[]='booking_found_search_item';
1158 $default_options['booking_cache_expiration'] = '2d';
1159 $mu_option4delete[]='booking_cache_expiration';
1160 $default_options['booking_search_results_order'] = 'prioritet'; // FixIn: 8.4.7.8.
1161 $mu_option4delete[]='booking_search_results_order';
1162 $default_options['booking_search_form_dates_format'] = 'yy-mm-dd'; // FixIn: 8.6.1.21.
1163 $mu_option4delete[]='booking_search_form_dates_format';
1164 $default_options['booking_search_results_days_select'] = 'Off'; // FixIn: 8.8.2.3.
1165 $mu_option4delete[]='booking_search_results_days_select';
1166 $default_options['booking_from_search_scroll_to_calendar'] = 'On'; // FixIn: 9.4.4.6.
1167 $mu_option4delete[]='booking_from_search_scroll_to_calendar';
1168
1169 $default_options['booking_search_from_auto_open_checkout_cal'] = 'On'; // FixIn: 10.0.0.39.
1170 $mu_option4delete[]='booking_search_from_auto_open_checkout_cal';
1171 $default_options['booking_search_from__search_header'] = '[result_count] ' . __('Result(s) Found','booking'); // FixIn: 10.0.0.41.
1172 $mu_option4delete[]='booking_search_from__search_header';
1173 $default_options['booking_search_from__search_header_advanced'] = __( 'Extended Search Results', 'booking' ); // FixIn: 10.0.0.41.
1174 $mu_option4delete[]='booking_search_from__search_header_advanced';
1175 $default_options['booking_search_from__search_nothing_found'] = __('Nothing Found','booking');
1176 $mu_option4delete[]='booking_search_from__search_nothing_found';
1177
1178 $default_options['booking_search_form__dates_required_enabled'] = 'Off';
1179 $mu_option4delete[]='booking_search_form__dates_required_enabled';
1180 $default_options['booking_search_form__dates_required_warning'] = __('Please select check-in and check-out dates to perform the search.','booking');
1181 $mu_option4delete[]='booking_search_form__dates_required_warning';
1182
1183
1184 // Updated during regeneration seacrh cache
1185 //$default_options['booking_cache_content']='';
1186 $mu_option4delete[]='booking_cache_content';
1187 //$default_options['booking_cache_created']=wpbc_datetime_localized( date ('Y-m-d H:i:s'), 'Y-m-d H:i:s' );
1188 $mu_option4delete[]='booking_cache_created';
1189 $mu_option4delete[]='booking_resources_search_options'; // FixIn: 10.0.0.18.
1190 }
1191
1192
1193 // -----------------------------------------------------------------------------------------------------------------
1194 // MU
1195 // -----------------------------------------------------------------------------------------------------------------
1196 if ( class_exists( 'wpdev_bk_multiuser' ) ) {
1197
1198 // FixIn: 8.1.3.19.
1199 $default_options['booking_is_custom_forms_for_regular_users'] = 'Off';
1200 $mu_option4delete[]='booking_is_custom_forms_for_regular_users';
1201
1202 // FixIn: 9.2.3.8.
1203 $default_options['booking_super_admin_receive_regular_user_payments'] = 'Off';
1204 $mu_option4delete[]='booking_super_admin_receive_regular_user_payments';
1205 }
1206
1207
1208 if ( ! $is_get_multiuser_general_options ) {
1209
1210 if ( ! empty( $option_name ) ) {
1211
1212 if (isset( $default_options[ $option_name ] ))
1213 return $default_options[ $option_name ]; // Return 1 option
1214 else
1215 return false; // Option does NOT exist
1216
1217 } else {
1218 return $default_options; // Return ALL
1219 }
1220
1221 } else
1222 return $mu_option4delete; // Get options for MU
1223 }
1224
1225
1226 // <editor-fold defaultstate="collapsed" desc=" Update Deprecated Options " >
1227 function wpbc_after_activation__update_deprecated_options() {
1228 update_bk_option( 'booking_form_is_using_bs_css', 'Off' );
1229 }
1230 add_bk_action( 'wpbc_after_activation', 'wpbc_after_activation__update_deprecated_options' );
1231 // </editor-fold>
1232