function wpsolr_admin_action_form_temporary_index(&$response_object) { // recaptcha response $g_recaptcha_response = isset($_POST['g-recaptcha-response']) ? $_POST['g-recaptcha-response'] : ''; // A recaptcha response must be set if (empty($g_recaptcha_response)) { return; } $form_data = WpSolrExtensions::extract_form_data(true, array('managed_solr_service_id' => array('default_value' => '', 'can_be_empty' => false))); $managed_solr_server = new OptionManagedSolrServer($form_data['managed_solr_service_id']['value']); $response_object = $managed_solr_server->call_rest_create_solr_index($g_recaptcha_response); if (isset($response_object) && OptionManagedSolrServer::is_response_ok($response_object)) { $option_indexes_object = new OptionIndexes(); $option_indexes_object->create_index($managed_solr_server->get_id(), OptionIndexes::STORED_INDEX_TYPE_MANAGED_TEMPORARY, OptionManagedSolrServer::get_response_result($response_object, 'urlCore'), 'Test index from ' . $managed_solr_server->get_label(), OptionManagedSolrServer::get_response_result($response_object, 'urlScheme'), OptionManagedSolrServer::get_response_result($response_object, 'urlDomain'), OptionManagedSolrServer::get_response_result($response_object, 'urlPort'), '/' . OptionManagedSolrServer::get_response_result($response_object, 'urlPath') . '/' . OptionManagedSolrServer::get_response_result($response_object, 'urlCore'), OptionManagedSolrServer::get_response_result($response_object, 'key'), OptionManagedSolrServer::get_response_result($response_object, 'secret')); // Redirect automatically to Solr options if it is the first solr index created if (count($option_indexes_object->get_indexes()) === 1) { $redirect_location = '?page=solr_settings&tab=solr_option'; header("Location: {$redirect_location}", true, 302); // wp_redirect() is not found exit; } } }
/** * Included file to display admin options */ global $license_manager; WpSolrExtensions::require_once_wpsolr_extension(WpSolrExtensions::OPTION_INDEXES, true); // Options name $option_name = OptionIndexes::get_option_name(WpSolrExtensions::OPTION_INDEXES); // Options object $option_object = new OptionIndexes(); ?> <?php global $response_object, $google_recaptcha_site_key, $google_recaptcha_token; $is_submit_button_form_temporary_index = isset($_POST['submit_button_form_temporary_index']); $form_data = WpSolrExtensions::extract_form_data($is_submit_button_form_temporary_index, array('managed_solr_service_id' => array('default_value' => '', 'can_be_empty' => false))); ?> <div id="solr-hosting-tab"> <?php // Options data. Loaded after the POST, to be sure it contains the posted data. $option_data = OptionIndexes::get_option_data(WpSolrExtensions::OPTION_INDEXES); $subtabs = array(); // Create the tabs from the Solr indexes already configured foreach ($option_object->get_indexes() as $index_indice => $index) { $subtabs[$index_indice] = isset($index['index_name']) ? $index['index_name'] : 'Index with no name'; } $subtabs['new_index'] = count($option_object->get_indexes()) > 0 ? $license_manager->show_premium_link(OptionLicenses::LICENSE_PACKAGE_CORE, 'Configure another index', false) : 'Configure your first index'; // Create subtabs on the left side $subtab = wpsolr_admin_sub_tabs($subtabs);
break; default: $managed_solr_server = new OptionManagedSolrServer($managed_solr_service_id); /* * Form logout ? */ $is_submit_form_logout = isset($_POST['submit-form-logout']); if ($is_submit_form_logout) { // Clear the managed service token $managed_solr_server->set_service_option('token', ''); } /* * Form signin ? */ $is_submit_form_signin = isset($_POST['submit-form-signin']); $form_data = WpSolrExtensions::extract_form_data($is_submit_form_signin, array('email' => array('default_value' => wp_get_current_user()->user_email, 'is_email' => true), 'password' => array('default_value' => '', 'can_be_empty' => false))); if ($is_submit_form_signin) { if (!$form_data['is_error']) { $result_object = $managed_solr_server->call_rest_signin($form_data['email']['value'], $form_data['password']['value']); if (OptionManagedSolrServer::is_response_ok($result_object)) { $token = OptionManagedSolrServer::get_response_result($result_object, 'token'); $managed_solr_server->set_service_option('token', $token); } } } // Display a signin form if ('' != $managed_solr_server->get_service_option('token')) { WpSolrExtensions::require_with(WpSolrExtensions::get_option_template_file(WpSolrExtensions::OPTION_MANAGED_SOLR_SERVERS, 'template-my-accounts.php'), array('form_data' => $form_data, 'managed_solr_server' => $managed_solr_server, 'option_name' => $option_name)); } else { WpSolrExtensions::require_with(WpSolrExtensions::get_option_template_file(WpSolrExtensions::OPTION_MANAGED_SOLR_SERVERS, 'template-signin-form.php'), array('form_data' => $form_data, 'managed_solr_server' => $managed_solr_server, 'option_name' => $option_name)); }