0) { $er = $wpdb->get_row('SELECT COUNT(id) as extras FROM '.$wpdb->prefix.'advanced_booking_calendar_extras', ARRAY_A); $extras = $er["extras"]; if($extras < 2){ $name = sanitize_text_field($_POST["name"]); $explanation = sanitize_text_field($_POST["explanation"]); $calculation = sanitize_text_field($_POST["calculation"]); $mandatory = sanitize_text_field($_POST["mandatory"]); $price = sanitize_text_field($_POST["price"]); $persons = intval($_POST["persons"]); $wpdb->insert( $wpdb->prefix.'advanced_booking_calendar_extras', array( 'name' => $name, 'explanation' => $explanation, 'calculation' => $calculation, 'mandatory' => $mandatory, 'price' => $price, 'persons' => $persons )); if($extras == 0 && strtotime(getAbcSetting('installdate')) < strtotime('2016-07-10')){ $extraLimit = '&setting=extraNew'; } } else { $extraLimit = "&setting=extraLimit"; } } wp_redirect( admin_url( "admin.php?page=advanced-booking-calendar-show-extras".$extraLimit ) ); exit; } //==>addExtra() add_action( 'admin_post_abc_booking_addExtra', 'abc_booking_addExtra' ); // Edit season function abc_booking_editExtra() { global $wpdb; if ( !current_user_can( 'manage_options' ) ) { wp_die("Go away"); } if ( isset($_POST["id"]) && isset($_POST["name"]) && isset($_POST["mandatory"]) && isset($_POST["calculation"]) && isset($_POST["price"]) && intval($_POST["persons"]) > 0) { $name = sanitize_text_field($_POST["name"]); $explanation = sanitize_text_field($_POST["explanation"]); $calculation = sanitize_text_field($_POST["calculation"]); $mandatory = sanitize_text_field($_POST["mandatory"]); $price = sanitize_text_field($_POST["price"]); $persons = intval($_POST["persons"]); $wpdb->update($wpdb->prefix.'advanced_booking_calendar_extras', array( 'name' => $name, 'explanation' => $explanation, 'calculation' => $calculation, 'mandatory' => $mandatory, 'price' => $price, 'persons' => $persons), array('id' => intval($_POST["id"]))); } wp_redirect( admin_url( "admin.php?page=advanced-booking-calendar-show-extras&setting=changeSaved" ) ); exit; } //==>editExtra() add_action( 'admin_post_abc_booking_editExtra', 'abc_booking_editExtra' ); // Delete Extra function abc_booking_delExtra() { global $wpdb; if ( !current_user_can( 'manage_options' ) ) { wp_die("Go away"); } if ( isset($_POST["id"]) ) { $wpdb->delete($wpdb->prefix.'advanced_booking_calendar_extras', array('id' => intval($_POST["id"]))); $wpdb->delete($wpdb->prefix.'advanced_booking_calendar_booking_extras', array('extra_id' => intval($_POST["id"]))); wp_redirect( admin_url( "admin.php?page=advanced-booking-calendar-show-extras&setting=extraDeleted" ) ); } exit; } //==>delExtra() add_action( 'admin_post_abc_booking_delExtra', 'abc_booking_delExtra' ); // Output to backend function advanced_booking_calendar_show_extras() { if (!current_user_can('manage_options')) { wp_die("Go away"); } global $wpdb; 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'); $notices = ''; if(isset($_GET["setting"]) ){ switch($_GET["setting"]){ case 'extraLimit': $notices .= '

'.__('Extras are limited to 2 in the free version! If you need more extras, please download our Pro-Version.', 'advanced-booking-calendar' ).'

'; break; case 'extraAdded': $notices .= '

'.__('Extra has been added.', 'advanced-booking-calendar' ).'

'; break; case 'extraNew': $notices .= '

'.__('Extra has been added.', 'advanced-booking-calendar' ).'
' .__('Make sure to add the placeholdes for extras in your email settings', 'advanced-booking-calendar' ).': '.__('Email Settings', 'advanced-booking-calendar').'

'; break; case 'changeSaved': $notices .= '

'.__('Change has been saved.', 'advanced-booking-calendar' ).'

'; break; } } $output = '

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

'.$notices.''; if(isset($_GET["action"]) && $_GET["action"] == "abc_booking_editExtra" && intval($_GET["id"]) > 0){ // Does the ID exist? $row = $wpdb->get_row("SELECT COUNT(*) as co FROM ".$wpdb->prefix."advanced_booking_calendar_extras WHERE id = '".intval($_GET["id"])."'", ARRAY_A); if($row["co"] == 0) { // ID doesn't exist wp_die("Error! Unknown id
Please go back"); } else { //ID exists $row = $wpdb->get_results("SELECT * FROM ".$wpdb->prefix."advanced_booking_calendar_extras WHERE id = '".intval($_GET["id"])."'", ARRAY_A); $mandatoryYes = ''; $mandatoryNo = ''; switch($row[0]["mandatory"]){ case 'yes': $mandatoryYes = 'checked'; break; case 'no': $mandatoryNo = 'checked'; break; } $calculationNight = ''; $calculationDay = ''; $calculationOnce = ''; $calculationPerson = ''; $calculationPersonNight = ''; $calculationPersonDay = ''; switch($row[0]["calculation"]){ case 'night': $calculationNight = 'selected'; break; case 'day': $calculationDay = 'selected'; break; case 'once': $calculationOnce = 'selected'; break; case 'person': $calculationPerson = 'selected'; break; case 'personNight': $calculationPersonNight = 'selected'; break; case 'personDay': $calculationPersonDay = 'selected'; break; } $output .= '

'.__('Edit an Extra', 'advanced-booking-calendar').'

'.__('The name will be shown in the booking form.', 'advanced-booking-calendar').'

'.__('Explain what the extra is for.', 'advanced-booking-calendar').'

'.__('Define how the price of the extra is getting charged.', 'advanced-booking-calendar').'

'.__('Mandatory extra', 'advanced-booking-calendar').'

'.__('You can make an extra mandatory, so every guest has to pay for it (eg. final cleaning).', 'advanced-booking-calendar').'

'.__('Enter the price you want to charge for the extra.', 'advanced-booking-calendar').'

'.__('Enter the number of persons in a booking request to activate this extra. For example, if you enter "4", the extra will be shown for 4 or more persons.', 'advanced-booking-calendar-pro').'


'; } }else{ $extras = ''; $er = $wpdb->get_results('SELECT * FROM '.$wpdb->prefix.'advanced_booking_calendar_extras ORDER BY name', ARRAY_A); $foreachcount = 1; foreach($er as $row) { if ($foreachcount%2 == 1) { $class = 'class="alternate"'; } else { $class = ''; } $mandatory = ''; switch($row["mandatory"]){ case 'yes': $mandatory = __('Yes', 'advanced-booking-calendar'); break; case 'no': $mandatory = __('No', 'advanced-booking-calendar'); break; } $calculation = ''; switch($row["calculation"]){ case 'night': $calculation = __('per night', 'advanced-booking-calendar'); break; case 'day': $calculation = __('per day', 'advanced-booking-calendar'); break; case 'once': $calculation = __('once (no matter how many persons)', 'advanced-booking-calendar'); break; case 'person': $calculation = __('per person (once)', 'advanced-booking-calendar'); break; case 'personNight': $calculation = __('per person per night', 'advanced-booking-calendar'); break; case 'personDay': $calculation = __('per person per day', 'advanced-booking-calendar'); break; } $extras .= ' '.esc_html($row["name"]).' '.esc_html($row["explanation"]).' '.$calculation.' '.$mandatory.' '.abc_booking_formatPrice(esc_html($row["price"])).' '.intval($row["persons"]).'
'; $foreachcount++; } $output .= '

'.__('Existing Extras', 'advanced-booking-calendar').'

'.$extras.'
'.__('Name', 'advanced-booking-calendar').' '.__('Explanation', 'advanced-booking-calendar').' '.__('Type of calculation', 'advanced-booking-calendar').' '.__('Mandatory', 'advanced-booking-calendar').' '.__('Price', 'advanced-booking-calendar').' '.__('Persons', 'advanced-booking-calendar-pro').'

'.__('Add new Extra', 'advanced-booking-calendar').'

'.__('The name will be shown in the booking form.', 'advanced-booking-calendar').'

'.__('Explain what the extra is for.', 'advanced-booking-calendar').'

'.__('Define how the price of the extra is getting charged.', 'advanced-booking-calendar').'

'.__('Mandatory extra', 'advanced-booking-calendar').'

'.__('You can make an extra mandatory, so every guest has to pay for it (eg. final cleaning).', 'advanced-booking-calendar').'

'.__('Enter the price you want to charge for the extra.', 'advanced-booking-calendar').'

'.__('Enter the number of persons in a booking request to activate this extra. For example, if you enter "4", the extra will be shown for 4 or more persons.', 'advanced-booking-calendar-pro').'



'.__('Do you want to promote your business using discount codes?', 'advanced-booking-calendar').' '.__('Or do you want to limit an extra to a calendar?', 'advanced-booking-calendar').'
'.__('Take a look at our Pro Version!', 'advanced-booking-calendar').'
'.__('Use discount code BASICUPGRADE to save 10€.', 'advanced-booking-calendar').'

'; } $output .= '
'; echo $output; // id // name // explanation // calculation: night, day, person, once, per night per person // price } ?>