'' // 'booking_'
, 'db_saving_type' => 'separate'
, 'id' => 'set_gen'
);
$id = empty($id) ? $options['id'] : $id;
parent::__construct( $id, $options ); // Define ID of Setting page and options
add_action( 'wpbc_after_settings_content', array($this, 'enqueue_js'), 10, 3 );
}
/** Init all fields rows for settings page */
public function init_settings_fields() {
$this->fields = array();
$default_options_values = wpbc_get_default_options();
//
$this->fields['booking_skin'] = array(
'type' => 'select'
, 'default' => $default_options_values['booking_skin'] // '/css/skins/traditional.css' // Activation|Deactivation of this options in wpbc-activation file. // Default value in wpbc_get_default_options('booking_skin')
//, 'value' => '/css/skins/standard.css' //This will override value loaded from DB
, 'title' => __('Calendar Skin', 'booking')
, 'description' => __('Select the skin of the booking calendar' ,'booking')
, 'options' => wpbc_get_calendar_skin_options()
, 'group' => 'calendar'
);
// //Show | Hide links for Advanced JavaScript section
// $this->fields['booking_skin_help'] = array(
// 'type' => 'html'
// , 'html' =>
// '
'
// . '' . esc_html__('Note!' ,'booking') . ' '
// . sprintf( __( 'If you have customized your own calendar skin, please save it to: %s Its will save your custom skin during future updates of plugin.', 'booking' ), '/wp-content/uploads/wpbc_skins/ ' )
// . '
'
// , 'cols' => 2
// , 'group' => 'calendar'
// );
// Number of months //////////////////////////////////////////////////
$months_options = array();
for ($mm = 1; $mm < 12; $mm++) { $months_options[ $mm . 'm' ] = $mm . ' ' . __('month(s)' ,'booking'); }
$months_options[ 18 . 'm' ] = '18 ' . __('month(s)' ,'booking'); // FixIn: 10.0.0.11.
for ($yy = 1; $yy < 11; $yy++) { $months_options[ $yy . 'y' ] = $yy . ' ' . __('year(s)' ,'booking'); }
$this->fields['booking_max_monthes_in_calendar'] = array(
'type' => 'select'
, 'default' => $default_options_values['booking_max_monthes_in_calendar'] // '1y'
, 'title' => __('Number of months to scroll', 'booking')
, 'description' => __('Select the maximum number of months to show (scroll)' ,'booking')
, 'options' => $months_options
, 'group' => 'calendar'
);
// Start Day of the week /////////////////////////////////////////////
$this->fields['booking_start_day_weeek'] = array(
'type' => 'select'
, 'default' => $default_options_values['booking_start_day_weeek'] // '2'
// , 'value' => false
, 'title' => __('Start Day of the week', 'booking')
, 'description' => __('Select your start day of the week' ,'booking')
, 'options' => array(
'0' => __('Sunday' ,'booking')
, '1' => __('Monday' ,'booking')
, '2' => __('Tuesday' ,'booking')
, '3' => __('Wednesday' ,'booking')
, '4' => __('Thursday' ,'booking')
, '5' => __('Friday' ,'booking')
, '6' => __('Saturday' ,'booking')
)
, 'group' => 'calendar'
);
// Divider ///////////////////////////////////////////////////////////
$this->fields['hr_calendar_after_week_day'] = array( 'type' => 'hr', 'group' => 'calendar' );
$field_options = array(
'single' => array(
'title' => __('Single day' ,'booking')
, 'attr' => array(
'id' => 'type_of_day_selections_single'
)
)
, 'multiple' => array(
'title' => __('Multiple days' ,'booking')
, 'attr' => array(
'id' => 'type_of_day_selections_multiple'
)
)
);
// Days ///////////////////////////////////////////////////////////
$this->fields['booking_type_of_day_selections'] = array(
'type' => 'radio'
, 'default' => $default_options_values['booking_type_of_day_selections'] // 'multiple'
, 'title' => __('Days selection in calendar', 'booking')
, 'description' => ''
, 'options' => $field_options
, 'group' => 'calendar'
);
////////////////////////////////////////////////////////////////////////
$this->fields = apply_filters( 'wpbc_settings_calendar_range_days_selection', $this->fields, $default_options_values ); // Range days
// FixIn: 10.1.5.4.
//$this->fields = apply_filters( 'wpbc_settings_calendar_recurrent_time_slots', $this->fields, $default_options_values ); // Recurent Times
/**
* Recurrent time - Settings ( Calendar ) page
*/
$this->fields['hr_calendar_before_recurrent_time'] = array( 'type' => 'hr', 'group' => 'calendar' , 'tr_class' => 'wpbc_recurrent_check_in_out_time_slots');
$this->fields['booking_recurrent_time'] = array(
'type' => 'checkbox'
, 'default' => $default_options_values['booking_recurrent_time'] //'Off'
, 'title' => __('Use selected times for each booking date' ,'booking') //__('Use time selections as recurrent time slots' ,'booking')
, 'label' => __('Enable this option if you want to use the selected times as booked time slots on each selected date. Otherwise, the selected times will be used as the check-in time for the first date and check-out time for the last date of the reservation.' ,'booking')
//, 'description' => ''
, 'group' => 'calendar'
, 'tr_class' => 'wpbc_recurrent_check_in_out_time_slots'
);
$this->fields = apply_filters( 'wpbc_settings_calendar_check_in_out_times', $this->fields, $default_options_values ); // Check In/Out Times
$this->fields['booking_calendar_allow_several_months_on_mobile'] = array(
'type' => 'checkbox'
, 'default' => $default_options_values['booking_calendar_allow_several_months_on_mobile'] //'Off'
, 'title' => __('Allow multiple months to be shown on mobile' ,'booking') //__('Use time selections as recurrent time slots' ,'booking')
, 'label' => __('Enable this option to allow multiple months to be shown in the calendar on mobile devices. By default, the calendar only shows one month on mobile devices for easy scrolling.' ,'booking')
//, 'description' => ''
, 'group' => 'calendar'
, 'tr_class' => 'wpbc_recurrent_check_in_out_time_slots'
);
//
//
//FixIn: 9.5.0.2.2
$this->fields['booking_disable_timeslots_in_tooltip'] = array(
'type' => 'checkbox'
, 'default' => $default_options_values['booking_disable_timeslots_in_tooltip'] //'Off'
, 'title' => __('Disable times in tooltips' ,'booking')
, 'label' => __('Disable show booked times in tooltip, when mouse over specific day in calendar' ,'booking')
, 'description' => ''
, 'group' => 'days_tooltips'
, 'tr_class' => ''
);
// FixIn: 9.4.3.1.
$this->fields['booking_highlight_timeslot_word'] = array(
'type' => 'text'
, 'default' => $default_options_values['booking_highlight_timeslot_word'] //__('Booked Times:' ,'booking')
, 'placeholder' => __('Booked Times:' ,'booking')
, 'title' => __('Title of booked timeslot(s)' ,'booking')
/* translators: 1: ... */
, 'description' => sprintf( __( 'Type your %1$stitle%2$s, what will show in mouseover tooltip near booked timeslot(s)', 'booking' ),'','')
//,'description_tag' => 'span'
, 'class' => 'regular-text'
, 'group' => 'days_tooltips'
, 'tr_class' => 'wpbc_booking_timeslots_in_tooltip wpbc_sub_settings_grayed' //FixIn: 9.5.0.2.2
);
$this->fields = apply_filters( 'wpbc_settings_calendar_showing_info_in_cal', $this->fields, $default_options_values ); // Availability in calendar...
$this->fields = apply_filters( 'wpbc_settings_calendar_show_booking_details', $this->fields, $default_options_values ); // Show Booking details in mouse over tooltips
$this->fields = apply_filters( 'wpbc_settings_calendar_showing_cost_in_tooltip', $this->fields, $default_options_values ); // Showing Cost,
//
//
// Legend Items ////////////////////////////////////////////////////////
$this->fields['hr_calendar_before_legend'] = array( 'type' => 'hr', 'group' => 'calendar' );
$this->fields['booking_is_show_legend'] = array(
'type' => 'checkbox'
, 'default' => $default_options_values['booking_is_show_legend'] // 'Off'
, 'title' => __('Show legend below calendar' ,'booking')
, 'label' => __('Check this box to display a legend of dates below the booking calendar.' ,'booking')
, 'description' => ''
, 'group' => 'calendar'
);
// Available item
$this->fields['booking_legend_is_show_item_available_prefix'] = array(
'type' => 'pure_html'
, 'group' => 'calendar'
, 'html' => '
'
. '' . esc_html__( 'Note', 'booking' ) . '! '
/* translators: 1: ... */
. sprintf( __( 'You can enable or disable, as well as configure %1$sTime Slots%2$s for your booking form on the Settings > %3$sBooking Form%4$s page.', 'booking' ),
'', '',
'', ''
)
. '
'
.'
'
);
// FixIn: 8.7.11.10.
$this->fields['booking_timeslot_picker'] = array(
'type' => 'checkbox'
, 'default' => $default_options_values['booking_timeslot_picker'] //'Off'
, 'title' => __('Time picker for time slots' ,'booking')
, 'label' => __('Show time slots as a time picker instead of a select box.' ,'booking')
, 'description' => ''
, 'group' => 'time_slots'
, 'tr_class' => 'wpbc_timeslot_picker'
);
// Time Picker Skin /////////////////////////////////////////////////////
$timeslot_picker_skins_options = array();
// Skins in the Custom User folder (need to create it manually): http://example.com/wp-content/uploads/wpbc_skins/ ( This folder do not owerwrited during update of plugin )
$upload_dir = wp_upload_dir();
// FixIn: 8.9.4.8.
$files_in_folder = wpbc_dir_list( array( WPBC_PLUGIN_DIR . '/css/time_picker_skins/', $upload_dir['basedir'].'/wpbc_time_picker_skins/' ) ); // Folders where to look about Time Picker skins
foreach ( $files_in_folder as $skin_file ) { // Example: $skin_file['/css/skins/standard.css'] => 'Standard';
//FixIn: 8.9.4.8 // FixIn: 9.1.2.10.
$skin_file[1] = str_replace( array( WPBC_PLUGIN_DIR, WPBC_PLUGIN_URL, $upload_dir['basedir'] ), '', $skin_file[1] ); // Get relative path for Time Picker skin
$timeslot_picker_skins_options[ $skin_file[1] ] = $skin_file[2];
}
$this->fields['booking_timeslot_picker_skin'] = array(
'type' => 'select'
, 'default' => $default_options_values['booking_timeslot_picker_skin'] // '/css/skins/traditional.css' // Activation|Deactivation of this options in wpbc-activation file. // Default value in wpbc_get_default_options('booking_skin')
//, 'value' => '/css/time_picker_skins/grey.css' //This will override value loaded from DB
, 'title' => __('Time Picker Skin', 'booking')
, 'description' => __('Select the skin of the time picker' ,'booking')
, 'options' => $timeslot_picker_skins_options
, 'group' => 'time_slots'
);
// FixIn: 8.2.1.27.
$this->fields['booking_timeslot_day_bg_as_available'] = array(
'type' => 'checkbox'
, 'default' => $default_options_values['booking_timeslot_day_bg_as_available'] //'Off'
, 'title' => __('Do not change background color for partially booked days' ,'booking')
, 'label' => __('Show partially booked days with same background as in legend item' ,'booking')
, 'description' => '' . esc_html__('Note' ,'booking') .': '
. sprintf(__('Partially booked item - day, which is booked for the specific time-slot(s).' ,'booking'),'','')
. ''
, 'group' => 'time_slots'
, 'tr_class' => 'wpbc_timeslot_day_bg_as_available'
);
//
//
// Unavailable Weekdays /////////////////////////////////////////////
$this->fields['booking_unavailable_day_html_prefix'] = array(
'type' => 'pure_html'
, 'group' => 'availability'
, 'html' => '
'
. __('Select weekdays to be marked as unavailable in calendars. This setting will override all other availability settings.' ,'booking')
. '
'
);
// Divider ///////////////////////////////////////////////////////////
$this->fields['hr_calendar_after_unavailable_day'] = array( 'type' => 'hr', 'group' => 'availability' );
// Unavailable days from today ///////////////////////////////////////
$field_options = array();
// FixIn: 10.8.1.4.
$field_options[0] = ' - ';
foreach ( range( 5, 55 , 5 ) as $extra_num) { // Each 5 minutes
$field_options[ $extra_num . 'm' ] = $extra_num . ' ' . __( 'minutes', 'booking' );
}
$field_options[ '60' . 'm' ] = '1 ' . __( 'hour', 'booking' );
foreach ( range( 65, 115 , 5 ) as $extra_num) { // 1 hour + Each 5 minutes
$field_options[ $extra_num . 'm' ] = '1 ' . __( 'hour', 'booking' ) . ' ' . ($extra_num - 60 ) . ' ' . __( 'minutes', 'booking' );
}
foreach ( range( 120, 1380 , 60 ) as $extra_num) { // Each Hour based on minutes
$field_options[ $extra_num . 'm' ] = ($extra_num / 60) . ' ' . __( 'hours', 'booking' );
}
$field_options[ 1 ] = 1 . ' ' . __( 'day', 'booking' );
for ( $ii = 2; $ii < 92; $ii ++ ) {
$field_options[ $ii ] = $ii . ' ' . __( 'days', 'booking' );
}
$unavailable_from_today_arr = wpbc_get_unavailable_from_today_hints_arr();
$this->fields['booking_unavailable_days_num_from_today'] = array(
'type' => 'select'
, 'default' => $default_options_values['booking_unavailable_days_num_from_today'] //'0'
, 'title' => __('Unavailable time from current time', 'booking')
, 'description' => __('Select an unavailable time interval on the calendar, starting from today\'s current time.' ,'booking')
. ' '
. '' . esc_html( __( 'Unavailable', 'booking' ) ) . ''
. $unavailable_from_today_arr['booking_unavailable_days_num_from_today__hint']
.''
, 'options' => $field_options
, 'group' => 'availability'
);
// Limit available days from today ///////////////////////////////////
$this->fields = apply_filters( 'wpbc_settings_calendar_unavailable_days', $this->fields, $default_options_values );
// Extend unavailable booking dates interval - cleaning //////////////
$this->fields = apply_filters( 'wpbc_settings_calendar_extend_unavailable_interval', $this->fields, $default_options_values );
//
//
// Start Day of the week /////////////////////////////////////////////
/*
if ( ! class_exists('wpdev_bk_personal') )
$this->fields['booking_form_structure_type'] = array(
'type' => 'select'
, 'default' => $default_options_values['booking_form_structure_type'] // '2'
// , 'value' => false
, 'title' => __('Booking form structure', 'booking')
, 'description' => __('Select how to show your booking form.' ,'booking')
, 'description_tag' => 'p'
, 'options' => array(
'vertical' => __('Form under calendar' ,'booking')
, 'form_right' => __('Form at right side of calendar' ,'booking')
)
, 'group' => 'form'
);
*/
$this->fields['booking_form_theme'] = array(
'type' => 'select'
, 'default' => $default_options_values['booking_form_theme'] //'Off'
, 'title' => __('Color Theme' ,'booking')
, 'description' => __('Select a color theme for your booking form that matches the look of your website.' ,'booking') //. ' βeta '.__('feature','booking').''
. '
'
. __('When you select a color theme, it also change the calendar and time-slot picker skins to match your choice. Customize these options separately as needed.' ,'booking')
.'
'
. '' . esc_html__('Note' ,'booking') . '! ' .
__( 'If your website uses a cache plugin or system, exclude pages with booking forms from caching to ensure CAPTCHA functions correctly.', 'booking' )
.'
'
, 'group' => 'form'
);
$this->fields['booking_is_use_autofill_4_logged_user'] = array(
'type' => 'checkbox'
, 'default' => $default_options_values['booking_is_use_autofill_4_logged_user'] // 'Off'
, 'title' => __('Auto-fill fields' ,'booking')
, 'label' => __('Check the box to activate auto-fill form fields for logged in users.' ,'booking')
, 'description' => ''
, 'group' => 'form'
);
$this->fields['hr_calendar_after_autofill'] = array( 'type' => 'hr', 'group' => 'form' );
if ( class_exists( 'wpdev_bk_personal' ) ) // FixIn: 8.1.1.12.
$this->fields['booking_is_use_simple_booking_form'] = array(
'type' => 'checkbox'
, 'default' => $default_options_values['booking_is_use_simple_booking_form'] //'Off'
, 'title' => __('Simple' ,'booking') . ' ' . __('Booking Form', 'booking')
, 'label' => __('Check the box, if you want to use simple booking form customization from Free plugin version at Settings - Form page.' ,'booking')
, 'description' => ''
, 'group' => 'form'
);
if ( class_exists( 'wpdev_bk_personal' ) ) // FixIn: 8.1.1.12.
$this->fields['booking_is_use_codehighlighter_booking_form'] = array(
'type' => 'checkbox'
, 'default' => $default_options_values['booking_is_use_codehighlighter_booking_form'] //'Off'
, 'title' => __('Syntax highlighter' ,'booking')
, 'label' => __('Check the box, if you want to use syntax highlighter during customization booking form.' ,'booking')
, 'description' => ''
, 'group' => 'form'
);
// FixIn: 10.0.0.31.
if ( class_exists( 'wpdev_bk_biz_m' ) ){
$this->fields['booking_number_for_pre_checkin_date_hint'] = array(
'type' => 'select'
, 'default' => $default_options_values['booking_number_for_pre_checkin_date_hint'] //'0'
, 'title' => __( 'Pre-Check-in Display Duration', 'booking' )
/* translators: 1: ... */
, 'description' => sprintf( __( 'Select the number of days for the %s shortcode.', 'booking' ), '[pre_checkin_date_hint]' )
. ' '
/* translators: 1: ... */
. sprintf( __( 'This shortcode is used in the booking form to display the date %1$sN days before%2$s the selected check-in date.', 'booking' )
, '', '' )
//, '', '' )
, 'options' => array_combine( range( 1, 91 ), range( 1, 91 ) )
, 'group' => 'form'
);
}
// if ( class_exists( 'wpdev_bk_personal' ) ){ // FixIn: 8.8.1.14.
//
// $this->fields['booking_send_button_title'] = array(
// 'type' => 'text'
// , 'default' => $default_options_values['booking_send_button_title'] // 'Send'
// , 'placeholder' => __( 'Send', 'booking' )
// , 'title' => __( 'Title of send button' ,'booking' )
// , 'description' => sprintf( __( 'Enter %1$stitle of submit button%2$s in the booking form', 'booking' ),'','')
// , 'description_tag' => 'p'
// , 'css' => 'width:100%'
// , 'group' => 'form'
// , 'tr_class' => 'wpbc_send_button_title'
// );
// }
//
//
$field_options = array(
'message' => array( 'title' => __('Show booking confirmation at same page' ,'booking'), 'attr' => array( 'id' => 'type_of_thank_you_message_message' ) )
, 'page' => array( 'title' => __('Redirect to thank you page' ,'booking'), 'attr' => array( 'id' => 'type_of_thank_you_message_page' ) )
);
$description_text = '';
$this->fields['booking_type_of_thank_you_message'] = array(
'type' => 'radio'
, 'default' => $default_options_values['booking_type_of_thank_you_message'] //'message'
, 'title' => __('After booking action:' ,'booking')
, 'description' => $description_text
, 'options' => $field_options
, 'group' => 'booking_confirmation'
);
// $this->fields['booking_title_after_reservation_time'] = array(
// 'type' => 'text'
// , 'default' => $default_options_values['booking_title_after_reservation_time'] //'7000'
// , 'placeholder' => '7000'
// , 'title' => __('Time of message showing' ,'booking')
// , 'description' => sprintf(__('Set duration of time (milliseconds) to show this message' ,'booking'),'','')
// . ' ' . sprintf(__('You can set the value to %s to display the message indefinitely.' ,'booking'),'0') // FixIn: 9.6.2.2.
// , 'description_tag' => 'span'
// , 'css' => 'width:5em'
// , 'group' => 'booking_confirmation'
// , 'tr_class' => 'wpbc_calendar_thank_you_message wpbc_calendar_thank_you wpbc_sub_settings_grayed'
// );
// // Help Section ///////////////////////////////////////////////////////
// $this->fields['booking_help_translation_section_after_thank_you_message'] = array(
// 'type' => 'help'
// , 'value' => wpbc_get_help_rows_about_config_in_several_languges()
// , 'class' => ''
// , 'css' => ''
// , 'description' => ''
// , 'cols' => 2
// , 'group' => 'booking_confirmation'
// , 'tr_class' => 'wpbc_calendar_thank_you_message wpbc_calendar_thank_you wpbc_sub_settings_grayed'
// , 'description_tag' => 'span'
// );
// URL of "Thank you page"
$this->fields['booking_thank_you_page_URL_prefix'] = array(
'type' => 'pure_html'
, 'group' => 'booking_confirmation'
, 'html' => '
'.
/* translators: 1: ... */
sprintf( __( 'Type your date format for emails and the booking table. %1$sDocumentation on date formatting%2$s', 'booking' ),' ','')
.'
'.
/* translators: 1: ... */
sprintf( __( 'Type your time format for emails and the booking table. %1$sDocumentation on time formatting%2$s', 'booking' ),' ','')
.'
'
, 'class' => ''
, 'css' => 'margin:0;padding:0;border:0;'
, 'description' => ''
, 'cols' => 2
, 'group' => 'date_time'
, 'tr_class' => ''
, 'description_tag' => 'div'
);
//
// Divider ///////////////////////////////////////////////////////////////
$this->fields['hr_booking_listing_before_is_use_hints_at_admin_panel'] = array( 'type' => 'hr', 'group' => 'booking_listing' );
// Show hide Notes
$this->fields = apply_filters( 'wpbc_settings_booking_show_hide_options', $this->fields, $default_options_values ); // FixIn: 8.1.3.32.
//
//
// auto_cancelation_approval
$this->fields = apply_filters( 'wpbc_settings_auto_cancelation_approval_section', $this->fields, $default_options_values );
//
//
$this->fields = apply_filters( 'wpbc_settings_capacity_based_on_visitors', $this->fields, $default_options_values );
$this->fields['booking_is_days_always_available'] = array(
'type' => 'checkbox'
, 'default' => $default_options_values['booking_is_days_always_available'] //'On'
, 'title' => __('Allow unlimited bookings per same day(s)' ,'booking')
/* translators: 1: ... */
, 'label' => sprintf( __( 'Check this box, if you want to %1$sset any days as available%2$s in calendar. Your visitors will be able to make %3$sunlimited bookings per same date(s) in calendar and do not see any booked date(s)%4$s of other visitors.', 'booking' ), '', '' , '', '' )
, 'description' => ''
, 'group' => 'capacity'
);
// FixIn: 8.3.2.2.
if ( ! class_exists('wpdev_bk_biz_l') )
$this->fields['booking_is_show_pending_days_as_available'] = array(
'type' => 'checkbox'
, 'default' => $default_options_values['booking_is_show_pending_days_as_available'] //_'Off'
, 'title' => __('Use pending days as available' ,'booking')
, 'label' => sprintf(__('Check this box if you want to show the pending days as available in calendars' ,'booking') )
, 'description' => ''
, 'group' => 'capacity'
, 'tr_class' => ''
);
$this->fields = apply_filters( 'wpbc_settings_pending_days_as_available', $this->fields, $default_options_values );
//
//
if ( ! class_exists('wpdev_bk_personal') ){
// Showing availability in tooltip
$this->fields['booking_quantity_control__promote_upgrade'] = array(
'type' => 'checkbox'
, 'default' => 'On'
, 'value' => 'On'
, 'title' => __('Booking Quantity Control' ,'booking')
, 'label' => __('Enable this option to allow visitors to define the number of items they can book for specific dates or times within a single reservation. ' ,'booking')
, 'description' => __('If disabled, visitors can book only one slot within a single reservation.' ,'booking')
, 'description_tag' => 'p'
, 'group' => 'capacity_upgrade'
, 'tr_class' => 'wpbc_blur'
);
$this->fields['booking_capacity_field__promote_upgrade'] = array(
'type' => 'select'
, 'default' => 'items'
, 'value' => 'items'
, 'title' => __('Quantity field name', 'booking')
, 'description' => sprintf( __( 'Select the field that will control how many slots visitors can book during the reservation process.' ,'booking'), '', '' )
, 'description_tag' => 'span'
, 'css' => ''
, 'tr_class' => 'wpbc_booking_capacity_field_settings wpbc_sub_settings_grayed'
, 'options' => array( 'items' => __('Items' ,'booking') )
, 'group' => 'capacity_upgrade'
, 'tr_class' => 'wpbc_blur'
);
$this->fields['booking_is_dissbale_booking_for_different_sub_resources__promote_upgrade'] = array(
'type' => 'checkbox'
, 'default' => 'On'
, 'value' => 'On'
, 'title' => __('Disable bookings in different booking resources' ,'booking')
, 'label' => __('Check this box to disable reservations, which can be stored in different booking resources.' ,'booking')
, 'description' => '' . esc_html__('Note' ,'booking') . '! ' . __('When checked, all reserved days must be at same booking resource otherwise error message will show.' ,'booking')
, 'group' => 'capacity_upgrade'
, 'tr_class' => 'wpbc_blur'
);
$this->fields['capacity_upgrade__promote_upgrade'] = array(
'type' => 'pure_html'
, 'group' => 'capacity_upgrade'
, 'html' => '
This feature
is available in the Business Large or MultiUser version.
Upgrade to Pro.
'
. __('This Server Balancer control how many parallel requests for loading calendar data can be sent at the same time. A lower number minimizes server impact but may increase the total time for loading all calendars.' ,'booking')
.'
'
, 'options' => $balencer_options
, 'group' => 'advanced'
, 'is_demo_safe' => wpbc_is_this_demo()
);
$this->fields['booking_is_load_js_css_on_specific_pages'] = array(
'type' => 'checkbox'
, 'default' => $default_options_values['booking_is_load_js_css_on_specific_pages'] //'Off'
, 'title' => __('Load JS and CSS files only on specific pages' ,'booking')
, 'label' => __('Activate loading of CSS and JavaScript files of plugin only at specific pages.' ,'booking')
, 'description' => ''
, 'group' => 'advanced'
, 'tr_class' => 'wpbc_advanced_js_loading_settings'//wpbc_advanced_js_loading_settings wpbc_sub_settings_grayed hidden_items'
, 'is_demo_safe' => wpbc_is_this_demo()
);
$this->fields['booking_pages_for_load_js_css'] = array(
'type' => 'textarea'
, 'default' => $default_options_values['booking_pages_for_load_js_css'] //''
, 'placeholder' => '/booking-form/'
, 'title' => __('Relative URLs of pages, where to load plugin CSS and JS files' ,'booking')
/* translators: 1: ... */
, 'description' => sprintf(__( 'Enter relative URLs of pages, where you have Booking Calendar elements (booking forms or availability calendars). Please enter one URL per line. Example: %s' ,'booking'),'/booking-form/')
,'description_tag' => 'p'
, 'css' => 'width:100%'
, 'rows' => 5
, 'group' => 'advanced'
, 'tr_class' => 'wpbc_advanced_js_loading_settings wpbc_is_load_js_css_on_specific_pages wpbc_sub_settings_grayed'// hidden_items'
, 'is_demo_safe' => wpbc_is_this_demo()
);
$this->fields['booking_form_is_using_bs_css'] = array(
'type' => 'checkbox'
, 'default' => $default_options_values['booking_form_is_using_bs_css'] // 'On'
, 'title' => __('Use CSS BootStrap' ,'booking')
, 'label' => __('Using BootStrap CSS for the form fields' ,'booking'). ' '.__('Deprecated','booking').''
, 'description' => ''
, 'description_tag' => 'p'
, 'group' => 'advanced'
);
//$this->fields['hr_booking_is_show_system_debug_log'] = array( 'type' => 'hr', 'group' => 'advanced', 'tr_class' => 'wpbc_advanced_js_loading_settings' ); // wpbc_sub_settings_grayed hidden_items' );
// FixIn: 7.2.1.15.
$this->fields[ 'booking_is_show_system_debug_log' ] = array(
'type' => 'checkbox'
, 'default' => $default_options_values['booking_is_show_system_debug_log'] //'Off'
, 'title' => __('Show system debugging log for beta features' ,'booking')
, 'label' => __('Activate this option only for testing beta features' ,'booking')
, 'description' => ''
, 'group' => 'advanced'
, 'tr_class' => 'wpbc_advanced_js_loading_settings'// wpbc_sub_settings_grayed hidden_items'
, 'is_demo_safe' => wpbc_is_this_demo()
);
//FixIn: 10.1.1.2 //TODO: Update Text here 2024-06-16 12:57
$this->fields['booking_is_nonce_at_front_end'] = array(
'type' => 'checkbox'
, 'default' => $default_options_values['booking_is_nonce_at_front_end'] //'Off'
, 'title' => __( 'Use Nonce Fields', 'booking' )
, 'label' => __( 'Activate this option to add security tokens (nonce fields) to booking forms on the front-end. Please note that this may cause issues if you are using cache plugins or caching software.', 'booking' )
, 'description' => ''
, 'group' => 'advanced'
, 'tr_class' => 'wpbc_advanced_is_nonce' //wpbc_advanced_js_loading_settings wpbc_sub_settings_grayed hidden_items'
, 'toggle_class' => 'wpbc_toggle_danger'
, 'is_demo_safe' => wpbc_is_this_demo()
);
if ( wpbc_is_this_demo() ) {
$this->fields['booking_pages_for_load_js_css_demo'] = array( 'group' => 'advanced',
'type' => 'html',
'html' => wpbc_get_warning_text_in_demo_mode(),
'cols' => 2,
'tr_class' => 'wpbc_advanced_js_loading_settings'// wpbc_sub_settings_grayed hidden_items'
);
}
// Divider ///////////////////////////////////////////////////////////////
$this->fields['hr_calendar_before_advanced_js_loading_settings'] = array( 'type' => 'hr', 'group' => 'advanced' );
// Show settings of powered by notice
$this->fields['booking_advanced_powered_by_notice_settings'] = array(
'type' => 'html'
, 'html' =>
'+ ' . __('Show settings of powered by notice' ,'booking') . ''
. '- ' . __('Hide settings of powered by notice' ,'booking') . ''
, 'cols' => 2
, 'group' => 'advanced'
);
$this->fields['booking_is_show_powered_by_notice'] = array(
'type' => 'checkbox'
, 'default' => $default_options_values['booking_is_show_powered_by_notice'] //'On'
, 'title' => __('Powered by notice' ,'booking')
, 'label' => sprintf(__(' Turn On/Off powered by "Booking Calendar" notice under the calendar.' ,'booking'),'wpbookingcalendar.com')
, 'description' => ''
, 'group' => 'advanced'
, 'tr_class' => 'wpbc_is_show_powered_by_notice wpbc_sub_settings_grayed hidden_items'
);
$this->fields['booking_wpdev_copyright_adminpanel'] = array(
'type' => 'checkbox'
, 'default' => $default_options_values['booking_wpdev_copyright_adminpanel'] //'On'
, 'title' => __('Help and info notices' ,'booking')
, 'label' => sprintf(__(' Turn On/Off version notice and help info links at booking admin panel.' ,'booking'),'wpbookingcalendar.com')
, 'description' => ''
, 'group' => 'advanced'
, 'tr_class' => 'wpbc_is_show_powered_by_notice wpbc_sub_settings_grayed hidden_items'
, 'is_demo_safe' => wpbc_is_this_demo() // FixIn: 8.1.3.9.
);
//
//
if(1){
if ( function_exists( 'wpbc_get_dashboard_info' ) ) {
$this->fields['booking_information'] = array(
'type' => 'html'
, 'html' => wpbc_get_dashboard_info()
, 'cols' => 2
, 'group' => 'information'
);
}
}
//
//
$this->fields['booking_menu_position'] = array(
'type' => 'select'
, 'default' => 'top'
, 'title' => __('Plugin menu position', 'booking')
, 'description' => ''
, 'options' => array(
'top' => __('Top', 'booking')
, 'middle' => __('Middle', 'booking')
, 'bottom' => __('Bottom', 'booking')
)
, 'group' => 'permissions'
, 'is_demo_safe' => wpbc_is_this_demo()
);
$this->fields['booking_user_role_booking_header'] = array(
'type' => 'pure_html'
, 'group' => 'permissions'
, 'html' => '
' . wp_kses_post( __('User permissions for plugin menu pages' ,'booking') ) . ':