prefix . "abc_bookings";
if(get_option('abc_pluginversion') === false && $wpdb->get_var("show tables like '$bookingTable'") != $bookingTable)
{
$bookings = "CREATE TABLE `".$wpdb->prefix."abc_bookings` (
`id` int(255) NOT NULL AUTO_INCREMENT,
`start` date NOT NULL,
`end` date NOT NULL,
`calendar_id` int(255) NOT NULL,
`persons` int(32) NOT NULL,
`first_name` varchar(255) NOT NULL,
`last_name` varchar(255) NOT NULL,
`email` varchar(255) NOT NULL,
`phone` varchar(255) NOT NULL,
`address` varchar(255) NOT NULL,
`zip` varchar(255) NOT NULL,
`city` varchar(255) NOT NULL,
`county` varchar(255) NOT NULL,
`country` varchar(255) NOT NULL,
`message` text NOT NULL,
`price` float NOT NULL,
`state` varchar(32) NOT NULL,
`room_id` int(11) NOT NULL,
`payment` varchar(255) NOT NULL,
`payment_reference` varchar(255) NOT NULL,
`created` date NOT NULL,
PRIMARY KEY (`id`)
) CHARSET=utf8";
$requests = "CREATE TABLE `".$wpdb->prefix."abc_requests` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`current_timestamp` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
`date_from` date NOT NULL,
`date_to` date NOT NULL,
`persons` int(10) NOT NULL,
`successful` tinyint(1) NOT NULL,
PRIMARY KEY (`id`)
) CHARSET=utf8";
$rooms = "CREATE TABLE `".$wpdb->prefix."abc_rooms` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`calendar_id` int(11) NOT NULL,
`name` varchar(255) NOT NULL,
UNIQUE KEY `id_2` (`id`),
KEY `id` (`id`)
) CHARSET=utf8";
$calendars = "CREATE TABLE `".$wpdb->prefix."abc_calendars` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(255) NOT NULL,
`maxUnits` int(11) NOT NULL,
`maxAvailabilities` int(11) NOT NULL,
`pricePreset` double NOT NULL,
`minimumStayPreset` int(16) NOT NULL,
`partlyBooked` int(16) NOT NULL,
`infoPage` int(11) NOT NULL,
`infoText` text NOT NULL,
PRIMARY KEY (`id`)
) CHARSET=utf8";
$seasons = "CREATE TABLE `".$wpdb->prefix."abc_seasons` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`title` varchar(255) NOT NULL,
`price` double NOT NULL,
`lastminute` int(11) NOT NULL,
`minimumStay` int(16) NOT NULL,
PRIMARY KEY (`id`)
) CHARSET=utf8";
$seasonsAssignment = "CREATE TABLE `".$wpdb->prefix."abc_seasons_assignment` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`calendar_id` int(11) NOT NULL,
`season_id` int(11) NOT NULL,
`start` date NOT NULL,
`end` date NOT NULL,
PRIMARY KEY (`id`)
) CHARSET=utf8";
$extras ="CREATE TABLE `".$wpdb->prefix."abc_extras` (
`id` INT(16) NOT NULL AUTO_INCREMENT ,
`name` TEXT NOT NULL ,
`explanation` TEXT NOT NULL ,
`calculation` TEXT NOT NULL ,
`mandatory` TEXT NOT NULL ,
`price` FLOAT(32) NOT NULL ,
`persons` int(32) NOT NULL ,
`order` BIGINT NOT NULL ,
PRIMARY KEY (`id`) ) charset=utf8";
$bookingExtras ="CREATE TABLE `".$wpdb->prefix."abc_booking_extras` (
`id` INT(32) NOT NULL AUTO_INCREMENT ,
`booking_id` INT(32) NOT NULL ,
`extra_id` INT(32) NOT NULL ,
PRIMARY KEY (`id`) ) charset=utf8";
require_once(ABSPATH . 'wp-admin/includes/upgrade.php');
dbDelta($extras);
dbDelta($bookingExtras);
dbDelta($bookings);
dbDelta($requests);
dbDelta($rooms);
dbDelta($calendars);
dbDelta($seasons);
dbDelta($seasonsAssignment);
}
add_option('abc_pluginversion', '159');
add_option ('abc_email', get_option( 'admin_email' ));
add_option ('abc_bookingpage', 0);
add_option ('abc_dateformat', "Y-m-d");
add_option ('abc_priceformat', ".");
add_option ('abc_cookies', 0);
add_option ('abc_googleanalytics', 0);
$locale = localeconv();
add_option ('abc_currency', $locale['currency_symbol']);
add_option ('abc_newsletter_10th_asked', 0);
add_option ('abc_newsletter_100th_asked', 0);
add_option ('abc_newsletter_20000revenue_asked', 0);
$abc_text_details = __("Your details", "abc-booking").":\n";
$abc_greeting = __("Hi [abc_first_name]!", "abc-booking")."\n";
$abc_goodbye = sprintf(__('Your %s-Team', 'advanced-booking-calendar'), get_option( 'blogname' ));
$abc_text_details .= __("Room type", "abc-booking").": [abc_calendar_name]\n";
$abc_text_details .= __("Room price", "abc-booking").": [abc_room_price]\n";
$abc_text_details .= __("Selected extras", "abc-booking").": [abc_optional_extras]\n";
$abc_text_details .= __("Additional costs", "abc-booking").": [abc_mandatory_extras]\n";
$abc_text_details .= __("Discount", "abc-booking").": [abc_discount]\n";
$abc_text_details .= __("Total price", "abc-booking").": [abc_total_price]\n";
$abc_text_details .= __("Checkin - Checkout", "abc-booking").": [abc_checkin_date] - [abc_checkout_date]\n";
$abc_text_details .= __("Number of guests", "abc-booking").": [abc_person_count]\n";
$abc_text_details .= __("Full Name", "abc-booking").": [abc_first_name] - [abc_last_name]\n";
$abc_text_details .= __("Email", "abc-booking").": [abc_email]\n";
$abc_text_details .= __("Phone", "abc-booking").": [abc_phone]\n";
$abc_text_details .= __("Address", "abc-booking").": [abc_address], [abc_zip] [abc_city], [abc_county], [abc_country] \n";
$abc_text_details .= __("Your message to us", "abc-booking").": [abc_message]\n\n";
$abc_subject_unconfirmed = sprintf(__('Your booking at %s', 'advanced-booking-calendar'),get_option( 'blogname' )).' - [abc_checkin_date] - [abc_checkout_date]';
add_option ('abc_subject_unconfirmed', $abc_subject_unconfirmed);
$abc_text_unconfirmed = $abc_greeting;
$abc_text_unconfirmed .= sprintf(__("Thank you for booking at %s. Your booking has not yet been confirmed. Please wait for an additional confirmation email.", "abc-booking"), get_option( 'blogname' ))."\n\n";
$abc_text_unconfirmed .= $abc_text_details;
$abc_text_unconfirmed .= $abc_goodbye;
add_option ('abc_text_unconfirmed', $abc_text_unconfirmed);
$abc_subject_confirmed = sprintf(__('Confirming your booking at %s', 'advanced-booking-calendar'),get_option( 'blogname' )).' - [abc_checkin_date] - [abc_checkout_date]';
add_option ('abc_subject_confirmed', $abc_subject_confirmed);
$abc_text_confirmed = $abc_greeting;
$abc_text_confirmed .= __("We are happy to confirm your booking!", "abc-booking")."\n\n";
$abc_text_confirmed .= $abc_text_details;
$abc_text_confirmed .= __("If you have any questions regard your stay, feel free to contact us.", "abc-booking")."\n\n";
$abc_text_confirmed .= $abc_goodbye;
add_option ('abc_text_confirmed', $abc_text_confirmed);
$abc_subject_canceled = sprintf(__('Canceling your booking at %s', 'advanced-booking-calendar'),get_option( 'blogname' ));
add_option ('abc_subject_canceled', $abc_subject_canceled);
$abc_text_canceled = $abc_greeting;
$abc_text_canceled .= __("We are very sorry to cancel your booking! We already had another reservation for your requested travel period.", "abc-booking")."\n";
$abc_text_canceled .= sprintf(__("Please check our website at %s for an alternative. We would be very happy to welcome you any time soon.", "abc-booking"), get_site_url())."\n\n";
$abc_text_canceled .= $abc_goodbye;
add_option ('abc_text_canceled', $abc_text_canceled);
$abc_subject_rejected = sprintf(__('Rejecting your booking at %s', 'advanced-booking-calendar'),get_option( 'blogname' ));
add_option ('abc_subject_rejected', $abc_subject_rejected);
$abc_text_rejected = $abc_greeting;
$abc_text_rejected .= __("We are very sorry to reject your booking! We already had another reservation for your requested travel period.", "abc-booking")."\n";
$abc_text_rejected .= sprintf(__("Please check our website at %s for an alternative. We would be very happy to welcome you any time soon.", "abc-booking"), get_site_url())."\n\n";
$abc_text_rejected .= $abc_goodbye;
add_option ('abc_text_rejected', $abc_text_rejected);
add_option('abc_installdate', date('Y-m-d'));
add_option('abc_poweredby', 0);
add_option('abc_feedbackModal01', 0);
add_option('abc_currencyPosition', 1);
add_option ('abc_customCss', '');
add_option('abc_personcount', 2);
add_option('abc_bookingform', array(
'firstname' => '2',
'lastname' => '2',
'phone' => '2',
'street' => '2',
'zip' => '2',
'city' => '2',
'county' => '0',
'country' => '2',
'message' => '1',
'inputs' => '8',
'optincheckbox' => '0'
));
add_option('abc_bookingformvalidated', 0);
add_option('abc_deletion', 0);
add_option('abc_accessLevel','Administrator');
add_option ('abc_emailcopy', 0);
if (! wp_next_scheduled ( 'clearWaitingBookings_event' )) {
wp_schedule_event(time(), 'daily', 'clearWaitingBookings_event');
}
//Insert default values for textCustomization
$textCustomization = array();
$textCustomization[get_locale()] = array(
'checkAvailabilities' => '',
'selectRoom' => '',
'selectedRoom' => '',
'otherRooms' => '',
'noRoom' => '',
'availRooms' => '',
'roomType' => '',
'yourStay' => '',
'checkin' => '',
'checkout' => '',
'bookNow' => '',
'thankYou' => '',
'roomPrice' => '',
'optin' => ''
);
add_option( 'abc_textCustomization',
serialize($textCustomization));
//Insert default values for payment Settings Array
add_option( 'abc_paymentSettings',
serialize(
array( 'cash' => array('activate' => 'false',
'text' => ''),
'onInvoice' => array('activate' => 'false',
'text' => '')
)));
} //==>advanced_booking_calendar_install()
register_activation_hook( __FILE__, 'advanced_booking_calendar_install');
//Uninstall
function advanced_booking_calendar_uninstall() {
deactivate_commitUsage();
if(get_option('abc_deletion') == 1){
global $wpdb;
wp_clear_scheduled_hook('clearWaitingBookings_event');
$wpdb->query("DROP TABLE IF EXISTS
`".$wpdb->prefix."abc_bookings`,
`".$wpdb->prefix."abc_booking_extras`,
`".$wpdb->prefix."abc_calendars`,
`".$wpdb->prefix."abc_extras`,
`".$wpdb->prefix."abc_requests`,
`".$wpdb->prefix."abc_rooms`,
`".$wpdb->prefix."abc_seasons`,
`".$wpdb->prefix."abc_seasons_assignment`
");
delete_option ('abc_email');
delete_option ('abc_bookingpage');
delete_option ('abc_dateformat');
delete_option ('abc_priceformat');
delete_option ('abc_cookies');
delete_option ('abc_googleanalytics');
delete_option ('abc_currency');
delete_option ('abc_newsletter_10th_asked');
delete_option ('abc_newsletter_100th_asked');
delete_option ('abc_newsletter_20000revenue_asked');
delete_option ('abc_subject_unconfirmed');
delete_option ('abc_text_unconfirmed');
delete_option ('abc_subject_confirmed');
delete_option ('abc_text_confirmed');
delete_option ('abc_subject_canceled');
delete_option ('abc_text_canceled');
delete_option ('abc_subject_rejected');
delete_option ('abc_text_rejected');
delete_option('abc_pluginversion');
delete_option('abc_installdate');
delete_option('abc_poweredby');
delete_option('abc_feedbackModal01');
delete_option('abc_currencyPosition');
delete_option('abc_bookingform');
delete_option('abc_bookingformvalidated');
delete_option('abc_usage');
delete_option('abc_deletion');
delete_option('abc_newsletter');
delete_option('abc_paymentSettings');
delete_option('abc_paymentString');
delete_option('abc_personcount');
delete_option('abc_textCustomization');
delete_option('abc_accessLevel');
delete_option('abc_emailcopy');
} else {
$adminEmail = getAbcSetting('email');
$headers = 'From: '.get_option('blogname').' <'.$adminEmail.'>'."\r\n";
$subject = __('Plugin uninstalled', 'advanced-booking-calendar').' '.get_option('blogname');
$body = __("Hi!", "advanced-booking-calendar").'
';
$body .= __("you just uninstalled the plugin Advanced Booking Calendar on your WordPress website, but for safety reasons the data in the database created by the plugin was not deleted.", "advanced-booking-calendar").'
';
$body .= __("If this was a mistake, please install the plugin again, go the plugins settings, tick the box for plugin deletion and uninstall it again.", "advanced-booking-calendar").'
';
$body .= __("Kindly,", "advanced-booking-calendar").'
';
$body .= 'Team of Advanced Booking Calendar
https://booking-calendar-plugin.com';
wp_mail($adminEmail, $subject, $body, $headers);
}
} //==>advanced_booking_calendar_uninstall()
register_uninstall_hook( __FILE__, 'advanced_booking_calendar_uninstall');
//Backend Actions:
function advanced_booking_calendar_admin_actions() {
$capability = abc_booking_admin_capabilities();
//Backend Menu
add_menu_page('Advanced Booking Calendar',
'Advanced Booking Calendar',
$capability,
'advanced_booking_calendar',
'advanced_booking_calendar_show_bookings',
'dashicons-calendar-alt',
30
);
//Submenu "Bookings"
add_submenu_page('advanced_booking_calendar',
'Advanced Booking Calendar - '.__('Bookings', 'advanced-booking-calendar'),
__('Bookings', 'advanced-booking-calendar'),
$capability,
'advanced_booking_calendar',
'advanced_booking_calendar_show_bookings'
);
//Submenu "Seasons & Calendars"
add_submenu_page('advanced_booking_calendar',
'Advanced Booking Calendar - '.__('Seasons & Calendars', 'advanced-booking-calendar'),
__('Seasons & Calendars', 'advanced-booking-calendar'),
$capability,
'advanced-booking-calendar-show-seasons-calendars',
'advanced_booking_calendar_show_seasons_calendars'
);
//Submenu "Extras"
add_submenu_page('advanced_booking_calendar',
'Advanced Booking Calendar - '.__('Extras', 'advanced-booking-calendar'),
__('Extras', 'advanced-booking-calendar'),
$capability,
'advanced-booking-calendar-show-extras',
'advanced_booking_calendar_show_extras'
);
//Submenu "Analytics"
add_submenu_page('advanced_booking_calendar',
'Advanced Booking Calendar - '.__('Analytics', 'advanced-booking-calendar'),
__('Analytics', 'advanced-booking-calendar'),
$capability,
'advanced-booking-calendar-show-analytics',
'advanced_booking_calendar_show_analytics'
);
//Submenu "Settings"
add_submenu_page('advanced_booking_calendar',
'Advanced Booking Calendar - '.__('Settings', 'advanced-booking-calendar'),
__('Settings', 'advanced-booking-calendar'),
$capability,
'advanced-booking-calendar-show-settings',
'advanced_booking_calendar_show_settings', 'dashicons-chart-pie'
);
//Submenu "More Features"
add_submenu_page('advanced_booking_calendar',
'Advanced Booking Calendar - '.__('More Features', 'advanced-booking-calendar'),
''.__('More Features', 'advanced-booking-calendar'),
$capability,
'advanced-booking-calendar-more-features',
'advanced_booking_calendar_more_features'
);
} //==>advanced_booking_calendar_admin_actions()
add_action('admin_menu', 'advanced_booking_calendar_admin_actions');
// Links on Plugin-Page
add_filter( 'plugin_row_meta', 'abc_plugin_row_meta', 10, 2 );
function abc_plugin_row_meta( $links, $file ) {
if ( strpos( $file, 'advanced-booking-calendar.php' ) !== false ) {
$new_links = array(
'Twitter',
'Setup Guide'
);
$links = array_merge( $links, $new_links );
}
return $links;
}
// Update Check
function advanced_booking_update_check(){
if ( intval(get_option( 'abc_pluginversion' )) < '110' || intval(get_option( 'abc_pluginversion' )) == 0) {
update_option('abc_pluginversion', '110');
add_option('abc_installdate', date('Y-m-d'));
add_option('abc_poweredby', 0);
add_option('abc_feedbackModal01', 0);
add_option('abc_currencyPosition', 1);
}
if(intval(get_option( 'abc_pluginversion' )) < '117'){
abc_booking_setPersonCount();
}
if(intval(get_option( 'abc_pluginversion' )) < '118'){
update_option('abc_pluginversion', '118');
global $wpdb;
$wpdb->query("ALTER TABLE `".$wpdb->prefix."advanced_booking_calendar_calendars` ADD `minimumStayPreset` INT(16) NOT NULL AFTER `pricePreset`;");
$wpdb->query("ALTER TABLE `".$wpdb->prefix."advanced_booking_calendar_seasons` ADD `minimumStay` INT(16) NOT NULL AFTER `lastminute`;");
$wpdb->query("UPDATE `".$wpdb->prefix."advanced_booking_calendar_calendars` SET `minimumStayPreset` = 1;");
$wpdb->query("UPDATE `".$wpdb->prefix."advanced_booking_calendar_seasons` SET `minimumStay` = 1;");
}
if(intval(get_option( 'abc_pluginversion' )) < '119'){
update_option('abc_pluginversion', '119');
global $wpdb;
$wpdb->query("ALTER TABLE `".$wpdb->prefix."advanced_booking_calendar_calendars` ADD `partlyBooked` INT(16) NOT NULL AFTER `minimumStayPreset`;");
$wpdb->query("UPDATE `".$wpdb->prefix."advanced_booking_calendar_calendars` SET `partlyBooked` = 1;");
}
if(intval(get_option( 'abc_pluginversion' )) < '120'){
update_option('abc_pluginversion', '120');
global $wpdb;
$extras ="CREATE TABLE `".$wpdb->prefix."advanced_booking_calendar_extras` (
`id` INT(16) NOT NULL AUTO_INCREMENT ,
`name` TEXT NOT NULL ,
`explanation` TEXT NOT NULL ,
`calculation` TEXT NOT NULL ,
`mandatory` TEXT NOT NULL ,
`price` FLOAT(32) NOT NULL ,
PRIMARY KEY (`id`) ) charset=utf8";
$bookingExtras ="CREATE TABLE `".$wpdb->prefix."advanced_booking_calendar_booking_extras` (
`id` INT(32) NOT NULL AUTO_INCREMENT ,
`booking_id` INT(32) NOT NULL ,
`extra_id` INT(32) NOT NULL ,
PRIMARY KEY (`id`) ) charset=utf8";
require_once(ABSPATH . 'wp-admin/includes/upgrade.php');
dbDelta($extras);
dbDelta($bookingExtras);
$wpdb->query("ALTER TABLE `".$wpdb->prefix."advanced_booking_calendar_bookings` ADD `county` TEXT NOT NULL AFTER `city`;");
update_option('abc_bookingform', array(
'firstname' => '2',
'lastname' => '2',
'phone' => '2',
'street' => '2',
'zip' => '2',
'city' => '2',
'county' => '0',
'country' => '2',
'message' => '1',
'inputs' => '8'
));
}
if(get_option( 'abc_pluginversion' ) < '130'){
update_option( 'abc_pluginversion', '130');
update_option ('abc_usage', '0');
update_option ('abc_deletion', '0');
if(getAbcSetting('bookingpage') > 0){
$content_post = get_post(getAbcSetting('bookingpage'));
if( strpos($content_post->post_content, 'abc-bookingform') !== false) {
update_option ('abc_bookingformvalidated', 1);
}else{
update_option ('abc_bookingformvalidated', 0);
}
}
global $wpdb;
$wpdb->query("ALTER TABLE `".$wpdb->prefix."advanced_booking_calendar_bookings` ADD `payment` TEXT NOT NULL AFTER `room_id`;");
$wpdb->query("ALTER TABLE `".$wpdb->prefix."advanced_booking_calendar_bookings` ADD `payment_reference` TEXT NOT NULL AFTER `payment`;");
$wpdb->query("ALTER TABLE `".$wpdb->prefix."advanced_booking_calendar_bookings` ADD `created` date NOT NULL AFTER `payment_reference`;");
}
if(get_option( 'abc_pluginversion' ) < '137'){
update_option( 'abc_pluginversion', '137');
//Insert default values for textCustomization
add_option( 'abc_textCustomization',
serialize(
array(
'checkAvailabilities' => '',
'selectRoom' => '',
'selectedRoom' => '',
'otherRooms' => '',
'noRoom' => '',
'availRooms' => '',
'roomType' => '',
'yourStay' => '',
'checkin' => '',
'checkout' => '',
'bookNow' => '',
'thankYou' => '',
'roomPrice' => ''
)));
//Insert default values for payment Settings Array
add_option( 'abc_paymentSettings',
serialize(
array( 'cash' => array('activate' => 'false',
'text' => ''),
'onInvoice' => array('activate' => 'false',
'text' => '')
)));
}
if(get_option( 'abc_pluginversion' ) < '138'){
if(get_option( 'abc_textCustomization') != false) {
$textCustomization = array();
$textCustomization[get_locale()] = unserialize(get_option( 'abc_textCustomization') );
update_option( 'abc_textCustomization', serialize($textCustomization));
}
update_option( 'abc_pluginversion', '138');
}
if(get_option( 'abc_pluginversion' ) < '140'){
global $wpdb;
$extraPersonsAlter = "ALTER TABLE `".$wpdb->prefix."advanced_booking_calendar_extras` ADD `persons` INT(32) NOT NULL AFTER `price`;";
$wpdb->query($extraPersonsAlter);
$wpdb->query("UPDATE `".$wpdb->prefix."advanced_booking_calendar_extras` SET `persons` = 1;");
update_option( 'abc_pluginversion', '140');
}
if(get_option( 'abc_pluginversion' ) < '142'){
add_option ('abc_customCss', '');
update_option ('abc_unconfirmed', '0');
update_option( 'abc_pluginversion', '142');
}
if(get_option( 'abc_pluginversion' ) < '143'){
if(getAbcSetting('installdate') <= date("Y-m-d", strtotime('-1 month'))){
update_option('abc_feedbackModal01', 0);
}
update_option( 'abc_pluginversion', '143');
}
if(get_option( 'abc_pluginversion' ) < '144'){
add_option('abc_accessLevel','Administrator');
update_option( 'abc_pluginversion', '144');
}
if(get_option( 'abc_pluginversion' ) < '147'){
add_option ('abc_emailcopy', 0);
update_option( 'abc_pluginversion', '147');
}
if(get_option( 'abc_pluginversion' ) < '148'){
global $wpdb;
$rename_table = 'RENAME TABLE `'.$wpdb->prefix.'advanced_booking_calendar_bookings` TO `'.$wpdb->prefix.'abc_bookings`';
$wpdb->query($rename_table);
$rename_table = 'RENAME TABLE `'.$wpdb->prefix.'advanced_booking_calendar_requests` TO `'.$wpdb->prefix.'abc_requests`';
$wpdb->query($rename_table);
$rename_table = 'RENAME TABLE `'.$wpdb->prefix.'advanced_booking_calendar_rooms` TO `'.$wpdb->prefix.'abc_rooms`';
$wpdb->query($rename_table);
$rename_table = 'RENAME TABLE `'.$wpdb->prefix.'advanced_booking_calendar_calendars` TO `'.$wpdb->prefix.'abc_calendars`';
$wpdb->query($rename_table);
$rename_table = 'RENAME TABLE `'.$wpdb->prefix.'advanced_booking_calendar_seasons` TO `'.$wpdb->prefix.'abc_seasons`';
$wpdb->query($rename_table);
$rename_table = 'RENAME TABLE `'.$wpdb->prefix.'advanced_booking_calendar_seasons_assignment` TO `'.$wpdb->prefix.'abc_seasons_assignment`';
$wpdb->query($rename_table);
$rename_table = 'RENAME TABLE `'.$wpdb->prefix.'advanced_booking_calendar_extras` TO `'.$wpdb->prefix.'abc_extras`';
$wpdb->query($rename_table);
$rename_table = 'RENAME TABLE `'.$wpdb->prefix.'advanced_booking_calendar_booking_extras` TO `'.$wpdb->prefix.'abc_booking_extras`';
$wpdb->query($rename_table);
update_option( 'abc_pluginversion', '148');
}
if(get_option( 'abc_pluginversion' ) < '152') {
global $wpdb;
$query = "SELECT id FROM ".$wpdb->prefix."abc_extras ORDER BY `id` DESC;";
$extras = $wpdb->get_results( $query, ARRAY_A );
$wpdb->query("ALTER TABLE `".$wpdb->prefix."abc_extras` ADD `order` BIGINT NOT NULL AFTER `persons`;");
foreach( $extras as $key => $extra ) {
$wpdb->update($wpdb->prefix.'abc_extras', array(
'order' => intval( $key + 1 )
), array( 'id' => intval($extra['id'])) );
}
update_option( 'abc_pluginversion', '152');
}
if(get_option( 'abc_pluginversion' ) < '154') {
$newOptions = array_merge(get_option('abc_bookingform'), array('optincheckbox' => '0'));
update_option('abc_bookingform', $newOptions);
$newTexts = array();
if(get_option('abc_textCustomization') != false){
$textCustomization = unserialize(get_option('abc_textCustomization'));
foreach ($textCustomization as $locale=>$texts){
if(is_array($texts)){
$newTexts[$locale] = array_merge($texts, array('optin' => ''));
}
}
update_option('abc_textCustomization', serialize($newTexts));
}
update_option( 'abc_pluginversion', '154');
}
if(get_option( 'abc_pluginversion' ) < '159') {
update_option( 'abc_pluginversion', '159');
}
}
add_action( 'plugins_loaded', 'advanced_booking_update_check' );