function init() { global $sitepress; $this->init_comments_synchronization(); $this->init_default_settings(); $this->init_current_translator(); if (!$this->current_translator) { return; } WPML_Config::load_config(); if (isset($_POST['icl_tm_action'])) { $this->process_request($_POST); } elseif (isset($_GET['icl_tm_action'])) { $this->process_request($_GET); } if (is_admin()) { if ($GLOBALS['pagenow'] == 'edit.php') { // use standard WP admin notices add_action('admin_notices', array($this, 'show_messages')); } else { // use custom WP admin notices add_action('icl_tm_messages', array($this, 'show_messages')); } if ($this->current_page_is('translations-queue.php') && isset($_GET['job_id'])) { add_filter('admin_head', array($this, '_show_tinyMCE')); } if (isset($this->settings['doc_translation_method']) && $this->settings['doc_translation_method'] < 0) { if ($this->current_subpage_is('mcsetup') && isset($_GET['src']) && $_GET['src'] == 'notice') { $this->settings['doc_translation_method'] = ICL_TM_TMETHOD_MANUAL; $this->save_settings(); } else { add_action('admin_notices', array($this, '_translation_method_notice')); } } if (defined('WPML_TM_VERSION') && $this->current_page_is(WPML_TM_FOLDER . '/menu/main.php', 'translators')) { $lang_status = TranslationProxy_Translator::get_icl_translator_status(); if (!empty($lang_status)) { $sitepress->save_settings($lang_status); } } // default settings if (empty($this->settings['doc_translation_method']) || !defined('WPML_TM_VERSION')) { $this->settings['doc_translation_method'] = ICL_TM_TMETHOD_MANUAL; } } }
function create_icl_account() { global $sitepress; $site_id = false; $access_key = false; $user = $this->create_user_account(); require_once ICL_PLUGIN_PATH . '/lib/icl_api.php'; $icl_query = new ICanLocalizeQuery(); list($site_id, $access_key) = $icl_query->createAccount($user, TA_URL_ENDPOINT); if (!$site_id) { $user['pickup_type'] = ICL_PRO_TRANSLATION_PICKUP_POLLING; list($site_id, $access_key) = $icl_query->createAccount($user, TA_URL_ENDPOINT); } if ($site_id) { if ($user['pickup_type'] == ICL_PRO_TRANSLATION_PICKUP_POLLING) { $sitepress->set_setting('translation_pickup_method', ICL_PRO_TRANSLATION_PICKUP_POLLING); } $icl_query = new ICanLocalizeQuery($site_id, $access_key); $website_details = $icl_query->get_website_details(TA_URL_ENDPOINT); TranslationProxy_Translator::get_icl_translator_status($website_details); } return array($site_id, $access_key); }
private function service_has_accepted_translators() { $result = false; $icl_data = TranslationProxy_Translator::get_icl_translator_status(); if (isset($icl_data['icl_lang_status']) && is_array($icl_data['icl_lang_status'])) { foreach ($icl_data['icl_lang_status'] as $translator) { if (isset($translator['contract_id']) && $translator['contract_id'] != 0) { $result = true; break; } } } return $result; }
/** * Handles the display of notices in the TM translators tab */ private function handle_notices() { global $sitepress; $lang_status = TranslationProxy_Translator::get_icl_translator_status(); if (!empty($lang_status)) { $sitepress->save_settings($lang_status); } if (!defined('DOING_AJAX')) { $this->service_incomplete_local_jobs_notice(); $this->service_authentication_notice(); } }
/** * Return translator status array. * * @param bool $force * * @return array */ public function get_icl_translator_status($force = false) { return TranslationProxy_Translator::get_icl_translator_status($force); }
public function get_icl_translators() { remove_filter('otgs_translation_get_services', 'filter_tp_services'); $icl_data = TranslationProxy_Translator::get_icl_translator_status(); return isset($icl_data['icl_lang_status']) ? $icl_data['icl_lang_status'] : array(); }