editCalendarSettings() add_action( 'admin_post_abc_booking_editCalendarSettings', 'abc_booking_editCalendarSettings' ); //Edit booking form settings function abc_booking_editBookingFormSettings() { if ( !current_user_can( 'manage_options' ) ) { wp_die("Go away"); } if (isset($_POST["firstname"]) && isset($_POST["lastname"]) && isset($_POST["phone"]) && isset($_POST["street"]) && isset($_POST["zip"]) && isset($_POST["city"]) && isset($_POST["county"]) && isset($_POST["country"]) && isset($_POST["message"])) { $fieldCounter = 0; if(intval($_POST["firstname"]) > 0) {$fieldCounter++;} if(intval($_POST["lastname"]) > 0) {$fieldCounter++;} if(intval($_POST["phone"]) > 0) {$fieldCounter++;} if(intval($_POST["street"]) > 0) {$fieldCounter++;} if(intval($_POST["zip"]) > 0) {$fieldCounter++;} if(intval($_POST["city"]) > 0) {$fieldCounter++;} if(intval($_POST["county"]) > 0) {$fieldCounter++;} if(intval($_POST["country"]) > 0) {$fieldCounter++;} if(intval($_POST["message"]) > 0) {$fieldCounter++;} $options = array( 'firstname' => intval($_POST["firstname"]), 'lastname' => intval($_POST["lastname"]), 'phone' => intval($_POST["phone"]), 'street' => intval($_POST["street"]), 'zip' => intval($_POST["zip"]), 'city' => intval($_POST["city"]), 'county' => intval($_POST["county"]), 'country' => intval($_POST["country"]), 'message' => intval($_POST["message"]), 'inputs' => $fieldCounter ); update_option('abc_bookingform', $options); } wp_redirect( admin_url( "admin.php?page=advanced-booking-calendar-show-settings&setting=bookingform" ) ); exit; } //==>editCalendarSettings() add_action( 'admin_post_abc_booking_editBookingFormSettings', 'abc_booking_editBookingFormSettings' ); //Edit email settings function abc_booking_editEmailSettings() { if ( !current_user_can( 'manage_options' ) ) { wp_die("Go away"); } if (isset($_POST["subjectunconfirmed"]) && isset($_POST["textunconfirmed"]) && isset($_POST["subjectconfirmed"]) && isset($_POST["textconfirmed"]) && isset($_POST["subjectcanceled"]) && isset($_POST["textcanceled"]) && isset($_POST["subjectrejected"]) && isset($_POST["textrejected"]) ) { update_option ('abc_subject_unconfirmed', sanitize_text_field($_POST["subjectunconfirmed"])); update_option ('abc_text_unconfirmed', implode( "\n", array_map( 'sanitize_text_field', explode( "\n", $_POST["textunconfirmed"] )))); update_option ('abc_subject_confirmed', sanitize_text_field($_POST["subjectconfirmed"])); update_option ('abc_text_confirmed', implode( "\n", array_map( 'sanitize_text_field', explode( "\n", $_POST["textconfirmed"] )))); update_option ('abc_subject_canceled', sanitize_text_field($_POST["subjectcanceled"])); update_option ('abc_text_canceled', implode( "\n", array_map( 'sanitize_text_field', explode( "\n", $_POST["textcanceled"] )))); update_option ('abc_subject_rejected', sanitize_text_field($_POST["subjectrejected"])); update_option ('abc_text_rejected', implode( "\n", array_map( 'sanitize_text_field', explode( "\n", $_POST["textrejected"] )))); } wp_redirect( admin_url( "admin.php?page=advanced-booking-calendar-show-settings&setting=email" ) ); exit; } //==>editEmailSettings() add_action( 'admin_post_abc_booking_editEmailSettings', 'abc_booking_editEmailSettings' ); //Backend output: function advanced_booking_calendar_show_settings() { global $abcUrl; wp_enqueue_script('uikit-js', $abcUrl.'backend/js/uikit.min.js', array('jquery')); wp_enqueue_style('uikit', $abcUrl.'/frontend/css/uikit.gradient.min.css'); //Preparing Date vars (saved format is selected) $date1 = ""; $date2 = ""; $date3 = ""; $date4 = ""; if(getAbcSetting("dateformat") == "Y-m-d") { $date1 = 'selected'; } elseif(getAbcSetting("dateformat") == "d.m.Y") { $date2 = 'selected'; } elseif(getAbcSetting("dateformat") == "d/m/Y") { $date3 = 'selected'; } elseif(getAbcSetting("dateformat") == "m/d/Y") { $date4 = 'selected'; } //Price Format $priceComma = ""; $priceDot = ""; $currencyPositionBefore = ""; $currencyPositionAfter = ""; $newslettertrue = ""; $newsletterfalse = ""; $cookiestrue = ""; $cookiesfalse = ""; $gatrue = ""; $gafalse = ""; $poweredbytrue = ""; $poweredbyfalse = ""; $firstdayofweekSunday = ""; $firstdayofweekMonday = ""; if(getAbcSetting("priceformat") == ",") { $priceComma = 'selected'; } elseif(getAbcSetting("priceformat") == ".") { $priceDot = 'selected'; } if(getAbcSetting("currencyPosition") == 0) { $currencyPositionBefore = 'checked'; } elseif(getAbcSetting("currencyPosition") == 1) { $currencyPositionAfter = 'checked'; } if(getAbcSetting("newsletter") == "1") { $newslettertrue = 'checked'; } elseif(getAbcSetting("newsletter") == "0") { $newsletterfalse = 'checked'; } if(getAbcSetting("cookies") == "1") { $cookiestrue = 'checked'; } elseif(getAbcSetting("cookies") == "0") { $cookiesfalse = 'checked'; } if(getAbcSetting("googleanalytics") == "1") { $gatrue = 'checked'; } elseif(getAbcSetting("googleanalytics") == "0") { $gafalse = 'checked'; } if(getAbcSetting("poweredby") == "1") { $poweredbytrue = 'checked'; } elseif(getAbcSetting("poweredby") == "0") { $poweredbyfalse = 'checked'; } if(getAbcSetting("firstdayofweek") == "0") { $firstdayofweekSunday = 'checked'; } elseif(getAbcSetting("firstdayofweek") == "1") { $firstdayofweekMonday = 'checked'; } $bookingVarArray = abc_booking_getBookingVars(); $placeholderList = ''; $numItems = count($bookingVarArray); $i = 0; foreach ($bookingVarArray as $bookingVars){ $placeholderList .= '['.$bookingVars.']'; if(++$i === $numItems) { $placeholderList .= '.'; } else { $placeholderList .= ', '; } } $bookingForm = getAbcSetting("bookingform"); $firstname = array('', '', ''); $lastname = array('', '', ''); $phone = array('', '', ''); $street = array('', '', ''); $zip = array('', '', ''); $county = array('', '', ''); $city = array('', '', ''); $country = array('', '', ''); $message = array('', '', ''); switch ($bookingForm["firstname"]) { case '0':$firstname[0] = ' checked';break; case '1':$firstname[1] = ' checked';break; case '2':$firstname[2] = ' checked';break; } switch ($bookingForm["lastname"]) { case '0':$lastname[0] = ' checked';break; case '1':$lastname[1] = ' checked';break; case '2':$lastname[2] = ' checked';break; } switch ($bookingForm["phone"]) { case '0':$phone[0] = ' checked';break; case '1':$phone[1] = ' checked';break; case '2':$phone[2] = ' checked';break; } switch ($bookingForm["street"]) { case '0':$street[0] = ' checked';break; case '1':$street[1] = ' checked';break; case '2':$street[2] = ' checked';break; } switch ($bookingForm["zip"]) { case '0':$zip[0] = ' checked';break; case '1':$zip[1] = ' checked';break; case '2':$zip[2] = ' checked';break; } switch ($bookingForm["county"]) { case '0':$county[0] = ' checked';break; case '1':$county[1] = ' checked';break; case '2':$county[2] = ' checked';break; } switch ($bookingForm["city"]) { case '0':$city[0] = ' checked';break; case '1':$city[1] = ' checked';break; case '2':$city[2] = ' checked';break; } switch ($bookingForm["country"]) { case '0':$country[0] = ' checked';break; case '1':$country[1] = ' checked';break; case '2':$country[2] = ' checked';break; } switch ($bookingForm["message"]) { case '0':$message[0] = ' checked';break; case '1':$message[1] = ' checked';break; case '2':$message[2] = ' checked';break; } $settingsMessage = ''; if ( isset($_GET["setting"]) ) { switch ($_GET["setting"]) { case 'email': $settingsMessage .= '

'.__('Email settings have been saved.', 'advanced-booking-calendar').'

'; break; case 'general': $settingsMessage .= '

'.__('General settings have been saved.', 'advanced-booking-calendar').'

'; break; case 'bookingform': $settingsMessage .= '

'.__('Booking form settings have been saved. Please make sure to update the email templates as well.', 'advanced-booking-calendar').'

'; break; } } //Regex for email pattern $emailPattern = "[a-z0-9._%+-]+@[a-z0-9.-]+\.[a-z]{2,4}$"; echo '

'.__('Settings', 'advanced-booking-calendar').'

'.$settingsMessage.'
'; }//==>advanced_booking_calendar_show_settings() ?>