function wpbc_check_locale_for_ajax()
{
    add_bk_filter('wpdev_check_for_active_language', 'wpdev_check_for_active_language');
    // Add Hook for ability  to check  the content for active lanaguges
    if (isset($_POST['wpdev_active_locale'])) {
        // Reload locale according request parameter
        global $l10n;
        if (isset($l10n['booking'])) {
            unset($l10n['booking']);
        }
        if (!defined('WPDEV_BK_LOCALE_RELOAD')) {
            define('WPDEV_BK_LOCALE_RELOAD', $_POST['wpdev_active_locale']);
        }
        // Reload locale settings, its required for the correct  dates format
        if (isset($l10n['default'])) {
            unset($l10n['default']);
        }
        // Unload locale
        add_filter('locale', 'getBookingLocale', 999);
        // Set filter to load the locale of the Booking Calendar
        load_default_textdomain();
        // Load default locale
        global $wp_locale;
        $wp_locale = new WP_Locale();
        // Reload class
        loadLocale(WPDEV_BK_LOCALE_RELOAD);
    }
}
Esempio n. 2
0
 function wpdev_booking()
 {
     // Add settings top line before all other menu items.
     add_bk_action('wpdev_booking_settings_top_menu', array($this, 'settings_menu_top_line'));
     add_bk_action('wpdev_booking_settings_show_content', array(&$this, 'settings_menu_content'));
     $this->captcha_instance = new wpdevReallySimpleCaptcha();
     $this->prefix = 'wpdev_bk';
     $this->settings = array('custom_buttons' => array(), 'custom_buttons_func_name_from_js_file' => 'set_bk_buttons', 'custom_editor_button_row' => 1);
     $this->icon_button_url = WPDEV_BK_PLUGIN_URL . '/img/calendar-16x16.png';
     if (class_exists('wpdev_bk_personal')) {
         $this->wpdev_bk_personal = new wpdev_bk_personal();
     } else {
         $this->wpdev_bk_personal = false;
     }
     // Create admin menu
     add_action('admin_menu', array(&$this, 'add_new_admin_menu'));
     // Client side print JSS
     add_action('wp_head', array(&$this, 'client_side_print_booking_head'));
     // Add custom buttons
     add_action('init', 'wpdev_bk_add_custom_buttons');
     add_action('admin_head', 'wpdev_bk_insert_wpdev_button');
     // Remove the scripts, which generated conflicts
     add_action('admin_init', array(&$this, 'wpdevbk_remove_conflict_scripts'), 999);
     // Set loading translation
     add_action('init', 'load_bk_Translation', 1000);
     // Load footer data
     add_action('wp_footer', array(&$this, 'wp_footer'));
     // User defined - hooks
     add_action('wpdev_bk_add_calendar', array(&$this, 'add_calendar_action'), 10, 2);
     add_action('wpdev_bk_add_form', array(&$this, 'add_booking_form_action'), 10, 2);
     add_bk_action('wpdevbk_add_form', array(&$this, 'add_booking_form_action'));
     add_filter('wpdev_bk_get_form', array(&$this, 'get_booking_form_action'), 10, 2);
     add_bk_filter('wpdevbk_get_booking_form', array(&$this, 'get_booking_form_action'));
     add_filter('wpdev_bk_get_showing_date_format', array(&$this, 'get_showing_date_format'), 10, 1);
     add_filter('wpdev_bk_is_next_day', array(&$this, 'is_next_day'), 10, 2);
     add_bk_filter('wpdev_booking_table', array(&$this, 'booking_table'));
     // Show dashboard widget for the settings
     add_bk_action('dashboard_bk_widget_show', array(&$this, 'dashboard_bk_widget_show'));
     // Get script for calendar activation
     add_bk_filter('get_script_for_calendar', array(&$this, 'get_script_for_calendar'));
     add_bk_filter('pre_get_calendar_html', array(&$this, 'pre_get_calendar_html'));
     add_bk_filter('wpdev_check_for_active_language', 'wpdev_check_for_active_language');
     // Check content according language shortcodes
     // S H O R T C O D E s - Booking
     add_shortcode('booking', array(&$this, 'booking_shortcode'));
     add_shortcode('bookingcalendar', array(&$this, 'booking_calendar_only_shortcode'));
     add_shortcode('bookingform', array(&$this, 'bookingform_shortcode'));
     add_shortcode('bookingedit', array(&$this, 'bookingedit_shortcode'));
     add_shortcode('bookingsearch', array(&$this, 'bookingsearch_shortcode'));
     add_shortcode('bookingsearchresults', array(&$this, 'bookingsearchresults_shortcode'));
     add_shortcode('bookingselect', array(&$this, 'bookingselect_shortcode'));
     // Add settings link at the plugin page
     add_filter('plugin_action_links', array(&$this, 'plugin_links'), 10, 2);
     add_filter('plugin_row_meta', array(&$this, 'plugin_row_meta_bk'), 10, 4);
     add_action('wp_dashboard_setup', array($this, 'dashboard_bk_widget_setup'));
     add_bk_action('wpdev_booking_technical_booking_section', array(&$this, 'wpdev_booking_technical_booking_section'));
     // register widget - New, since WordPress - 2.8
     add_action('widgets_init', create_function('', 'return register_widget("BookingWidget");'));
     // Install / Uninstall
     register_activation_hook(WPDEV_BK_FILE, array(&$this, 'wpdev_booking_activate_initial'));
     register_deactivation_hook(WPDEV_BK_FILE, array(&$this, 'wpdev_booking_deactivate'));
     add_filter('upgrader_post_install', array(&$this, 'install_in_bulk_upgrade'), 10, 2);
     //Todo: fix Upgrade during bulk upgrade of plugins
     add_bk_action('wpdev_booking_activate_user', array(&$this, 'wpdev_booking_activate'));
     //////////////////////////////////////////////////////////////////////////////////////////////////////////////////
     add_action('admin_head', array(&$this, 'wpdevbk_scripts_enqueue'));
     add_action('wp_enqueue_scripts', array(&$this, 'wpdevbk_scripts_enqueue'));
     /*
              // Force for checking plugins updates //////////
              $current = get_site_transient( 'update_plugins' );
              $current->last_checked = 0;
              
              $plugin_key_name = WPDEV_BK_PLUGIN_DIRNAME . '/' . WPDEV_BK_PLUGIN_FILENAME ;
              if (isset($current->checked[$plugin_key_name])) {
                 //   $current->checked[$plugin_key_name] = '0.' . $current->checked[$plugin_key_name];
              }
              set_site_transient( 'update_plugins', $current );
             /**/
     add_filter('site_transient_update_plugins', array(&$this, 'plugin_non_update'), 10, 1);
     // donot show update for Personal active plugin
     // pre_set_site_transient_update_plugins
     // add_action( 'after_plugin_row', array(&$this,'after_plugin_row'),10,3 );
     // add_filter( 'plugin_row_meta', array(&$this, 'plugin_row_meta'), 10, 4 ); // donot show update for Personal active plugin
     // Load the jQuery in the client side
     if (!is_admin()) {
         add_action('wp_enqueue_scripts', array(&$this, 'bc_enqueue_scripts'), 100000);
     }
     if (defined('WP_ADMIN')) {
         $booking_version_num = get_option('booking_version_num');
         if ($booking_version_num === false) {
             $booking_version_num = '0';
         }
         if (version_compare(WP_BK_VERSION_NUM, $booking_version_num) > 0) {
             add_action('plugins_loaded', array(&$this, 'wpdev_booking_activate_initial'));
         }
     }
 }
                do_action('wpbc_update_cost_of_new_booking', $booking_id, $bktype, $str_dates__dd_mm_yyyy, array($start_time, $end_time), $formdata);
            }
        }
    }
    // Re-Update booking resource TYPE if its needed here
    if (isset($params["skip_page_checking_for_updating"])) {
        $skip_page_checking_for_updating = (bool) $params["skip_page_checking_for_updating"];
    } else {
        $skip_page_checking_for_updating = true;
    }
    make_bk_action('wpdev_booking_reupdate_bk_type_to_childs', $booking_id, $bktype, $str_dates__dd_mm_yyyy, array($start_time, $end_time), $formdata, $skip_page_checking_for_updating);
    make_bk_action('finish_check_multiuser_params_for_client_side', $bktype);
    // Deactivate working with  specific user in WP MU
    return $booking_id;
}
add_bk_filter('wpbc_add_new_booking_filter', 'wpbc_add_new_booking');
add_bk_action('wpbc_add_new_booking', 'wpbc_add_new_booking');
/*
make_bk_action('wpbc_add_new_booking' , array(    
 'bktype' => 1
 , 'dates' => '27.08.2014, 28.08.2014, 29.08.2014'
 , 'form' => 'select-one^rangetime1^10:00 - 12:00~text^name1^Jo~text^secondname1^Smith~email^email1^smith@gmail.com~text^phone1^678676678~text^address1^Linkoln Street~text^city1^London~text^postcode1^78788~select-one^country1^GB~select-one^visitors1^1~select-one^children1^1~textarea^details1^Rooms with sea view~checkbox^term_and_condition1[]^I Accept term and conditions'
 , 'is_send_emeils' => 0
// , 'booking_form_type' => ''
// , 'wpdev_active_locale' => 'en_US'    
) ); /**/
/** Check if dates intersect with  other dates array
 * 
 * @param array $dates_for_check                            - Dates Array of specific booking, which we checking            - date in SQL format: '2014-11-21 10:00:01'
 * @param array $dates_exist                                - Other dates from booking resource(s),  that  already  exist   - date in SQL format: '2014-11-21 15:00:02'
 * @return bool true - intersect, false - not intersect
 function __construct()
 {
     // Add settings top line before all other menu items.
     add_bk_action('wpdev_booking_settings_top_menu', array($this, 'settings_menu_top_line'));
     add_bk_action('wpdev_booking_settings_show_content', array(&$this, 'settings_menu_content'));
     $this->captcha_instance = new wpdevReallySimpleCaptcha();
     $this->prefix = 'wpdev_bk';
     $this->settings = array('custom_buttons' => array(), 'custom_buttons_func_name_from_js_file' => 'set_bk_buttons', 'custom_editor_button_row' => 1);
     $this->icon_button_url = WPDEV_BK_PLUGIN_URL . '/img/bc-16x16.png';
     if (class_exists('wpdev_bk_personal')) {
         $this->wpdev_bk_personal = new wpdev_bk_personal();
     } else {
         $this->wpdev_bk_personal = false;
     }
     // Create admin menu
     add_action('admin_menu', array(&$this, 'add_new_admin_menu'));
     // Set loading translation
     add_action('plugins_loaded', 'load_bk_Translation', 1000);
     // Check content according language shortcodes
     add_bk_filter('wpdev_check_for_active_language', 'wpdev_check_for_active_language');
     // Show dashboard widget for the settings
     add_bk_action('dashboard_bk_widget_show', array(&$this, 'dashboard_bk_widget_show'));
     // User defined - hooks
     add_action('wpdev_bk_add_calendar', array(&$this, 'add_calendar_action'), 10, 2);
     add_action('wpdev_bk_add_form', array(&$this, 'add_booking_form_action'), 10, 2);
     add_bk_action('wpdevbk_add_form', array(&$this, 'add_booking_form_action'));
     add_filter('wpdev_bk_get_form', array(&$this, 'get_booking_form_action'), 10, 2);
     add_bk_filter('wpdevbk_get_booking_form', array(&$this, 'get_booking_form_action'));
     add_filter('wpdev_bk_get_showing_date_format', array(&$this, 'get_showing_date_format'), 10, 1);
     add_filter('wpdev_bk_is_next_day', array(&$this, 'is_next_day'), 10, 2);
     // Get script for calendar activation
     add_bk_filter('get_script_for_calendar', array(&$this, 'get_script_for_calendar'));
     add_bk_filter('pre_get_calendar_html', array(&$this, 'pre_get_calendar_html'));
     // S H O R T C O D E s - Booking
     add_shortcode('booking', array(&$this, 'booking_shortcode'));
     add_shortcode('bookingcalendar', array(&$this, 'booking_calendar_only_shortcode'));
     add_shortcode('bookingform', array(&$this, 'bookingform_shortcode'));
     add_shortcode('bookingedit', array(&$this, 'bookingedit_shortcode'));
     add_shortcode('bookingsearch', array(&$this, 'bookingsearch_shortcode'));
     add_shortcode('bookingsearchresults', array(&$this, 'bookingsearchresults_shortcode'));
     add_shortcode('bookingselect', array(&$this, 'bookingselect_shortcode'));
     add_shortcode('bookingresource', array(&$this, 'bookingresource_shortcode'));
     add_shortcode('bookingtimeline', array(&$this, 'bookingtimeline_shortcode'));
     // Add settings link at the plugin page
     add_filter('plugin_action_links', array(&$this, 'plugin_links'), 10, 2);
     add_filter('plugin_row_meta', array(&$this, 'plugin_row_meta_bk'), 10, 4);
     add_action('wp_dashboard_setup', array($this, 'dashboard_bk_widget_setup'));
     add_bk_action('wpdev_booking_technical_booking_section', array(&$this, 'wpdev_booking_technical_booking_section'));
     // Install / Uninstall
     register_activation_hook(WPDEV_BK_FILE, array(&$this, 'wpdev_booking_activate_initial'));
     register_deactivation_hook(WPDEV_BK_FILE, array(&$this, 'wpdev_booking_deactivate'));
     add_filter('upgrader_post_install', array(&$this, 'install_in_bulk_upgrade'), 10, 2);
     //Todo: fix Upgrade during bulk upgrade of plugins
     add_bk_action('wpdev_booking_activate_user', array(&$this, 'wpdev_booking_activate'));
     //////////////////////////////////////////////////////////////////////////////////////////////////////////////////
     if (defined('WP_ADMIN')) {
         $booking_version_num = get_option('booking_version_num');
         if ($booking_version_num === false) {
             $booking_version_num = '0';
         }
         if (version_compare(WP_BK_VERSION_NUM, $booking_version_num) > 0) {
             add_action('plugins_loaded', array(&$this, 'wpdev_booking_activate_initial'));
         } else {
             // Check if we was update from  free to paid or from lower to  higher versions,  and do not make normal  activation. In this case we need to make it.
             $is_make_activation = false;
             if (class_exists('wpdev_bk_personal') && !wpbc_is_table_exists('bookingtypes')) {
                 $is_make_activation = true;
             }
             if (!$is_make_activation && class_exists('wpdev_bk_biz_s') && wpbc_is_field_in_table_exists('booking', 'pay_request') == 0) {
                 $is_make_activation = true;
             }
             if (!$is_make_activation && class_exists('wpdev_bk_biz_m') && !wpbc_is_table_exists('booking_types_meta')) {
                 $is_make_activation = true;
             }
             if (!$is_make_activation && class_exists('wpdev_bk_biz_l') && !wpbc_is_table_exists('booking_coupons')) {
                 $is_make_activation = true;
             }
             if (!$is_make_activation && class_exists('wpdev_bk_multiuser') && wpbc_is_field_in_table_exists('booking_coupons', 'users') == 0) {
                 $is_make_activation = true;
             }
             if ($is_make_activation) {
                 // add_action('admin_init', array(&$this,'silent_deactivate_WPBC'));
                 add_action('plugins_loaded', array(&$this, 'wpdev_booking_activate_initial'));
             }
         }
     }
 }