get_active_languages() as $lang){ $lang_server[$lang['code']] = ICL_Pro_Translation::server_languages_map($lang['english_name']); } if(!$this->icl_account_configured()){ $user['create_account'] = 1; $user['anon'] = 1; $user['platform_kind'] = 2; $user['cms_kind'] = 1; $user['blogid'] = $wpdb->blogid?$wpdb->blogid:1; $user['url'] = get_option('siteurl'); $user['title'] = get_option('blogname'); $user['description'] = @strval($this->settings['icl_site_description']); $user['is_verified'] = 1; if(defined('ICL_AFFILIATE_ID') && defined('ICL_AFFILIATE_KEY')){ $user['affiliate_id'] = ICL_AFFILIATE_ID; $user['affiliate_key'] = ICL_AFFILIATE_KEY; } $user['interview_translators'] = $this->settings['interview_translators']; $user['project_kind'] = 2; $user['pickup_type'] = intval($this->settings['translation_pickup_method']); $notifications = 0; if ( !empty($this->settings['icl_notify_complete'])){ $notifications += 1; } if ( $this->settings['alert_delay']){ $notifications += 2; } $user['notifications'] = $notifications; $user['ignore_languages'] = 0; $user['from_language1'] = $lang_server[$from_lang]; $user['to_language1'] = $lang_server[$to_lang]; list($site_id, $access_key) = $icl_query->createAccount($user); if($site_id && $access_key){ $this->settings['site_id'] = $iclsettings['site_id'] = $site_id; $this->settings['access_key'] = $iclsettings['access_key'] = $access_key; $iclsettings['language_pairs'][$from_lang][$to_lang] = 1; $this->save_settings($iclsettings); }else{ $user['pickup_type'] = ICL_PRO_TRANSLATION_PICKUP_POLLING; list($site_id, $access_key) = $icl_query->createAccount($user); if($site_id && $access_key){ $this->settings['site_id'] = $iclsettings['site_id'] = $site_id; $this->settings['access_key'] = $iclsettings['access_key'] = $access_key; $iclsettings['language_pairs'][$from_lang][$to_lang] = 1; $iclsettings['translation_pickup_method'] = ICL_PRO_TRANSLATION_PICKUP_POLLING; $this->save_settings($iclsettings); }else{ printf(__('

In order to enable ICanLocalize translation, your site needs to be on a public server (not localhost). Please contact us for support.

Show debug information.

', 'sitepress'), ' target="_blank" href="http://wpml.org/?page_id=5255"', ' a href="admin.php?page='.ICL_PLUGIN_FOLDER.'/menu/troubleshooting.php&icl_action=icl-connection-test&data='.base64_encode(serialize($user)).'#icl-connection-test"'); exit; } } }else{ $iclsettings['language_pairs'] = $this->settings['language_pairs']; $iclsettings['language_pairs'][$from_lang][$to_lang] = 1; $this->save_settings($iclsettings); // update account - add language pair $incr = 0; foreach($this->settings['language_pairs'] as $k=>$v){ foreach($v as $k2=>$v2){ $incr++; $data['from_language'.$incr] = $lang_server[$k]; $data['to_language'.$incr] = $lang_server[$k2]; } } $data['site_id'] = $this->settings['site_id']; $data['accesskey'] = $this->settings['access_key']; $data['create_account'] = 0; $icl_query->updateAccount($data); } $icl_query = new ICanLocalizeQuery($this->settings['site_id'], $this->settings['access_key']); $website_details = $icl_query->get_website_details(); if(empty($website_details)){ echo '

'; printf(__('There was a problem connecting to ICanLocalize. Please close this window and try again. If the problem persists please contact us.', 'sitepress'), ' target="_blank" href="http://wpml.org/?page_id=5255"'); echo '

'; exit; } $translation_languages = $website_details['translation_languages']['translation_language']; if(isset($translation_languages['attr'])){ $buff = $translation_languages; unset($translation_languages); $translation_languages[0] = $buff; unset($buff); } foreach((array)$translation_languages as $lpair){ if($lpair['attr']['from_language_name'] == $lang_server[$from_lang] && $lpair['attr']['to_language_name'] == $lang_server[$to_lang]){ $lang_pair_id = $lpair['attr']['id']; } } $target = ICL_API_ENDPOINT . '/websites/' . $this->settings['site_id'] . '/website_translation_offers/'.$lang_pair_id.'?accesskey=' . $this->settings['access_key'] . '&compact=1'; } $support_mode = isset($_GET['support']) ? $_GET['support'] : ''; if ($support_mode == '1') { $iclq = new ICanLocalizeQuery($this->settings['support_site_id'], $this->settings['support_access_key']); } else { $iclq = new ICanLocalizeQuery($this->settings['site_id'], $this->settings['access_key']); } $session_id = $iclq->get_current_session(true, $support_mode == '1'); $admin_lang = $this->get_admin_language(); if (isset($_GET['code'])) { $add = '&code=' . urlencode($_GET['code']); }else{ $add = ''; } if (strpos($target, '?') === false) { $target .= '?'; } else { $target .= '&'; } $target .= "session=" . $session_id . "&lc=" . $admin_lang . $add; $on_click = isset($_GET['message_id']) ? 'parent.dismiss_message(' . esc_js($_GET['message_id']) . ', \'' . wp_create_nonce('icl_delete_message_nonce') . '\');' : ''; $can_delete = isset($_GET['message_id']) ? $wpdb->get_var($wpd->prepare("SELECT can_delete FROM {$wpdb->prefix}icl_reminders WHERE id=%d", $_GET['message_id'])) == '1' : false; $image_path = ICL_PLUGIN_URL . '/res/img/web_logo_small.png'; echo '
'; ?>