'abcAvailabilityFormWidget', 'description' => __('Advanced Booking Calendar Widget.', 'advanced-booking-calendar'), ); parent::__construct( false, __('Availability Form Widget', 'advanced-booking-calendar'), $widget_ops ); } // widget form creation function form($instance) { // Check title if( $instance) { $title = esc_attr($instance['title']); } else { // Initial title $title = __('Availability', 'advanced-booking-calendar'); } echo "

get_field_id('title')."\" name=\"".$this->get_field_name('title')."\" type=\"text\" value=\"".$title."\" />

"; // Frontend output if(getAbcSetting("bookingpage") > 0){ echo "

".__('This widgets loads a small booking form. After a user selected the dates and clicked on "Check availabilites", the booking form is loaded.', 'advanced-booking-calendar')."

"; } else { echo "

".__('There is no booking page configured. Check the settings and select a page with the booking form.', 'advanced-booking-calendar')."

"; } } // Update function for changes function update($new_instance, $old_instance) { $instance = $old_instance; $instance['title'] = strip_tags($new_instance['title']); return $instance; } // Display widget function widget($args, $instance) { global $abcUrl; extract( $args ); $title = apply_filters('widget_title', $instance['title']); wp_enqueue_style( 'styles-css', $abcUrl.'frontend/css/styles.css' ); wp_enqueue_style( 'font-awesome', $abcUrl.'frontend/css/font-awesome.min.css' ); wp_enqueue_script('jquery-ui-datepicker'); wp_enqueue_script('abc-widget', $abcUrl.'frontend/js/abc-widget.js', array('jquery')); $dateformat = abc_booking_dateFormatToJS(getAbcSetting("dateformat")); wp_localize_script( 'abc-widget', 'abc_functions_vars', array( 'dateformat' => $dateformat, 'firstday' => getAbcSetting("firstdayofweek"))); wp_enqueue_style('abc-datepicker', $abcUrl.'/frontend/css/jquery-ui.min.css'); $datepickerLang = array('af','ar-DZ','ar','az','be','bg','bs','ca','cs','cy-GB','da','de','el','en-AU','en-GB','en-NZ', 'eo','es','et','eu','fa','fi','fo','fr-CA','fr-CH','fr','gl','he','hi','hr','hu','hy','id','is', 'it-CH','it','ja','ka','kk','km','ko','ky','lb','lt','lv','mk','ml','ms','nb','nl-BE','nl','nn', 'no','pl','pt-BR','pt','rm','ro','ru','sk','sl','sq','sr-SR','sr','sv','ta','th','tj','tr','uk', 'vi','zh-CN','zh-HK','zh-TW'); if(substr(get_locale(), 0,2) != 'en' && in_array(get_locale(), $datepickerLang)){ wp_enqueue_script('jquery-datepicker-lang', $abcUrl.'frontend/js/datepicker_lang/datepicker-'.get_locale().'.js', array('jquery')); }elseif(substr(get_locale(), 0,2) != 'en' && in_array(substr(get_locale(), 0,2), $datepickerLang)){ wp_enqueue_script('jquery-datepicker-lang', $abcUrl.'frontend/js/datepicker_lang/datepicker-'.substr(get_locale(), 0,2).'.js', array('jquery')); } $abcPersonValue = 1; if(isset($_POST['abc-persons'])){ // Checking for cookies $abcPersonValue = intval($_POST['abc-persons']); }elseif(isset($_COOKIE['abc-persons'])){ // Checking for cookies $abcPersonValue = intval($_COOKIE['abc-persons']); } $optionPersons = ''; for( $i = 1; $i <= getAbcSetting('personcount'); $i++) { $optionPersons .= '