protected function automatic_service_selection() { if (defined('DOING_AJAX') || !$this->automatic_service_selection_pages()) { return; } $done = wp_cache_get('done', 'automatic_service_selection'); ICL_AdminNotifier::remove_message('automatic_service_selection'); if (!$done && defined('WPML_TP_DEFAULT_SUID')) { $selected_service = TranslationProxy::get_current_service(); if (isset($selected_service->suid) && $selected_service->suid == WPML_TP_DEFAULT_SUID) { return; } try { $service_by_suid = TranslationProxy_Service::get_service_by_suid(WPML_TP_DEFAULT_SUID); } catch (Exception $ex) { $service_by_suid = false; } if (isset($service_by_suid->id)) { $selected_service_id = isset($selected_service->id) ? $selected_service->id : false; if (!$selected_service_id || $selected_service_id != $service_by_suid->id) { if ($selected_service_id) { TranslationProxy::deselect_active_service(); } $result = TranslationProxy::select_service($service_by_suid->id); if (is_wp_error($result)) { $error_data = $result->get_error_data(); $error_data_string = false; foreach ($error_data as $key => $error_data_message) { $error_data_string .= $result->get_error_message() . '<br/>'; $error_data_string .= $key . ': <pre>' . print_r($error_data_message, true) . '</pre>'; $error_data_string .= $result->get_error_message() . $error_data_string; } } if (defined('WPML_TP_SERVICE_CUSTOM_FIELDS')) { TranslationProxy::authenticate_service($service_by_suid->id, WPML_TP_SERVICE_CUSTOM_FIELDS); } } } else { $error_data_string = __("WPML can't find the translation service specified in WPML_TP_DEFAULT_SUID constant. Please remove the constant or set the correct value.", 'wpml-translation-management'); } } if (isset($error_data_string)) { $automatic_service_selection_args = array('id' => 'automatic_service_selection', 'group' => 'automatic_service_selection', 'msg' => $error_data_string, 'type' => 'error', 'admin_notice' => true, 'hide' => false); ICL_AdminNotifier::add_message($automatic_service_selection_args); } wp_cache_set('done', true, 'automatic_service_selection'); }