/**
  * 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&amp;mla_tab=documentation#mla_language_tab" title="' . __('Language Options documentation', 'media-library-assistant') . '">' . __('WPML &amp; 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;
 }
Example #2
0
 /**
  * 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
 }