public function render_ui()
 {
     if (TranslationProxy::get_tp_default_suid()) {
         $clear_ts = new WPML_TM_Troubleshooting_Clear_TS_UI();
         $clear_ts->show();
     }
 }
 private 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');
     $tp_default_suid = TranslationProxy::get_tp_default_suid();
     if (!$done && $tp_default_suid) {
         $selected_service = TranslationProxy::get_current_service();
         if (isset($selected_service->suid) && $selected_service->suid == $tp_default_suid) {
             return;
         }
         try {
             $service_by_suid = TranslationProxy_Service::get_service_by_suid($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;
                     }
                 }
             }
         } else {
             $error_data_string = __("WPML can't find the translation service. Please contact WPML Support or your translation service provider.", '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');
 }
    public function build_content_translation_services()
    {
        $has_errors = false;
        $reload = filter_input(INPUT_GET, 'reload_services', FILTER_VALIDATE_BOOLEAN);
        $services = TranslationProxy::services($reload);
        $has_errors |= icl_handle_error($services);
        if (TranslationProxy::$errors) {
            $has_errors |= true;
            foreach (TranslationProxy::$errors as $error) {
                icl_handle_error($error);
            }
        }
        $active_service = TranslationProxy::get_current_service();
        if (is_wp_error($active_service)) {
            $has_errors |= icl_handle_error($active_service);
            $active_service = false;
        }
        $service_activation_button_class = 'button-primary';
        if ($active_service) {
            $service_activation_button_class = 'button-secondary';
        }
        ?>
		<div class="js-available-services">
			<?php 
        if (!TranslationProxy::get_tp_default_suid()) {
            echo $this->wpml_refresh_translation_services_button();
        }
        if ($this->translation_service_has_translators($active_service)) {
            echo $this->flush_website_details_cache_button();
        }
        if (!$has_errors) {
            ?>
                <div class="icl-current-service">
                    <?php 
            if ($active_service) {
                ?>
                        <div class="img-wrap">
                            <img src="<?php 
                echo $active_service->logo_url;
                ?>
"
                                 alt="<?php 
                echo $active_service->name;
                ?>
"/>
                        </div>

                        <div class="desc">
                            <?php 
                if (!TranslationProxy::get_tp_default_suid()) {
                    ?>
                                <h3><?php 
                    _e('Current service', 'wpml-translation-management');
                    ?>
</h3>
                            <?php 
                }
                ?>
                            <h4><?php 
                echo $active_service->name;
                ?>
</h4>

                            <p>
                                <?php 
                echo $active_service->description;
                ?>
                            </p>
                            <?php 
                echo translation_service_details($active_service, true);
                do_action('translation_service_authentication');
                ?>
                        </div>
                        <?php 
            }
            ?>
                </div>
                <?php 
            if (!TranslationProxy::get_tp_default_suid() && !empty($services)) {
                ?>
                    <ul class="icl-available-services">
                        <?php 
                foreach ($services as $service) {
                    $state = $active_service && $service->id == $active_service->id ? "active" : "inactive";
                    if ($state === 'inactive') {
                        ?>
                                <li>
                                    <div class="img-wrap js-activate-service"
                                         data-target-id="<?php 
                        echo $service->id;
                        ?>
">
                                        <img src="<?php 
                        echo $service->logo_url;
                        ?>
"
                                             alt="<?php 
                        echo $service->name;
                        ?>
"/>
                                    </div>
                                    <h4><?php 
                        echo $service->name;
                        ?>
</h4>

                                    <p>
                                        <?php 
                        echo $service->description;
                        ?>
                                        <?php 
                        echo translation_service_details($active_service, true);
                        ?>
                                    </p>

                                    <p>
                                        <button type="submit"
                                                class="js-activate-service-id <?php 
                        echo $service_activation_button_class;
                        ?>
"
                                                data-id="<?php 
                        echo $service->id;
                        ?>
"
                                                data-custom-fields="<?php 
                        echo esc_attr(wp_json_encode($service->custom_fields));
                        ?>
">
                                            <?php 
                        _e('Activate', 'wpml-translation-management');
                        ?>
                                        </button>
                                        <?php 
                        if (isset($service->doc_url) && $service->doc_url) {
                            ?>
                                            &nbsp;<a href="<?php 
                            echo $service->doc_url;
                            ?>
"
                                                     target="_blank"><?php 
                            echo __('Documentation', 'wpml-translation-management');
                            ?>
</a>
                                            <?php 
                        }
                        ?>
                                    </p>
                                </li>
                                <?php 
                    }
                }
                ?>
                    </ul>
                    <?php 
            }
        }
        ?>
		</div>
		<?php 
    }