/** * @param TranslationProxy_Service $service * @param bool $force * * @throw TranslationProxy_Project * @return TranslationProxy_Project */ public static function create_project($service, $force = false) { // Recover existing project on the service $icl_translation_projects = self::get_translation_projects(); $delivery_method = self::get_delivery_method(); $delivery = $delivery_method == ICL_PRO_TRANSLATION_PICKUP_XMLRPC ? "xmlrpc" : "polling"; $project_index = TranslationProxy_Project::generate_service_index($service); if (!$force && isset($icl_translation_projects[$project_index])) { $project = self::load_existing_project($service, $delivery); } else { $url = get_option('siteurl'); $name = get_option('blogname'); $description = get_option('blogdescription'); $blog_id = get_current_blog_id(); $affiliate_id = defined('ICL_AFFILIATE_ID') ? ICL_AFFILIATE_ID : ''; $affiliate_key = defined('ICL_AFFILIATE_KEY') ? ICL_AFFILIATE_KEY : ''; $project = new TranslationProxy_Project($service); $result = $project->create($url, $name, $description, $blog_id, $delivery, $affiliate_key, $affiliate_id); if (!$result || count($project->errors)) { self::append_errors($project->errors); return false; } } return $project; }
/** * @param TranslationProxy_Service $service * @param bool $force * * @throw TranslationProxy_Project * @return TranslationProxy_Project */ private static function create_project($service, $force = false) { $icl_translation_projects = self::get_translation_projects(); $delivery_method = self::get_delivery_method(); $delivery = $delivery_method == ICL_PRO_TRANSLATION_PICKUP_XMLRPC ? "xmlrpc" : "polling"; $project_index = TranslationProxy_Project::generate_service_index($service); if (!$force && isset($icl_translation_projects[$project_index])) { $project = self::load_existing_project($service, $delivery); } else { $url = get_option('siteurl'); $name = get_option('blogname'); $description = get_option('blogdescription'); $project = new TranslationProxy_Project($service); $site_key = WP_Installer()->get_site_key('wpml'); $result = $project->create($url, $name, $description, $delivery, $site_key); if (!$result || count($project->errors)) { self::append_errors($project->errors); $project = false; } } return $project; }