/**
  * @param TranslationProxy_Service $service
  * @param string                   $delivery
  */
 public function __construct($service, $delivery = 'xmlrpc')
 {
     $this->service = $service;
     $this->errors = array();
     $icl_translation_projects = TranslationProxy::get_translation_projects();
     $project_index = self::generate_service_index($service);
     if ($project_index && $icl_translation_projects && isset($icl_translation_projects[$project_index])) {
         $project = $icl_translation_projects[$project_index];
         $this->id = $project['id'];
         $this->access_key = $project['access_key'];
         $this->ts_id = $project['ts_id'];
         $this->ts_access_key = $project['ts_access_key'];
         $this->service->delivery_method = $delivery;
     }
 }
 public function enqueue_migration_in_tp()
 {
     global $sitepress;
     remove_filter('otgs_translation_get_services', 'filter_tp_services');
     $site_id = $sitepress->get_setting('site_id');
     $access_key = $sitepress->get_setting('access_key');
     $delivery = wpml_get_setting_filter(false, 'translation_pickup_method');
     $delivery = $delivery === 'polling' ? 'polling' : 'xmlrpc';
     $service = TranslationProxy_Service::get_service($this->get_icl_service_id());
     $params = array('project' => array('ts_accesskey' => $access_key, 'external_id' => $site_id, 'delivery_method' => $delivery, 'url' => get_option('siteurl'), 'name' => get_option('blogname'), 'description' => get_option('blogdescription'), 'suid' => isset($service->suid) ? $service->suid : ""));
     $project = false;
     $error_data = false;
     try {
         $response = TranslationProxy_Api::proxy_request('/projects/migrate.json', $params, 'POST');
         if (isset($response->project)) {
             $project = (array) $response->project;
             $project_index = $this->icl_project_hash_key();
             $projects = TranslationProxy::get_translation_projects();
             $projects[$project_index] = $project;
             icl_set_setting('icl_translation_projects', $projects, true);
             icl_set_setting('translation_service', TranslationProxy_Service::get_service($this->get_icl_service_id()), true);
         }
     } catch (Exception $e) {
         $error_data = $params;
     }
     if (!$error_data) {
         $this->move_finished_jobs_to_batch();
         if (defined('ICL_DEBUG_MODE') && ICL_DEBUG_MODE) {
             $this->regenerate_wrong_service_data();
         }
     }
     return array($project, $error_data);
 }