/** * Renders the Settings/Media Library Assistant "Language" tab * * @since 2.11 * * @return array ( 'message' => '', 'body' => '' ) */ public static function mla_render_language_tab() { $page_content = array('message' => '', 'body' => '<h2>' . __('Language', 'media-library-assistant') . '</h2>'); /* * Check for submit buttons to change or reset settings. * Initialize page messages and content. */ if (!empty($_REQUEST['mla-language-options-save'])) { check_admin_referer(MLA::MLA_ADMIN_NONCE_ACTION, MLA::MLA_ADMIN_NONCE_NAME); $page_content = MLA_Polylang::_save_language_settings(); } elseif (!empty($_REQUEST['mla-language-options-reset'])) { check_admin_referer(MLA::MLA_ADMIN_NONCE_ACTION, MLA::MLA_ADMIN_NONCE_NAME); $page_content = MLA_Polylang::_reset_language_settings(); } else { $page_content = array('message' => '', 'body' => ''); } if (!empty($page_content['body'])) { return $page_content; } $page_values = array('Language Options' => __('Language Options', 'media-library-assistant'), 'In this tab' => sprintf(__('In this tab you can find a number of options for controlling Polylang-specific operations. Scroll down to find options for %1$s and %2$s. Be sure to click "Save Changes" at the bottom of the tab to save any changes you make.', 'media-library-assistant'), '<strong>' . __('Media/Assistant submenu table', 'media-library-assistant') . '</strong>', '<strong>' . __('Term Management', 'media-library-assistant') . '</strong>'), 'You can find' => sprintf(__('You can find more information about multilingual features in the %1$s section of the Documentation.', 'media-library-assistant'), '<a href="[+settingsURL+]?page=mla-settings-menu-documentation&mla_tab=documentation#mla_language_tab" title="' . __('Language Options documentation', 'media-library-assistant') . '">' . __('WPML & Polylang Multilingual Support; the MLA Language Tab', 'media-library-assistant') . '</a>'), 'settingsURL' => admin_url('options-general.php'), 'Save Changes' => __('Save Changes', 'media-library-assistant'), 'Delete Language options' => __('Delete Language options and restore default settings', 'media-library-assistant'), '_wpnonce' => wp_nonce_field(MLA::MLA_ADMIN_NONCE_ACTION, MLA::MLA_ADMIN_NONCE_NAME, true, false), '_wp_http_referer' => wp_referer_field(false), 'Go to Top' => __('Go to Top', 'media-library-assistant'), 'form_url' => admin_url('options-general.php') . '?page=mla-settings-menu-language&mla_tab=language', 'options_list' => ''); $options_list = ''; foreach (MLA_Polylang::$mla_language_option_definitions as $key => $value) { if ('language' == $value['tab']) { $options_list .= MLASettings::mla_compose_option_row($key, $value, MLA_Polylang::$mla_language_option_definitions); } } $page_values['options_list'] = $options_list; $page_template = MLAData::mla_load_template('admin-display-language-tab.tpl'); $page_content['body'] = MLAData::mla_parse_template($page_template, $page_values); return $page_content; }
/** * Initialization function, similar to __construct() * * This function contains add_action and add_filter calls * to set up the Ajax handlers, enqueue JavaScript and CSS files, and * set up the Assistant submenu. * * @since 0.1 * * @return void */ public static function initialize() { global $sitepress, $polylang; if ('checked' == MLAOptions::mla_get_option('enable_featured_image_generation')) { if (class_exists('MLA_Thumbnail')) { self::$mla_language_support_error_messages .= "<li>class MLA_Thumbnail</li>"; } else { require_once MLA_PLUGIN_PATH . 'includes/class-mla-thumbnail-generation.php'; MLA_Thumbnail::initialize(); } } /* * Check for WPML/Polylang presence before loading language support class, * then immediately initialize it since we're already in the "init" action. */ if (is_object($sitepress)) { if (class_exists('MLA_WPML')) { self::$mla_language_support_error_messages .= "<li>class MLA_WPML</li>"; } if (class_exists('MLA_WPML_List_Table')) { self::$mla_language_support_error_messages .= "<li>class MLA_WPML_List_Table</li>"; } if (class_exists('MLA_WPML_Table')) { self::$mla_language_support_error_messages .= "<li>class MLA_WPML_Table</li>"; } if (empty(self::$mla_language_support_error_messages)) { require_once MLA_PLUGIN_PATH . 'includes/class-mla-wpml-support.php'; MLA_WPML::initialize(); } } elseif (is_object($polylang)) { if (class_exists('MLAPolylangSupport')) { self::$mla_language_support_error_messages .= '<li>class MLAPolylangSupport in plugin "MLA Polylang Support"</li>'; } if (class_exists('MLA_Polylang')) { self::$mla_language_support_error_messages .= "<li>class MLA_Polylang</li>"; } if (empty(self::$mla_language_support_error_messages)) { require_once MLA_PLUGIN_PATH . 'includes/class-mla-polylang-support.php'; MLA_Polylang::initialize(); } } if (!empty(self::$mla_language_support_error_messages)) { add_action('admin_notices', 'MLA::mla_name_conflict_reporting_action'); } add_action('admin_init', 'MLA::mla_admin_init_action'); add_action('admin_enqueue_scripts', 'MLA::mla_admin_enqueue_scripts_action'); add_action('admin_menu', 'MLA::mla_admin_menu_action'); add_filter('set-screen-option', 'MLA::mla_set_screen_option_filter', 10, 3); // $status, $option, $value add_filter('screen_options_show_screen', 'MLA::mla_screen_options_show_screen_filter', 10, 2); // $show_screen, $this }