/** * PHP 5 Constructor */ function __construct($xl_parent) { $this->parent = $xl_parent; // to keep values built in parent filters... // need parent constructed values (third param - tell coming from admin-class //2.6 parent::__construct(false, false, true); // vars shared between parent and admin class - 2.8.4.3 $this->xili_settings =& $this->parent->xili_settings; $this->langs_list_options =& $this->parent->langs_list_options; // 2.8.6 if (!class_exists('GP_Locales')) { require_once $this->plugin_path . 'xili-includes/locales.php'; } // from JetPack copied $XL_locales = GP_Locales::instance(); $this->examples_list = array(); foreach ($XL_locales->locales as $key => $one_locale) { if (isset($one_locale->wp_locale) && $one_locale->wp_locale != '') { $this->examples_list[$one_locale->wp_locale] = sprintf(_x('%1$s/%2$s', 'locales', 'xili-language'), $one_locale->english_name, $one_locale->native_name); } else { // a * inserted if no existing WP_locale declared... $this->examples_list[$key] = sprintf(_x('%1$s/%2$s *', 'locales', 'xili-language'), $one_locale->english_name, $one_locale->native_name); } } $this->default_lang =& $this->parent->default_lang; $this->default_locale = GP_Locales::by_field('wp_locale', $this->default_lang); $this->langs_group_id =& $this->parent->langs_group_id; $this->langs_group_tt_id =& $this->parent->langs_group_tt_id; $this->get_template_directory =& $this->parent->get_template_directory; $this->get_parent_theme_directory =& $this->parent->get_parent_theme_directory; $this->show_page_on_front =& $this->parent->show_page_on_front; $this->arraydomains =& $this->parent->arraydomains; $this->lang_perma =& $this->parent->lang_perma; $this->alias_mode =& $this->parent->alias_mode; $this->langs_ids_array =& $this->parent->langs_ids_array; $this->langs_slug_name_array =& $this->parent->langs_slug_name_array; $this->langs_slug_fullname_array =& $this->parent->langs_slug_fullname_array; $this->langs_slug_shortqv_array =& $this->parent->langs_slug_shortqv_array; $this->langs_shortqv_slug_array =& $this->parent->langs_shortqv_slug_array; add_action('admin_init', array(&$this, 'init_roles')); // 2.8.8 add_action('admin_head', array(&$this, 'xd_flush_permalinks')); // 2.11 add_filter('wp_get_nav_menus', array(&$this, '_update_menus_insertion_points'), 10, 2); // 2.13 // since 2.2.0 add_action('admin_bar_init', array(&$this, 'admin_bar_init')); // add button in toolbar // 2.8.0 dashboard language - inspired from Takayuki Miyoshi works add_filter('locale', array(&$this, 'admin_side_locale')); add_action('admin_init', array(&$this, 'switch_user_locale')); add_action('personal_options_update', array(&$this, 'update_user_dashboard_lang_option')); add_action('personal_options', array(&$this, 'select_user_dashboard_locale')); add_action('edit_user_profile_update', array(&$this, 'update_user_dashboard_lang_option')); // 2.18 // plugins list infos add_filter('plugin_row_meta', array(&$this, 'more_infos_in_plugin_list'), 10, 2); // class WP_Plugins_List_Table add_filter('plugin_action_links', array(&$this, 'more_plugin_actions'), 10, 2); // class WP_Plugins_List_Table add_action('after_plugin_row', array(&$this, 'more_plugin_row'), 10, 3); // class WP_Plugins_List_Table // Dashboard menu and settings pages add_action('admin_init', array(&$this, 'admin_redirects')); // 2.20 for welcome screen add_action('admin_menu', array(&$this, 'admin_welcome'), 10); // 2.20 add_action('admin_menu', array(&$this, 'add_menu_settings_pages'), 10); add_action('admin_menu', array(&$this, 'admin_sub_menus_hide'), 12); // add_filter('admin_title', array(&$this, 'admin_recover_page_title'), 10, 2); // 2.11.3 add_action('admin_print_styles-settings_page_language_page', array(&$this, 'print_styles_options_language_page'), 20); add_action('admin_print_styles-settings_page_language_front_set', array(&$this, 'print_styles_options_language_tabs'), 20); add_action('admin_print_styles-settings_page_language_expert', array(&$this, 'print_styles_options_language_tabs'), 40); add_action('admin_print_styles-settings_page_author_rules', array(&$this, 'print_styles_options_language_tabs'), 20); add_action('admin_print_styles-settings_page_language_files', array(&$this, 'print_styles_options_language_tabs'), 20); add_action('admin_print_styles-settings_page_language_support', array(&$this, 'print_styles_options_language_support'), 20); // Navigation menu builder add_action('admin_init', array(&$this, 'add_language_nav_menu_meta_boxes')); add_action('admin_init', array(&$this, 'add_sub_select_page_nav_menu_meta_boxes')); add_action('admin_init', array(&$this, 'add_sub_select_nav_menu_meta_boxes')); // Edit Post Page add_action('admin_init', array(&$this, 'admin_init')); // styles registering add_action('post_submitbox_start', array(&$this, 'post_submit_permalink_option')); // 2.15 - option to use title as permalink // Propagation && Authoring settings add_action('admin_init', array(&$this, 'set_author_rules_register_setting')); add_action('admin_init', array(&$this, 'set_propagation_actions')); // frontend new settings add_action('admin_init', array(&$this, 'set_frontend_settings_fields')); add_action('admin_menu', array(&$this, 'add_custom_box_in_post_edit')); add_action('admin_print_scripts-post.php', array(&$this, 'find_post_script')); // 2.2.2 add_action('admin_print_scripts-post-new.php', array(&$this, 'find_post_script')); // 2.9.10 add_action('wp_ajax_find_post_types', array(&$this, 'wp_ajax_find_post_types')); add_action('admin_print_styles-post.php', array(&$this, 'print_styles_cpt_edit')); add_action('admin_print_styles-post-new.php', array(&$this, 'print_styles_cpt_edit')); //add_filter( 'is_protected_meta', array(&$this,'hide_lang_post_meta'), 10, 3 ); // 2.5 //add_filter( 'post_meta_key_subselect', array(&$this,'hide_lang_post_meta_popup'), 10, 2); // 2.5 /* actions for edit post page */ add_action('save_post', array(&$this, 'xili_language_add'), 10, 2); add_action('save_post', array(&$this, 'fixes_post_slug'), 11, 2); // 2.5 // Edit Attachment Media add_filter('attachment_fields_to_edit', array(&$this, 'add_language_attachment_fields'), 10, 2); // 2.6.3 add_filter('attachment_fields_to_save', array(&$this, 'set_attachment_fields_to_save'), 10, 2); // 2.6.3 add_action('delete_attachment', array(&$this, 'if_cloned_attachment')); // 2.6.3 add_filter('wp_delete_file', array(&$this, 'if_file_cloned_attachment')); // 2.6.3 // Flag media add_action('attachment_submitbox_misc_actions', array(&$this, 'attachment_submitbox_flag_metadata')); // 2.15 add_filter('display_media_states', array(&$this, 'add_display_media_states')); add_action('edit_attachment', array(&$this, 'update_attachment_context')); // 2.15 add_action('add_attachment', array(&$this, 'xili_reset_transient_get_flag_series')); // 2.16.4 add_action('edit_attachment', array(&$this, 'xili_reset_transient_get_flag_series')); add_action('delete_attachment', array(&$this, 'xili_reset_transient_get_flag_series')); // near get_flag_series add_action('admin_menu', array(&$this, 'add_custom_box_in_media_edit')); // 2.15 custom meta box in single media edit add_action('admin_menu', array($this, 'flag_options_theme_menu')); // 2.15 add_action('admin_init', array(&$this, 'set_flag_register_setting')); // posts edit table add_filter('manage_edit-post_columns', array(&$this, 'xili_manage_column_name')); // 2.9.10 - post quick edit single row add_filter('manage_post_posts_columns', array(&$this, 'xili_manage_column_name')); // 2.8.1 add_filter('manage_page_posts_columns', array(&$this, 'xili_manage_column_name')); add_filter('manage_media_columns', array(&$this, 'xili_manage_column_name')); // 2.6.3 $custompoststype = $this->xili_settings['multilingual_custom_post']; // 2.8.1 if ($custompoststype != array()) { foreach ($custompoststype as $key => $customtype) { if (!class_exists('bbPress') && $customtype['multilingual'] == 'enable' || class_exists('bbPress') && !in_array($key, array(bbp_get_forum_post_type(), bbp_get_topic_post_type(), bbp_get_reply_post_type())) && $customtype['multilingual'] == 'enable') { add_filter('manage_' . $key . '_posts_columns', array(&$this, 'xili_manage_column_name')); } } } if (class_exists('bbPress')) { add_filter('bbp_admin_forums_column_headers', array(&$this, 'xili_manage_column_name')); add_filter('bbp_admin_topics_column_headers', array(&$this, 'xili_manage_column_name')); add_filter('bbp_admin_replies_column_headers', array(&$this, 'xili_manage_column_name')); //2.8.1 } add_action('manage_posts_custom_column', array(&$this, 'xili_manage_column'), 10, 2); add_action('manage_pages_custom_column', array(&$this, 'xili_manage_column'), 10, 2); add_action('manage_media_custom_column', array(&$this, 'xili_manage_column'), 10, 2); // 2.6.3 add_action('admin_print_styles-edit.php', array(&$this, 'print_styles_posts_list'), 20); add_action('admin_print_styles-upload.php', array(&$this, 'print_styles_posts_list'), 20); // 2.6.3 add_filter('category_name', array(&$this, 'translated_category_name'), 10, 3); // 2.13.3 // quick edit languages in list - 1.8.9 add_action('quick_edit_custom_box', array(&$this, 'languages_custom_box'), 10, 2); add_action('admin_head-edit.php', array(&$this, 'quick_edit_add_script')); add_action('bulk_edit_custom_box', array(&$this, 'hidden_languages_custom_box'), 10, 2); // 1.8.9.3 add_action('wp_ajax_save_bulk_edit', array(&$this, 'save_bulk_edit_language')); // 2.9.10 add_action('wp_ajax_get_menu_infos', array(&$this, 'ajax_get_menu_infos')); // 2.9.10 // sub-select in admin/edit.php 1.8.9 add_action('restrict_manage_posts', array(&$this, 'restrict_manage_languages_posts')); /* categories edit-tags table */ add_filter('manage_edit-category_columns', array(&$this, 'xili_manage_tax_column_name')); add_filter('manage_category_custom_column', array(&$this, 'xili_manage_tax_column'), 10, 3); // 2.6 add_filter('category_row_actions', array(&$this, 'xili_manage_tax_action'), 10, 2); // 2.6 add_action('admin_print_styles-edit-tags.php', array(&$this, 'print_styles_posts_list'), 20); add_action('category_edit_form_fields', array(&$this, 'show_translation_msgstr'), 10, 2); add_action('category_add_form', array(&$this, 'update_xd_msgid_list')); //do_action($taxonomy . '_add_form', $taxonomy); /* actions for edit link page */ add_action('admin_menu', array(&$this, 'add_custom_box_in_link')); add_action('admin_enqueue_scripts', array(&$this, 'admin_enqueue_menu_script')); add_filter('manage_link-manager_columns', array(&$this, 'xili_manage_link_column_name')); // 1.8.5 add_action('manage_link_custom_column', array(&$this, 'manage_link_lang_column'), 10, 2); add_action('admin_print_styles-link.php', array(&$this, 'print_styles_link_edit'), 20); // set or update term for this link taxonomy add_action('edit_link', array(&$this, 'edit_link_set_lang')); add_action('add_link', array(&$this, 'edit_link_set_lang')); // default screen options - nav menus add_action('added_user_meta', array(&$this, 'default_nav_menus_screen_options'), 10, 4); // infos in xml export add_action('export_filters', array(&$this, 'message_export_limited')); // 2.12.1 //display contextual help add_action('contextual_help', array(&$this, 'add_help_text'), 10, 3); /* 1.7.0 */ }
/** * instantiation of xili_language class * * @since 1.8.8 to verify that WP 3.0 is installed * @updated for 1.8.9, 2.3.1, 2.7.1 (function) * */ function xili_language_start() { global $wp_version, $xili_language, $xili_language_admin; if (version_compare(PHP_VERSION, XILILANGUAGE_PHP_VER, '<')) { add_action('admin_notices', 'xili_language_need_php5'); return; } elseif (version_compare($wp_version, XILILANGUAGE_WP_VER, '<') && XILILANGUAGE_VER > XILILANGUAGE_PREV_VER) { add_action('admin_notices', 'xili_language_need_31'); return; } else { // new sub-folder since 2.6 require_once plugin_dir_path(__FILE__) . 'xili-includes/xili-language-widgets.php'; require_once plugin_dir_path(__FILE__) . 'xili-includes/theme-multilingual-classes.php'; // since 2.20.0 /** * instantiation of xili_language class * * @since 0.9.7 * @updated 2.6 * * * @param locale_method (true for cache compatibility... in current tests with johan.eenfeldt@kostdoktorn.se) * @param future version */ $xili_language = new xili_language(false, false); if (is_admin()) { $plugin_path = dirname(__FILE__); // w/o / at end require $plugin_path . '/xili-includes/xl-class-admin.php'; $xili_language_admin = new xili_language_admin($xili_language); } /** * Enable to add functions and filters that are not in theme's functions.php * These filters are common even if you change default theme... * Place your functions.php in folder plugins/xilidev-libraries/ * if you have a filter in this file, avoid to have similar one in functions.php of the theme !!! * * (for tests, check / uncheck 'enable gold functions' in settings UI) * @since 1.0 * @updated 1.4.0 */ $xili_language->insert_gold_functions(); } }