Esempio n. 1
0
 public function __construct()
 {
     //define the translatable options for the plugin
     self::$translatable_options = apply_filters('em_ml_translatable_options', array('dbem_events_anonymous_result_success', 'dbem_events_form_result_success', 'dbem_events_form_result_success_updated', 'dbem_event_list_groupby_format', 'dbem_event_list_item_format_header', 'dbem_event_list_item_format', 'dbem_event_list_item_format_footer', 'dbem_no_events_message', 'dbem_list_date_title', 'dbem_single_event_format', 'dbem_event_excerpt_format', 'dbem_event_excerpt_alt_format', 'dbem_search_form_submit', 'dbem_search_form_advanced_hide', 'dbem_search_form_advanced_show', 'dbem_search_form_text_label', 'dbem_search_form_categories_label', 'dbem_search_form_category_label', 'dbem_search_form_countries_label', 'dbem_search_form_country_label', 'dbem_search_form_regions_label', 'dbem_search_form_region_label', 'dbem_search_form_states_label', 'dbem_search_form_state_label', 'dbem_search_form_towns_label', 'dbem_search_form_town_label', 'dbem_search_form_geo_label', 'dbem_search_form_geo_units_label', 'dbem_search_form_dates_label', 'dbem_search_form_dates_separator', 'dbem_date_format', 'dbem_date_format_js', 'dbem_dates_separator', 'dbem_time_format', 'dbem_times_separator', 'dbem_event_all_day_message', 'dbem_small_calendar_month_format', 'dbem_small_calendar_event_title_format', 'dbem_small_calendar_event_title_separator', 'dbem_full_calendar_month_format', 'dbem_full_calendar_event_format', 'dbem_display_calendar_events_limit_msg', 'dbem_ical_description_format', 'dbem_ical_real_description_format', 'dbem_ical_location_format', 'dbem_location_list_item_format_header', 'dbem_location_list_item_format', 'dbem_location_list_item_format_footer', 'dbem_no_locations_message', 'dbem_location_page_title_format', 'dbem_single_location_format', 'dbem_location_event_list_item_header_format', 'dbem_location_event_list_item_format', 'dbem_location_event_list_item_footer_format', 'dbem_location_no_events_message', 'dbem_location_event_single_format', 'dbem_location_no_event_message', 'dbem_categories_list_item_format_header', 'dbem_categories_list_item_format', 'dbem_categories_list_item_format_footer', 'dbem_no_categories_message', 'dbem_category_page_title_format', 'dbem_category_page_format', 'dbem_category_event_list_item_header_format', 'dbem_category_event_list_item_format', 'dbem_category_event_list_item_footer_format', 'dbem_category_no_events_message', 'dbem_category_no_event_message', 'dbem_category_event_single_format', 'dbem_tags_list_item_format_header', 'dbem_tags_list_item_format', 'dbem_tags_list_item_format_footer', 'dbem_no_tags_message', 'dbem_tag_page_title_format', 'dbem_tag_page_format', 'dbem_tag_event_list_item_header_format', 'dbem_tag_event_list_item_format', 'dbem_tag_event_list_item_footer_format', 'dbem_tag_no_events_message', 'dbem_tag_event_single_format', 'dbem_tag_no_event_message', 'dbem_rss_main_description', 'dbem_rss_main_title', 'dbem_rss_title_format', 'dbem_rss_description_format', 'dbem_map_text_format', 'dbem_location_baloon_format', 'dbem_bookings_currency_thousands_sep', 'dbem_bookings_currency_decimal_point', 'dbem_bookings_currency_format', 'dbem_booking_feedback_cancelled', 'dbem_booking_warning_cancel', 'dbem_bookings_form_msg_disabled', 'dbem_bookings_form_msg_closed', 'dbem_bookings_form_msg_full', 'dbem_bookings_form_msg_attending', 'dbem_bookings_form_msg_bookings_link', 'dbem_booking_feedback', 'dbem_booking_feedback_pending', 'dbem_booking_feedback_full', 'dbem_booking_feedback_error', 'dbem_booking_feedback_email_exists', 'dbem_booking_feedback_log_in', 'dbem_booking_feedback_nomail', 'dbem_booking_feedback_already_booked', 'dbem_booking_feedback_min_space', 'dbem_booking_feedback_spaces_limit', 'dbem_booking_button_msg_book', 'dbem_booking_button_msg_booking', 'dbem_booking_button_msg_booked', 'dbem_booking_button_msg_already_booked', 'dbem_booking_button_msg_error', 'dbem_booking_button_msg_full', 'dbem_booking_button_msg_cancel', 'dbem_booking_button_msg_canceling', 'dbem_booking_button_msg_cancelled', 'dbem_booking_button_msg_cancel_error', 'dbem_bookings_submit_button', 'dbem_bookings_contact_email_pending_subject', 'dbem_bookings_contact_email_pending_body', 'dbem_bookings_contact_email_confirmed_subject', 'dbem_bookings_contact_email_confirmed_body', 'dbem_bookings_contact_email_rejected_subject', 'dbem_bookings_contact_email_rejected_body', 'dbem_bookings_contact_email_cancelled_subject', 'dbem_bookings_contact_email_cancelled_body', 'dbem_bookings_email_confirmed_subject', 'dbem_bookings_email_confirmed_body', 'dbem_bookings_email_pending_subject', 'dbem_bookings_email_pending_body', 'dbem_bookings_email_rejected_subject', 'dbem_bookings_email_rejected_body', 'dbem_bookings_email_cancelled_subject', 'dbem_bookings_email_cancelled_body', 'dbem_event_submitted_email_subject', 'dbem_event_submitted_email_body', 'dbem_event_resubmitted_email_subject', 'dbem_event_resubmitted_email_body', 'dbem_event_published_email_subject', 'dbem_event_published_email_body', 'dbem_event_approved_email_subject', 'dbem_event_approved_email_body', 'dbem_event_reapproved_email_subject', 'dbem_event_reapproved_email_body', 'dbem_bookings_email_registration_subject', 'dbem_bookings_email_registration_body'));
     //When in the EM settings page translatable values should be shown in the currently active language
     if (is_admin() && !empty($_REQUEST['page']) && $_REQUEST['page'] == 'events-manager-options') {
         return;
     }
     //add a hook for all trnalsateable values
     if (EM_ML::$current_language != EM_ML::$wplang) {
         foreach (self::$translatable_options as $option) {
             add_filter('pre_option_' . $option, array(&$this, 'pre_option_' . $option), 1, 1);
         }
     }
     //Switch EM page IDs to translated versions if they exist, so e.g. the events page in another language grabs the right translated page format if available
     add_filter('option_dbem_events_page', 'EM_ML_Options::get_translated_page');
     add_filter('option_dbem_locations_page', 'EM_ML_Options::get_translated_page');
     add_filter('option_dbem_categories_page', 'EM_ML_Options::get_translated_page');
     add_filter('option_dbem_tags_page', 'EM_ML_Options::get_translated_page');
     add_filter('option_dbem_edit_events_page', 'EM_ML_Options::get_translated_page');
     add_filter('option_dbem_edit_locations_page', 'EM_ML_Options::get_translated_page');
     add_filter('option_dbem_edit_bookings_page', 'EM_ML_Options::get_translated_page');
     add_filter('option_dbem_my_bookings_page', 'EM_ML_Options::get_translated_page');
 }
Esempio n. 2
0
 /**
  * Returns whether or not this option name is translatable.
  * @uses EM_ML_Options::is_option_translatable()
  * @param string $option Option Name
  * @return boolean
  */
 public static function is_option_translatable($option)
 {
     if (!self::$is_ml) {
         return false;
     }
     return EM_ML_Options::is_option_translatable($option);
 }
Esempio n. 3
0
 public static function em_booking_email_messages($msg, $EM_Booking)
 {
     //only proceed if booking was in another language AND we're not in the current language given the option is translated automatically
     if (!empty($EM_Booking->booking_meta['lang']) && EM_ML::$current_language != $EM_Booking->booking_meta['lang']) {
         $lang = $EM_Booking->booking_meta['lang'];
         //get the translated event
         $EM_Event = EM_ML::get_translation($EM_Booking->get_event(), $lang);
         //check that we're not already dealing with the translated event
         if ($EM_Event->post_id != $EM_Booking->get_event()->post_id) {
             //below is copied script from EM_Booking::email_messages() replacing get_option with EM_ML_Options::get_option() supplying the booking language
             switch ($EM_Booking->booking_status) {
                 case 0:
                 case 5:
                     //TODO remove offline status from here and move to pro
                     $msg['user']['subject'] = EM_ML_Options::get_option('dbem_bookings_email_pending_subject', $lang);
                     $msg['user']['body'] = EM_ML_Options::get_option('dbem_bookings_email_pending_body', $lang);
                     //admins should get something (if set to)
                     $msg['admin']['subject'] = EM_ML_Options::get_option('dbem_bookings_contact_email_pending_subject', $lang);
                     $msg['admin']['body'] = EM_ML_Options::get_option('dbem_bookings_contact_email_pending_body', $lang);
                     break;
                 case 1:
                     $msg['user']['subject'] = EM_ML_Options::get_option('dbem_bookings_email_confirmed_subject', $lang);
                     $msg['user']['body'] = EM_ML_Options::get_option('dbem_bookings_email_confirmed_body', $lang);
                     //admins should get something (if set to)
                     $msg['admin']['subject'] = EM_ML_Options::get_option('dbem_bookings_contact_email_confirmed_subject', $lang);
                     $msg['admin']['body'] = EM_ML_Options::get_option('dbem_bookings_contact_email_confirmed_body', $lang);
                     break;
                 case 2:
                     $msg['user']['subject'] = EM_ML_Options::get_option('dbem_bookings_email_rejected_subject', $lang);
                     $msg['user']['body'] = EM_ML_Options::get_option('dbem_bookings_email_rejected_body', $lang);
                     //admins should get something (if set to)
                     $msg['admin']['subject'] = EM_ML_Options::get_option('dbem_bookings_contact_email_rejected_subject', $lang);
                     $msg['admin']['body'] = EM_ML_Options::get_option('dbem_bookings_contact_email_rejected_body', $lang);
                     break;
                 case 3:
                     $msg['user']['subject'] = EM_ML_Options::get_option('dbem_bookings_email_cancelled_subject', $lang);
                     $msg['user']['body'] = EM_ML_Options::get_option('dbem_bookings_email_cancelled_body', $lang);
                     //admins should get something (if set to)
                     $msg['admin']['subject'] = EM_ML_Options::get_option('dbem_bookings_contact_email_cancelled_subject', $lang);
                     $msg['admin']['body'] = EM_ML_Options::get_option('dbem_bookings_contact_email_cancelled_body', $lang);
                     break;
             }
         }
     }
     return $msg;
 }