function ajax_calls($call, $data)
 {
     global $sitepress_settings, $sitepress;
     switch ($call) {
         case 'set_pickup_mode':
             $method = intval($data['icl_translation_pickup_method']);
             $iclsettings['translation_pickup_method'] = $method;
             $sitepress->save_settings($iclsettings);
             if (!empty($sitepress_settings)) {
                 $data['site_id'] = $sitepress_settings['site_id'];
                 $data['accesskey'] = $sitepress_settings['access_key'];
                 $data['create_account'] = 0;
                 $data['pickup_type'] = $method;
                 $icl_query = new ICanLocalizeQuery();
                 $res = $icl_query->updateAccount($data);
             }
             if ($method == ICL_PRO_TRANSLATION_PICKUP_XMLRPC) {
                 wp_clear_scheduled_hook('icl_hourly_translation_pickup');
             } else {
                 wp_schedule_event(time(), 'hourly', 'icl_hourly_translation_pickup');
             }
             echo json_encode(array('message' => 'OK'));
             break;
         case 'pickup_translations':
             if ($sitepress_settings['translation_pickup_method'] == ICL_PRO_TRANSLATION_PICKUP_POLLING) {
                 $fetched = $this->poll_for_translations(true);
                 echo json_encode(array('message' => 'OK', 'fetched' => urlencode(' ' . sprintf(__('Fetched %d translations.', 'sitepress'), $fetched))));
             } else {
                 echo json_encode(array('error' => __('Manual pick up is disabled.', 'sitepress')));
             }
             break;
     }
 }
 /**
  * Synchronizes language pairs with ICL
  *
  * @global object $sitepress
  *
  * @param $project
  * @param $language_pairs
  *
  */
 public static function update_language_pairs($project, $language_pairs)
 {
     /** @var WPML_Pro_Translation $ICL_Pro_Translation */
     global $sitepress, $ICL_Pro_Translation;
     $params = array('site_id' => $project->ts_id, 'accesskey' => $project->ts_access_key, 'create_account' => 0);
     $lang_server = array();
     foreach ($sitepress->get_active_languages() as $lang) {
         $lang_server[$lang['code']] = $ICL_Pro_Translation->server_languages_map($lang['english_name']);
     }
     // update account - add language pair
     $incr = 0;
     foreach ($language_pairs as $k => $v) {
         if (!array_key_exists($k, $lang_server)) {
             unset($language_pairs[$k]);
             continue;
         }
         foreach ($v as $k2 => $v2) {
             if (!array_key_exists($k2, $lang_server)) {
                 unset($language_pairs[$k][$k2]);
                 if ((bool) $language_pairs[$k] === false) {
                     unset($language_pairs[$k]);
                 }
                 continue;
             }
             $incr++;
             $params['from_language' . $incr] = $lang_server[$k];
             $params['to_language' . $incr] = $lang_server[$k2];
         }
     }
     require_once ICL_PLUGIN_PATH . '/lib/Snoopy.class.php';
     require_once ICL_PLUGIN_PATH . '/lib/xml2array.php';
     require_once ICL_PLUGIN_PATH . '/lib/icl_api.php';
     $icl_query = new ICanLocalizeQuery();
     $icl_query->updateAccount($params);
 }
 /**
  * Synchronizes language pairs with ICL
  *
  * @global object $sitepress
  *
  * @param $project
  * @param $language_pairs
  *
  */
 public static function update_language_pairs($project, $language_pairs)
 {
     global $sitepress;
     $params = array('site_id' => $project->ts_id, 'accesskey' => $project->ts_access_key, 'create_account' => 0);
     $lang_server = array();
     foreach ($sitepress->get_active_languages() as $lang) {
         $lang_server[$lang['code']] = WPML_Pro_Translation::server_languages_map($lang['english_name']);
     }
     // update account - add language pair
     $incr = 0;
     foreach ($language_pairs as $k => $v) {
         foreach ($v as $k2 => $v2) {
             $incr++;
             $params['from_language' . $incr] = $lang_server[$k];
             $params['to_language' . $incr] = $lang_server[$k2];
         }
     }
     require_once ICL_PLUGIN_PATH . '/lib/Snoopy.class.php';
     require_once ICL_PLUGIN_PATH . '/lib/xml2array.php';
     require_once ICL_PLUGIN_PATH . '/lib/icl_api.php';
     $icl_query = new ICanLocalizeQuery();
     $icl_query->updateAccount($params);
 }
         }
     }
     $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 '<p class="error">';
     printf(__('There was a problem connecting to ICanLocalize. Please close this window and try again. If the problem persists please <a%s>contact us</a>.', 'sitepress'), ' target="_blank" href="http://wpml.org/?page_id=5255"');
     echo '</p>';
     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);
         $sitepress->get_icl_translator_status($iclsettings);
         $sitepress->save_settings($iclsettings);
     }
     /**
      * Update account
      */
 } else {
     $data = array();
     $data['word_count'] = $word_count;
     $data['wc_description'] = $wc_description;
     $data['site_id'] = $site_id = $sitepress_settings['site_id'];
     $data['accesskey'] = $access_key = $sitepress_settings['access_key'];
     $data['ignore_languages'] = 1;
     require_once ICL_PLUGIN_PATH . '/lib/icl_api.php';
     $icl_query = new ICanLocalizeQuery();
     if ($icl_query->updateAccount($data) !== 0) {
         $saved = $sitepress_settings['quote-get'];
         $saved['step'] = 3;
         $sitepress->save_settings(array('quote-get' => $saved));
         echo __('An unknown error has occurred when communicating with the ICanLocalize server. Please try again.', 'sitepress') . '<br /><br />';
         require_once ICL_PLUGIN_PATH . '/inc/quote/quote-get.php';
         exit;
     }
 }
 /**
  * Set URL query
  */
 $language_pairs = array($saved['from'] => $saved['to']);
 $lang_pairs = array();
 $incr = 1;
 $query = '';