public static function init() { global $wpdb; if (!self::$initiated) { self::init_hooks(); } if (isset($_GET['news'])) { self::ajax_ecalypse_news(); die; } // Demo data if (isset($_POST['import_demo_data'])) { self::import_demo_data(); self::set_flash_msg('success', __('Demo data was successfully imported.', 'carrental')); Header('Location: ' . self::get_page_url('carrental')); exit; } $update_db = get_option('carrental_do_database_update'); if ($update_db && $update_db == 1) { CarRental::plugin_activation('carrental_do_database_update'); update_option('carrental_do_database_update', 0); self::set_flash_msg('success', __('Plugin was successfully updated.', 'carrental')); Header('Location: ' . self::get_page_url('carrental-settings')); exit; } ////////// // AJAX // ////////// if (isset($_GET['get_day_ranges']) && (int) $_GET['get_day_ranges'] > 0) { print self::print_pricing_ranges((int) $_GET['get_day_ranges']); exit; } if (isset($_GET['get_onetime_price']) && (int) $_GET['get_onetime_price'] > 0) { print self::print_onetime_price((int) $_GET['get_onetime_price']); exit; } if (isset($_GET['get_extras_price_schemes']) && (int) $_GET['get_extras_price_schemes'] > 0) { print self::print_price_schemes('extras', (int) $_GET['get_extras_price_schemes']); // id_extras exit; } if (isset($_GET['get_fleet_price_schemes']) && (int) $_GET['get_fleet_price_schemes'] > 0) { print self::print_price_schemes('fleet', (int) $_GET['get_fleet_price_schemes']); // id_extras exit; } if (isset($_POST['send_test_email'])) { print self::send_test_email(); exit; } //////////////// // NEWSLETTER // //////////////// // BULK DELETE if (isset($_POST['batch_delete_newsletter']) && !empty($_POST['batch_processing_values'])) { $bookings = explode(',', $_POST['batch_processing_values']); $report = $msg = array(); foreach ($bookings as $id_booking) { $ret = self::remove_newsletter((int) $id_booking); if ($ret === true) { $report[] = 'ok'; $msg[] = (int) $id_booking . ' - ok'; } else { $report[] = 'error'; $msg[] = (int) $id_booking . ' - error'; } } if (!in_array('error', $report)) { self::set_flash_msg('success', __('Emails was successfully deleted.', 'carrental')); Header('Location: ' . self::get_page_url('carrental-newsletter')); exit; } else { self::set_flash_msg('danger', sprintf(__("Emails was not deleted due to error (%s).", 'carrental'), implode(', ', $msg))); Header('Location: ' . self::get_page_url('carrental-newsletter')); exit; } } if (isset($_GET['carrental-newsletter-export'])) { self::newsletter_export($_GET['carrental-newsletter-export']); } ////////////// // SETTINGS // ////////////// if (isset($_POST['edit_settings'])) { $msg = self::update_settings(); if ($msg === true) { self::set_flash_msg('success', __('Settings was successfully saved.', 'carrental')); Header('Location: ' . self::get_page_url('carrental-settings')); exit; } else { self::set_flash_msg('danger', sprintf(__('Settings was not saved due to error (%s).', 'carrental'), $msg)); Header('Location: ' . self::get_page_url('carrental-settings')); exit; } } if (isset($_POST['edit_company_info'])) { $msg = self::update_company_info(); if ($msg === true) { self::set_flash_msg('success', __('Company info was successfully saved.', 'carrental')); Header('Location: ' . self::get_page_url('carrental-settings')); exit; } else { self::set_flash_msg('danger', sprintf(__('Company info was not saved due to error (%s).', 'carrental'), $msg)); Header('Location: ' . self::get_page_url('carrental-settings')); exit; } } if (isset($_POST['update_vehicle_categories'])) { $msg = self::update_vehicle_categories(); if ($msg === true) { self::set_flash_msg('success', __('Vehicle Categories was successfully saved.', 'carrental')); Header('Location: ' . self::get_page_url('carrental-settings') . '#vehicle-categories'); exit; } else { self::set_flash_msg('danger', sprintf(__('Vehicle Categories was not saved due to error (%s).', 'carrental'), $msg)); Header('Location: ' . self::get_page_url('carrental-settings') . '#vehicle-categories'); exit; } } if (isset($_POST['add_vehicle_category'])) { $msg = self::add_vehicle_category(); if ($msg === true) { self::set_flash_msg('success', __('Vehicle Category was successfully added.', 'carrental')); Header('Location: ' . self::get_page_url('carrental-settings') . '#vehicle-categories'); exit; } else { self::set_flash_msg('danger', sprintf(__('Vehicle Category was not added due to error (%s).', 'carrental'), $msg)); Header('Location: ' . self::get_page_url('carrental-settings') . '#vehicle-categories'); exit; } } if (isset($_POST['save_reservation_inputs'])) { $inputs = array(); $inputs_list = array('company' => 'Company', 'vat' => 'VAT', 'flight' => 'Flight number', 'license' => 'License number', 'id_card' => 'ID / Passport number', 'partner_code' => 'Partner code'); foreach ($inputs_list as $k => $v) { if (!isset($_POST['carrental_inputs'][$k])) { $inputs[$k] = 1; } } update_option('carrental_reservation_inputs', serialize($inputs)); $msg = true; if ($msg === true) { self::set_flash_msg('success', __('Reservation inputs was successfully updated.', 'carrental')); Header('Location: ' . self::get_page_url('carrental-settings') . '#reservation-inputs'); exit; } else { self::set_flash_msg('danger', sprintf(__('Reservation inputs was not updated due to error (%s).', 'carrental'), $msg)); Header('Location: ' . self::get_page_url('carrental-settings') . '#reservation-inputs'); exit; } } if (isset($_POST['save_holidays'])) { $holidays = array(); if (isset($_POST['carrental_holidays'])) { foreach ($_POST['carrental_holidays'] as $date) { $holidays[$date] = $date; } } $msg = true; update_option('carrental_holidays', serialize($holidays)); if ($msg === true) { self::set_flash_msg('success', __('Holidays was successfully updated.', 'carrental')); Header('Location: ' . self::get_page_url('carrental-settings') . '#holidays'); exit; } else { self::set_flash_msg('danger', sprintf(__('Holidays was not updated due to error (%s).', 'carrental'), $msg)); Header('Location: ' . self::get_page_url('carrental-settings') . '#holidays'); exit; } } if (isset($_POST['save_min_booking_time'])) { $min_rent_times = array(); if (isset($_POST['minimum_rental_time']) && is_array($_POST['minimum_rental_time'])) { foreach ($_POST['minimum_rental_time'] as $month => $value) { $min_rent_times[$month] = (int) $value > 31 ? 31 : ((int) $value < 0 ? 0 : (int) $value); } } update_option('carrental_minimum_rental_time', serialize($min_rent_times)); self::set_flash_msg('success', __('Minimum booking time per month successfully saved.', 'carrental')); Header('Location: ' . self::get_page_url('carrental-settings') . '#min-booking-time'); exit; } if (isset($_POST['replace_price_scheme']) && (int) $_POST['price_scheme_original'] > 0 && (int) $_POST['price_scheme_new'] > 0) { $msg = self::replace_price_scheme((int) $_POST['price_scheme_original'], (int) $_POST['price_scheme_new']); if ($msg === true) { self::set_flash_msg('success', __('Price scheme was successfully replaced.', 'carrental')); Header('Location: ' . self::get_page_url('carrental-settings')); exit; } else { self::set_flash_msg('danger', sprintf(__('Price scheme was not replaced due to error (%s).', 'carrental'), $msg)); Header('Location: ' . self::get_page_url('carrental-settings')); exit; } } if (isset($_POST['save_smtp_settings'])) { $msg = self::update_smtp_settings(); if ($msg === true) { self::set_flash_msg('success', __('SMTP Settings was successfully replaced.', 'carrental')); Header('Location: ' . self::get_page_url('carrental-settings')); exit; } else { self::set_flash_msg('danger', sprintf(__('SMTP Settings was not replaced due to error (%s).', 'carrental'), $msg)); Header('Location: ' . self::get_page_url('carrental-settings')); exit; } } if (isset($_POST['save_api_key']) && !empty($_POST['api_key'])) { $msg = self::update_api_key(); if ($msg === true) { self::set_flash_msg('success', __('API key was successfully updated.', 'carrental')); Header('Location: ' . self::get_page_url('carrental-settings')); exit; } else { self::set_flash_msg('danger', sprintf(__('API key was not updated due to error (%s).', 'carrental'), $msg)); Header('Location: ' . self::get_page_url('carrental-settings')); exit; } } if (isset($_POST['check_plugin_update'])) { $msg = self::check_plugin_update(); if ($msg === true) { self::set_flash_msg('success', __('Plugin updates was successfully checked.', 'carrental')); Header('Location: ' . self::get_page_url('carrental-settings')); exit; } else { self::set_flash_msg('danger', sprintf(__('Plugin updates was not checked due to error (%s).', 'carrental'), $msg)); Header('Location: ' . self::get_page_url('carrental-settings')); exit; } } if (isset($_POST['export_database'])) { $sql = self::export_database(); $fileName = 'car_rental_plugin_db_' . Date('Y-m-d') . '.sql'; header('Content-Type: application/octet-stream'); header("Content-Transfer-Encoding: Binary"); header("Content-disposition: attachment; filename=\"" . $fileName . "\""); echo $sql; exit; } if (isset($_POST['plugin_update'])) { $msg = self::process_plugin_update(); if ($msg === true) { self::set_flash_msg('success', __('Plugin was successfully updated.', 'carrental')); Header('Location: ' . self::get_page_url('carrental-settings')); exit; } else { self::set_flash_msg('danger', sprintf(__('Plugin was not updated due to error (%s).', 'carrental'), $msg)); Header('Location: ' . self::get_page_url('carrental-settings')); exit; } } ////////////// // BRANCHES // ////////////// // ADD / MODIFY if (isset($_POST['add_branch'])) { $msg = self::add_branch(); if ($msg === true) { self::set_flash_msg('success', isset($_POST['id_branch']) ? __('Branch was successfully modified.', 'carrental') : __('New branch was successfully added.', 'carrental')); Header('Location: ' . self::get_page_url('carrental-branches')); exit; } else { self::set_flash_msg('danger', isset($_POST['id_branch']) ? sprintf(__('Branch was not modified due to error (%s).', 'carrental'), $msg) : sprintf(__('New branch was not added due to error (%s).', 'carrental'), $msg)); Header('Location: ' . self::get_page_url('carrental-branches')); exit; } } // COPY if (isset($_POST['copy_branch']) && !empty($_POST['id_branch'])) { $msg = self::copy_branch((int) $_POST['id_branch']); if ($msg === true) { self::set_flash_msg('success', __('Branch was successfully copied.', 'carrental')); Header('Location: ' . self::get_page_url('carrental-branches')); exit; } else { self::set_flash_msg('danger', sprintf(__('Branch was not copied due to error (%s).', 'carrental'), $msg)); Header('Location: ' . self::get_page_url('carrental-branches')); exit; } } // BULK COPY if (isset($_POST['batch_copy_branch']) && !empty($_POST['batch_processing_values'])) { $branches = explode(',', $_POST['batch_processing_values']); $report = $msg = array(); foreach ($branches as $id_branch) { $ret = self::copy_branch((int) $id_branch); if ($ret === true) { $report[] = 'ok'; $msg[] = (int) $id_branch . ' - ok'; } else { $report[] = 'error'; $msg[] = (int) $id_branch . ' - error'; } } if (!in_array('error', $report)) { self::set_flash_msg('success', __('Branches was successfully copied.', 'carrental')); Header('Location: ' . self::get_page_url('carrental-branches')); exit; } else { self::set_flash_msg('danger', sprintf(__("Branches was not copied due to error (%s).", 'carrental'), implode(', ', $msg))); Header('Location: ' . self::get_page_url('carrental-branches')); exit; } } // DELETE if (isset($_POST['delete_branch']) && !empty($_POST['id_branch'])) { $msg = self::delete_branch((int) $_POST['id_branch']); if ($msg === true) { self::set_flash_msg('success', __('Branch was successfully deleted.', 'carrental')); Header('Location: ' . self::get_page_url('carrental-branches')); exit; } else { self::set_flash_msg('danger', sprintf(__('Branch was not deleted due to error (%s).', 'carrental'), $msg)); Header('Location: ' . self::get_page_url('carrental-branches')); exit; } } // BULK DELETE if (isset($_POST['batch_delete_branch']) && !empty($_POST['batch_processing_values'])) { $branches = explode(',', $_POST['batch_processing_values']); $report = $msg = array(); foreach ($branches as $id_branch) { $ret = self::delete_branch((int) $id_branch); if ($ret === true) { $report[] = 'ok'; $msg[] = (int) $id_branch . ' - ok'; } else { $report[] = 'error'; $msg[] = (int) $id_branch . ' - error'; } } if (!in_array('error', $report)) { self::set_flash_msg('success', __('Branches was successfully deleted.', 'carrental')); Header('Location: ' . self::get_page_url('carrental-branches')); exit; } else { self::set_flash_msg('danger', sprintf(__("Branches was not deleted due to error (%s).", 'carrental'), implode(', ', $msg))); Header('Location: ' . self::get_page_url('carrental-branches')); exit; } } // RESTORE if (isset($_POST['restore_branch']) && !empty($_POST['id_branch'])) { $msg = self::restore_branch((int) $_POST['id_branch']); if ($msg === true) { self::set_flash_msg('success', __('Branch was successfully restored.', 'carrental')); Header('Location: ' . self::get_page_url('carrental-branches')); exit; } else { self::set_flash_msg('danger', sprintf(__('Branch was not restored due to error (%s).', 'carrental'), $msg)); Header('Location: ' . self::get_page_url('carrental-branches')); exit; } } //////////// // EXTRAS // //////////// // ADD / MODIFY if (isset($_POST['add_extras'])) { $msg = self::add_extras(); if ($msg === true) { self::set_flash_msg('success', isset($_POST['id_extras']) ? __('Item was successfully modified.', 'carrental') : __('New item was successfully added.', 'carrental')); Header('Location: ' . self::get_page_url('carrental-extras')); exit; } else { self::set_flash_msg('danger', isset($_POST['id_extras']) ? sprintf(__('Item was not modified due to error (%s).', 'carrental'), $msg) : sprintf(__('New item was not added due to error (%s).', 'carrental'), $msg)); Header('Location: ' . self::get_page_url('carrental-extras')); exit; } } // COPY if (isset($_POST['copy_extras']) && !empty($_POST['id_extras'])) { $msg = self::copy_extras((int) $_POST['id_extras']); if ($msg === true) { self::set_flash_msg('success', __('Item was successfully copied.', 'carrental')); Header('Location: ' . self::get_page_url('carrental-extras')); exit; } else { self::set_flash_msg('danger', sprintf(__('Item was not copied due to error (%s).', 'carrental'), $msg)); Header('Location: ' . self::get_page_url('carrental-extras')); exit; } } // BULK COPY if (isset($_POST['batch_copy_extras']) && !empty($_POST['batch_processing_values'])) { $extras = explode(',', $_POST['batch_processing_values']); $report = $msg = array(); foreach ($extras as $id_extras) { $ret = self::copy_extras((int) $id_extras); if ($ret === true) { $report[] = 'ok'; $msg[] = (int) $id_extras . ' - ok'; } else { $report[] = 'error'; $msg[] = (int) $id_extras . ' - error'; } } if (!in_array('error', $report)) { self::set_flash_msg('success', __('Items was successfully copied.', 'carrental')); Header('Location: ' . self::get_page_url('carrental-extras')); exit; } else { self::set_flash_msg('danger', sprintf(__("Items was not copied due to error (%s).", 'carrental'), implode(', ', $msg))); Header('Location: ' . self::get_page_url('carrental-extras')); exit; } } // DELETE if (isset($_POST['delete_extras']) && !empty($_POST['id_extras'])) { $msg = self::delete_extras((int) $_POST['id_extras']); if ($msg === true) { self::set_flash_msg('success', __('Item was successfully deleted.', 'carrental')); Header('Location: ' . self::get_page_url('carrental-extras')); exit; } else { self::set_flash_msg('danger', sprintf(__('Item was not deleted due to error (%s).', 'carrental'), $msg)); Header('Location: ' . self::get_page_url('carrental-extras')); exit; } } // BULK DELETE if (isset($_POST['batch_delete_extras']) && !empty($_POST['batch_processing_values'])) { $extras = explode(',', $_POST['batch_processing_values']); $report = $msg = array(); foreach ($extras as $id_extras) { $ret = self::delete_extras((int) $id_extras); if ($ret === true) { $report[] = 'ok'; $msg[] = (int) $id_extras . ' - ok'; } else { $report[] = 'error'; $msg[] = (int) $id_extras . ' - error'; } } if (!in_array('error', $report)) { self::set_flash_msg('success', __('Items was successfully deleted.', 'carrental')); Header('Location: ' . self::get_page_url('carrental-extras')); exit; } else { self::set_flash_msg('danger', sprintf(__("Items was not deleted due to error (%s).", 'carrental'), implode(', ', $msg))); Header('Location: ' . self::get_page_url('carrental-extras')); exit; } } // RESTORE if (isset($_POST['restore_extras']) && !empty($_POST['id_extras'])) { $msg = self::restore_extras((int) $_POST['id_extras']); if ($msg === true) { self::set_flash_msg('success', __('Item was successfully restored.', 'carrental')); Header('Location: ' . self::get_page_url('carrental-extras')); exit; } else { self::set_flash_msg('danger', sprintf(__('Item was not restored due to error (%s).', 'carrental'), $msg)); Header('Location: ' . self::get_page_url('carrental-extras')); exit; } } /////////// // FLEET // /////////// // ADD / MODIFY if (isset($_POST['add_fleet'])) { $msg = self::add_fleet(); if ($msg === true) { self::set_flash_msg('success', isset($_POST['id_fleet']) ? __('Vehicle was successfully modified.', 'carrental') : __('New vehicle was successfully added.', 'carrental')); Header('Location: ' . self::get_page_url('carrental-fleet')); exit; } else { self::set_flash_msg('danger', isset($_POST['id_fleet']) ? sprintf(__('Vehicle was not modified due to error (%s).', 'carrental'), $msg) : sprintf(__('New vehicle was not added due to error (%s).', 'carrental'), $msg)); Header('Location: ' . self::get_page_url('carrental-fleet')); exit; } } // COPY if (isset($_POST['copy_fleet']) && !empty($_POST['id_fleet'])) { $msg = self::copy_fleet((int) $_POST['id_fleet']); if ($msg === true) { self::set_flash_msg('success', __('Vehicle was successfully copied.', 'carrental')); Header('Location: ' . self::get_page_url('carrental-fleet')); exit; } else { self::set_flash_msg('danger', sprintf(__("Vehicle was not copied due to error (%s).", 'carrental'), $msg)); Header('Location: ' . self::get_page_url('carrental-fleet')); exit; } } // RESTORE if (isset($_POST['restore_fleet']) && !empty($_POST['id_fleet'])) { $msg = self::restore_fleet((int) $_POST['id_fleet']); if ($msg === true) { self::set_flash_msg('success', __('Vehicle was successfully restored.', 'carrental')); Header('Location: ' . self::get_page_url('carrental-fleet')); exit; } else { self::set_flash_msg('danger', sprintf(__("Vehicle was not restored due to error (%s).", 'carrental'), $msg)); Header('Location: ' . self::get_page_url('carrental-fleet')); exit; } } // BULK COPY if (isset($_POST['batch_copy_fleet']) && !empty($_POST['batch_processing_values'])) { $vehicles = explode(',', $_POST['batch_processing_values']); $report = $msg = array(); foreach ($vehicles as $id_fleet) { $ret = self::copy_fleet((int) $id_fleet); if ($ret === true) { $report[] = 'ok'; $msg[] = (int) $id_fleet . ' - ok'; } else { $report[] = 'error'; $msg[] = (int) $id_fleet . ' - error'; } } if (!in_array('error', $report)) { self::set_flash_msg('success', __('Vehicles was successfully copied.', 'carrental')); Header('Location: ' . self::get_page_url('carrental-fleet')); exit; } else { self::set_flash_msg('danger', sprintf(__("Vehicles was not copied due to error (%s).", 'carrental'), implode(', ', $msg))); Header('Location: ' . self::get_page_url('carrental-fleet')); exit; } } // DELETE if (isset($_POST['delete_fleet']) && !empty($_POST['id_fleet'])) { $msg = self::delete_fleet((int) $_POST['id_fleet']); if ($msg === true) { self::set_flash_msg('success', __('Vehicle was successfully deleted.', 'carrental')); Header('Location: ' . self::get_page_url('carrental-fleet')); exit; } else { self::set_flash_msg('danger', sprintf(__('Vehicle was not deleted due to error (%s).', 'carrental'), $msg)); Header('Location: ' . self::get_page_url('carrental-fleet')); exit; } } // BULK DELETE if (isset($_POST['batch_delete_fleet']) && !empty($_POST['batch_processing_values'])) { $vehicles = explode(',', $_POST['batch_processing_values']); $report = $msg = array(); foreach ($vehicles as $id_fleet) { $ret = self::delete_fleet((int) $id_fleet); if ($ret === true) { $report[] = 'ok'; $msg[] = (int) $id_fleet . ' - ok'; } else { $report[] = 'error'; $msg[] = (int) $id_fleet . ' - error'; } } if (!in_array('error', $report)) { self::set_flash_msg('success', __('Vehicles was successfully deleted.', 'carrental')); Header('Location: ' . self::get_page_url('carrental-fleet')); exit; } else { self::set_flash_msg('danger', sprintf(__("Vehicles was not deleted due to error (%s).", 'carrental'), implode(', ', $msg))); Header('Location: ' . self::get_page_url('carrental-fleet')); exit; } } // DELETE FROM DATABASE if (isset($_POST['batch_delete_db_fleet']) && !empty($_POST['batch_processing_values'])) { $vehicles = explode(',', $_POST['batch_processing_values']); $report = $msg = array(); foreach ($vehicles as $id_fleet) { $ret = self::delete_fleet_from_db((int) $id_fleet); if ($ret === true) { $report[] = 'ok'; $msg[] = (int) $id_fleet . ' - ok'; } else { $report[] = 'error'; $msg[] = (int) $id_fleet . ' - error'; } } if (!in_array('error', $report)) { self::set_flash_msg('success', __('Vehicles was successfully deleted from database.', 'carrental')); Header('Location: ' . self::get_page_url('carrental-fleet') . '&deleted'); exit; } else { self::set_flash_msg('danger', sprintf(__("Vehicles was not deleted from database due to error (%s).", 'carrental'), implode(', ', $msg))); Header('Location: ' . self::get_page_url('carrental-fleet') . '&deleted'); exit; } } /////////// // FLEET PARAMETERS // /////////// // ADD / MODIFY if (isset($_POST['add_fleet_parameter'])) { $msg = self::add_fleet_parameter(); if ($msg === true) { self::set_flash_msg('success', isset($_POST['id_fleet_parameter']) ? __('Parameter was successfully modified.', 'carrental') : __('New parameter was successfully added.', 'carrental')); Header('Location: ' . self::get_page_url('carrental-fleet-parameters')); exit; } else { self::set_flash_msg('danger', isset($_POST['id_fleet_parameter']) ? sprintf(__('Parameter was not modified due to error (%s).', 'carrental'), $msg) : sprintf(__('New parameter was not added due to error (%s).', 'carrental'), $msg)); Header('Location: ' . self::get_page_url('carrental-fleet-parameters')); exit; } } // COPY if (isset($_POST['copy_fleet_parameter']) && !empty($_POST['id_fleet_parameter'])) { $msg = self::copy_fleet_parameter((int) $_POST['id_fleet_parameter']); if ($msg === true) { self::set_flash_msg('success', __('Parameter was successfully copied.', 'carrental')); Header('Location: ' . self::get_page_url('carrental-fleet-parameters')); exit; } else { self::set_flash_msg('danger', sprintf(__("Parameter was not copied due to error (%s).", 'carrental'), $msg)); Header('Location: ' . self::get_page_url('carrental-fleet-parameters')); exit; } } // DELETE if (isset($_POST['delete_fleet_parameter']) && !empty($_POST['id_fleet_parameter'])) { $msg = self::delete_fleet_parameter((int) $_POST['id_fleet_parameter']); if ($msg === true) { self::set_flash_msg('success', __('Parameter was successfully deleted.', 'carrental')); Header('Location: ' . self::get_page_url('carrental-fleet-parameters')); exit; } else { self::set_flash_msg('danger', sprintf(__('Parameter was not deleted due to error (%s).', 'carrental'), $msg)); Header('Location: ' . self::get_page_url('carrental-fleet-parameters')); exit; } } ///////////// // PRICING // ///////////// // ADD / MODIFY if (isset($_POST['add_pricing'])) { $msg = self::add_pricing(); if ($msg === true) { self::set_flash_msg('success', isset($_POST['id_pricing']) ? __('Price scheme was successfully modified.', 'carrental') : __('New price scheme was successfully added.', 'carrental')); Header('Location: ' . self::get_page_url('carrental-pricing')); exit; } else { self::set_flash_msg('danger', isset($_POST['id_pricing']) ? sprintf(__('Price scheme was not modified due to error (%s).', 'carrental'), $msg) : sprintf(__('New price scheme was not added due to error (%s).', 'carrental'), $msg)); Header('Location: ' . self::get_page_url('carrental-pricing')); exit; } } // COPY if (isset($_POST['copy_pricing']) && !empty($_POST['id_pricing'])) { $msg = self::copy_pricing((int) $_POST['id_pricing']); if ($msg === true) { self::set_flash_msg('success', __('Price scheme was successfully copied.', 'carrental')); Header('Location: ' . self::get_page_url('carrental-pricing')); exit; } else { self::set_flash_msg('danger', sprintf(__("Price scheme was not copied due to error (%s).", 'carrental'), $msg)); Header('Location: ' . self::get_page_url('carrental-pricing')); exit; } } // BULK COPY if (isset($_POST['batch_copy_pricing']) && !empty($_POST['batch_processing_values'])) { $pricing = explode(',', $_POST['batch_processing_values']); $report = $msg = array(); foreach ($pricing as $id_pricing) { $ret = self::copy_pricing((int) $id_pricing); if ($ret === true) { $report[] = 'ok'; $msg[] = (int) $id_pricing . ' - ok'; } else { $report[] = 'error'; $msg[] = (int) $id_pricing . ' - error'; } } if (!in_array('error', $report)) { self::set_flash_msg('success', __('Pricing schemes was successfully copied.', 'carrental')); Header('Location: ' . self::get_page_url('carrental-pricing')); exit; } else { self::set_flash_msg('danger', sprintf(__("Pricing schemes was not copied due to error (%s).", 'carrental'), implode(', ', $msg))); Header('Location: ' . self::get_page_url('carrental-pricing')); exit; } } // DELETE if (isset($_POST['delete_pricing']) && !empty($_POST['id_pricing'])) { $msg = self::delete_pricing((int) $_POST['id_pricing']); if ($msg === true) { self::set_flash_msg('success', __('Price scheme was successfully deleted.', 'carrental')); Header('Location: ' . self::get_page_url('carrental-pricing')); exit; } else { self::set_flash_msg('danger', sprintf(__('Price scheme was not deleted due to error (%s).', 'carrental'), $msg)); Header('Location: ' . self::get_page_url('carrental-pricing')); exit; } } // BULK DELETE if (isset($_POST['batch_delete_pricing']) && !empty($_POST['batch_processing_values_delete'])) { $pricing = explode(',', $_POST['batch_processing_values_delete']); $report = $msg = array(); foreach ($pricing as $id_pricing) { $ret = self::delete_pricing((int) $id_pricing); if ($ret === true) { $report[] = 'ok'; $msg[] = (int) $id_pricing . ' - ok'; } else { $report[] = 'error'; $msg[] = (int) $id_pricing . ' - error'; } } if (!in_array('error', $report)) { self::set_flash_msg('success', __('Pricing schemes was successfully deleted.', 'carrental')); Header('Location: ' . self::get_page_url('carrental-pricing')); exit; } else { self::set_flash_msg('danger', sprintf(__("Pricing schemes was not deleted due to error (%s).", 'carrental'), implode(', ', $msg))); Header('Location: ' . self::get_page_url('carrental-pricing')); exit; } } // RESTORE if (isset($_POST['restore_pricing']) && !empty($_POST['id_pricing'])) { $msg = self::restore_pricing((int) $_POST['id_pricing']); if ($msg === true) { self::set_flash_msg('success', __('Price scheme was successfully restored.', 'carrental')); Header('Location: ' . self::get_page_url('carrental-pricing')); exit; } else { self::set_flash_msg('danger', sprintf(__('Price scheme was not restored due to error (%s).', 'carrental'), $msg)); Header('Location: ' . self::get_page_url('carrental-pricing')); exit; } } ///////////// // BOOKING // ///////////// // ADD / MODIFY if (isset($_POST['add_booking']) || isset($_POST['add_booking_emails'])) { $msg = self::add_booking(); if ($msg === true) { self::set_flash_msg('success', isset($_POST['id_booking']) ? __('Booking was successfully modified.', 'carrental') : __('New booking was successfully added.', 'carrental')); Header('Location: ' . self::get_page_url('carrental-booking')); exit; } else { self::set_flash_msg('danger', isset($_POST['id_booking']) ? sprintf(__('Booking was not modified due to error (%s).', 'carrental'), $msg) : sprintf(__('New booking was not added due to error (%s).', 'carrental'), $msg)); Header('Location: ' . self::get_page_url('carrental-booking')); exit; } } // COPY if (isset($_POST['copy_booking']) && !empty($_POST['id_booking'])) { $msg = self::copy_booking((int) $_POST['id_booking']); if ($msg === true) { self::set_flash_msg('success', __('Booking was successfully copied.', 'carrental')); Header('Location: ' . self::get_page_url('carrental-booking')); exit; } else { self::set_flash_msg('danger', sprintf(__("Booking was not copied due to error (%s).", 'carrental'), $msg)); Header('Location: ' . self::get_page_url('carrental-booking')); exit; } } // RESEND CONFIRMATION EMAIL if (isset($_POST['resend_email']) && !empty($_POST['id_booking'])) { $msg = self::resend_email((int) $_POST['id_booking']); if ($msg === true) { self::set_flash_msg('success', __('Email was successfully sent.', 'carrental')); Header('Location: ' . self::get_page_url('carrental-booking')); exit; } else { self::set_flash_msg('danger', sprintf(__("Email was not sent due to error (%s).", 'carrental'), $msg)); Header('Location: ' . self::get_page_url('carrental-booking')); exit; } } // BULK COPY if (isset($_POST['batch_copy_booking']) && !empty($_POST['batch_processing_values'])) { $booking = explode(',', $_POST['batch_processing_values']); $report = $msg = array(); foreach ($booking as $id_booking) { $ret = self::copy_booking((int) $id_booking); if ($ret === true) { $report[] = 'ok'; $msg[] = (int) $id_booking . ' - ok'; } else { $report[] = 'error'; $msg[] = (int) $id_booking . ' - error'; } } if (!in_array('error', $report)) { self::set_flash_msg('success', __('Bookings was successfully copied.', 'carrental')); Header('Location: ' . self::get_page_url('carrental-booking')); exit; } else { self::set_flash_msg('danger', sprintf(__("Bookings was not copied due to error (%s).", 'carrental'), implode(', ', $msg))); Header('Location: ' . self::get_page_url('carrental-booking')); exit; } } // DELETE if (isset($_POST['delete_booking']) && !empty($_POST['id_booking'])) { $msg = self::delete_booking((int) $_POST['id_booking']); if ($msg === true) { self::set_flash_msg('success', __('Booking was successfully archived.', 'carrental')); Header('Location: ' . self::get_page_url('carrental-booking')); exit; } else { self::set_flash_msg('danger', sprintf(__('Booking was not archived due to error (%s).', 'carrental'), $msg)); Header('Location: ' . self::get_page_url('carrental-booking')); exit; } } // BULK DELETE if (isset($_POST['batch_delete_booking']) && !empty($_POST['batch_processing_values'])) { $booking = explode(',', $_POST['batch_processing_values']); $report = $msg = array(); foreach ($booking as $id_booking) { $ret = self::delete_booking_total((int) $id_booking); if ($ret === true) { $report[] = 'ok'; $msg[] = (int) $id_booking . ' - ok'; } else { $report[] = 'error'; $msg[] = (int) $id_booking . ' - error'; } } if (!in_array('error', $report)) { self::set_flash_msg('success', __('Bookings was successfully deleted.', 'carrental')); Header('Location: ' . self::get_page_url('carrental-booking')); exit; } else { self::set_flash_msg('danger', sprintf(__("Bookings was not deleted due to error (%s).", 'carrental'), implode(', ', $msg))); Header('Location: ' . self::get_page_url('carrental-booking')); exit; } } // BULK ARCHIVE if (isset($_POST['batch_archive_booking']) && !empty($_POST['batch_processing_values'])) { $booking = explode(',', $_POST['batch_processing_values']); $report = $msg = array(); foreach ($booking as $id_booking) { $ret = self::delete_booking((int) $id_booking); if ($ret === true) { $report[] = 'ok'; $msg[] = (int) $id_booking . ' - ok'; } else { $report[] = 'error'; $msg[] = (int) $id_booking . ' - error'; } } if (!in_array('error', $report)) { self::set_flash_msg('success', __('Bookings was successfully archived.', 'carrental')); Header('Location: ' . self::get_page_url('carrental-booking')); exit; } else { self::set_flash_msg('danger', sprintf(__("Bookings was not archived due to error (%s).", 'carrental'), implode(', ', $msg))); Header('Location: ' . self::get_page_url('carrental-booking')); exit; } } // RESTORE if (isset($_POST['restore_booking']) && !empty($_POST['id_booking'])) { $msg = self::restore_booking((int) $_POST['id_booking']); if ($msg === true) { self::set_flash_msg('success', __('Booking was successfully restored.', 'carrental')); Header('Location: ' . self::get_page_url('carrental-booking')); exit; } else { self::set_flash_msg('danger', sprintf(__('Booking was not restored due to error (%s).', 'carrental'), $msg)); Header('Location: ' . self::get_page_url('carrental-booking')); exit; } } ////////////// // LANGUAGE // ////////////// if (isset($_POST['add_language']) && !empty($_POST['language'])) { include dirname(realpath(__FILE__)) . '/languages.php'; $available_languages = unserialize(get_option('carrental_available_languages')); if (empty($available_languages)) { $available_languages = array(); } if (isset($languages[$_POST['language']])) { $available_languages[$_POST['language']] = $languages[$_POST['language']]; update_option('carrental_available_languages', serialize($available_languages)); $available_languages = unserialize(get_option('carrental_available_languages')); $email_body = get_option('carrental_reservation_email_' . $_POST['language']); if (empty($email_body)) { $email_body = 'Dear [CustomerName], thank you for your reservation. Here are your reservation details: [ReservationDetails] [ReservationNumber] You can return to your reservation summary page anytime by going to this link: [ReservationLink] We are also sending this information to the email address you have provided. If you would like to change the reservation details, you can do so by calling our office at: +123 456 789 or by email example@example.org [ReservationLinkStart]Click here[ReservationLinkEnd] to print your reservation - takes them to reservation summary print out. Thank you for your business!'; update_option('carrental_reservation_email_' . $_POST['language'], $email_body); } self::set_flash_msg('success', __('Language was successfully added.', 'carrental')); Header('Location: ' . self::get_page_url('carrental-translations')); exit; } } if (isset($_POST['primary_language']) && !empty($_POST['language'])) { update_option('carrental_primary_language', $_POST['language']); self::set_flash_msg('success', __('Primary language was successfully updated.', 'carrental')); Header('Location: ' . self::get_page_url('carrental-translations')); exit; } if (isset($_POST['disable_language']) && !empty($_POST['language'])) { $available_languages = unserialize(get_option('carrental_available_languages')); if (empty($available_languages)) { $available_languages = array(); } if (isset($available_languages[$_POST['language']])) { unset($available_languages[$_POST['language']]); update_option('carrental_available_languages', serialize($available_languages)); self::set_flash_msg('success', __('Language was successfully disabled.', 'carrental')); Header('Location: ' . self::get_page_url('carrental-translations')); exit; } } if (isset($_POST['deactivate_language']) && !empty($_POST['language'])) { $available_languages = unserialize(get_option('carrental_available_languages')); if (empty($available_languages)) { $available_languages = array(); } if (isset($available_languages[$_POST['language']])) { $available_languages[$_POST['language']]['active'] = false; update_option('carrental_available_languages', serialize($available_languages)); self::set_flash_msg('success', __('Language was successfully deactivated.', 'carrental')); Header('Location: ' . self::get_page_url('carrental-translations') . '&language=' . $_POST['language']); exit; } } if (isset($_POST['activate_language']) && !empty($_POST['language'])) { $available_languages = unserialize(get_option('carrental_available_languages')); if (empty($available_languages)) { $available_languages = array(); } if (isset($available_languages[$_POST['language']])) { $available_languages[$_POST['language']]['active'] = true; update_option('carrental_available_languages', serialize($available_languages)); self::set_flash_msg('success', __('Language was successfully activated.', 'carrental')); Header('Location: ' . self::get_page_url('carrental-translations') . '&language=' . $_POST['language']); exit; } } if (isset($_POST['language_save_email']) && !empty($_POST['language'])) { update_option('carrental_reservation_email_' . $_POST['language'], $_POST['reservation_email']); update_option('carrental_reservation_email_subject_' . $_POST['language'], $_POST['reservation_email_subject']); self::set_flash_msg('success', __('E-mail was successfully updated.', 'carrental')); Header('Location: ' . self::get_page_url('carrental-translations') . '&language=' . $_POST['language']); exit; } if (isset($_POST['language_save_email_reminder']) && !empty($_POST['language'])) { update_option('carrental_reminder_email_' . $_POST['language'], $_POST['reminder_email']); update_option('carrental_reminder_subject_' . $_POST['language'], $_POST['reminder_subject']); self::set_flash_msg('success', __('Automatic reminder e-mail was successfully updated.', 'carrental')); Header('Location: ' . self::get_page_url('carrental-translations') . '&language=' . $_POST['language']); exit; } if (isset($_POST['language_save_email_thank_you']) && !empty($_POST['language'])) { update_option('carrental_thank_you_email_' . $_POST['language'], $_POST['thank_you_email']); update_option('carrental_thank_you_email_subject_' . $_POST['language'], $_POST['thank_you_email_subject']); self::set_flash_msg('success', __('Thank you email was successfully updated.', 'carrental')); Header('Location: ' . self::get_page_url('carrental-translations') . '&language=' . $_POST['language']); exit; } if (isset($_POST['language_save_email_status_pending_other']) && !empty($_POST['language'])) { update_option('carrental_email_status_pending_other_' . $_POST['language'], $_POST['email_status_pending_other']); update_option('carrental_email_status_pending_other_subject_' . $_POST['language'], $_POST['email_status_pending_other_subject']); self::set_flash_msg('success', __('E-mail for status "pending other" was successfully updated.', 'carrental')); Header('Location: ' . self::get_page_url('carrental-translations') . '&language=' . $_POST['language']); exit; } if (isset($_POST['language_save_email_status_pending']) && !empty($_POST['language'])) { update_option('carrental_email_status_pending_' . $_POST['language'], $_POST['email_status_pending']); update_option('carrental_email_status_pending_subject_' . $_POST['language'], $_POST['email_status_pending_subject']); self::set_flash_msg('success', __('E-mail for status "pending payment" was successfully updated.', 'carrental')); Header('Location: ' . self::get_page_url('carrental-translations') . '&language=' . $_POST['language']); exit; } if (isset($_POST['language_save_terms']) && !empty($_POST['language'])) { update_option('carrental_terms_conditions_' . $_POST['language'], $_POST['terms_conditions']); self::set_flash_msg('success', __('Terms and Conditions was successfully updated.', 'carrental')); Header('Location: ' . self::get_page_url('carrental-translations') . '&language=' . $_POST['language']); exit; } if (isset($_POST['language_save_theme_translations']) && !empty($_POST['language'])) { self::update_theme_translations($_POST['language'], $_POST['translation']); unset($_SESSION['carrental_translations']); self::set_flash_msg('success', __('Translations was successfully updated.', 'carrental')); Header('Location: ' . self::get_page_url('carrental-translations') . '&language=' . $_POST['language']); exit; } // Import language if (isset($_POST['import_language'])) { $msg = self::import_language(); if ($msg === true) { self::set_flash_msg('success', 'Language file successfully imported.'); Header('Location: ' . self::get_page_url('carrental-translations') . '&language=' . $_POST['language']); exit; } else { self::set_flash_msg('danger', sprintf('Language was not imported due to error (%s).', $msg)); Header('Location: ' . self::get_page_url('carrental-translations') . '&language=' . $_POST['language']); exit; } } // Export language if (isset($_POST['export_language'])) { self::export_language(); exit; } }