plugin_localization(); // Check if WPML is active. If not display warning message and not load Sticky links if(!defined('ICL_SITEPRESS_VERSION') || ICL_PLUGIN_INACTIVE){ if ( !function_exists('is_multisite') || !is_multisite() ) { add_action('admin_notices', array($this, '_no_wpml_warning')); } return false; }elseif(version_compare(ICL_SITEPRESS_VERSION, '2.0.5', '<')){ add_action('admin_notices', array($this, '_old_wpml_warning')); return false; } if(is_admin()){ add_filter('icl_menu_main_page', array($this, '_icl_menu_main_page')); add_action('icl_wpml_top_menu_added', array($this, '_icl_hook_top_menu')); add_action('admin_menu', array($this,'menu')); add_action('admin_menu', array($this,'menu_fix_order'), 999); // force 'Translations' at the end add_filter('plugin_action_links', array($this, 'plugin_action_links'), 10, 2); if(!defined('DOING_AJAX')){ wp_enqueue_script('wpml-tm-scripts', WPML_TM_URL . '/res/js/scripts.js', array('jquery'), WPML_TM_VERSION); wp_enqueue_style('wpml-tm-styles', WPML_TM_URL . '/res/css/style.css', array(), WPML_TM_VERSION); wp_enqueue_style('wpml-tm-queue', WPML_TM_URL . '/res/css/translations-queue.css', array(), WPML_TM_VERSION); } add_action( 'admin_print_footer_scripts', array($this, 'wp_tiny_mce_preload_dialogs'), 30 ); add_action('icl_dashboard_widget_content_top', array($this, 'icl_dashboard_widget_content')); add_action('icl_post_languages_options_before', array($this, 'icl_post_languages_options_before')); // Add a nice warning message if the user tries to edit a post manually and it's actually in the process of being translated global $pagenow; if($pagenow == 'post-new.php' && isset($_GET['trid']) && isset($_GET['lang'])){ add_action('admin_notices', array($this, '_warn_editing_icl_translation')); } add_action('wp_ajax_dismiss_icl_side_by_site', array($this, 'dismiss_icl_side_by_site')); add_action('wp_ajax_icl_tm_parent_filter', array($this, '_icl_tm_parent_filter')); add_action('wp_ajax_icl_tm_toggle_promo', array($this, '_icl_tm_toggle_promo')); add_action('admin_footer', array($this, '_icl_nonce_for_ajx')); } } function _no_wpml_warning(){ ?>
setup() && 1 < count($sitepress->get_active_languages())) { $current_translator = $iclTranslationManagement->get_current_translator(); if(!empty($current_translator->language_pairs) || current_user_can('manage_options')){ if(current_user_can('manage_options')){ $top_page = apply_filters('icl_menu_main_page', basename(ICL_PLUGIN_PATH).'/menu/languages.php'); add_submenu_page(basename(WPML_TM_PATH) . '/menu/main.php', __('Translations','wpml-translation-management'), __('Translations','wpml-translation-management'), 'manage_options', WPML_TM_FOLDER.'/menu/translations-queue.php'); } else { add_menu_page(__('Translation interface','wpml-translation-management'), __('Translation interface','wpml-translation-management'), 'translate', WPML_TM_FOLDER.'/menu/translations-queue.php',null, ICL_PLUGIN_URL . '/res/img/icon16.png'); } } } } function menu_fix_order(){ global $submenu; if(!isset($submenu[WPML_TM_FOLDER . '/menu/main.php'])) return; // Make sure 'Translations' stays at the end $found = false; foreach($submenu[WPML_TM_FOLDER . '/menu/main.php'] as $id => $sm){ if($sm[2] == WPML_TM_FOLDER . '/menu/translations-queue.php'){ $found = $sm; unset($submenu[WPML_TM_FOLDER . '/menu/main.php'][$id]); break; } } if($found){ $submenu[WPML_TM_FOLDER . '/menu/main.php'][] = $found; } } function _warn_editing_icl_translation(){ global $wpdb; $translation_id = $wpdb->get_var($wpdb->prepare(" SELECT translation_id FROM {$wpdb->prefix}icl_translations WHERE trid=%d AND language_code='%s'" , $_GET['trid'], $_GET['lang'])); if($translation_id){ $translation_status = $wpdb->get_var($wpdb->prepare(" SELECT status FROM {$wpdb->prefix}icl_translation_status WHERE translation_id=%d" , $translation_id)); if($translation_status < ICL_TM_COMPLETE){ echo ''.
sprintf(__('Warning: You are trying to edit a translation that is currently in the process of being added using WPML.' , 'wpml-translation-management')) . '
'.
sprintf(__('Please refer to the Translation management dashboard for the exact status of this translation.' , 'wpml-translation-management'),
admin_url('admin.php?page='.WPML_TM_FOLDER.'/menu/main.php&')) . '