/**
  * Tests for PMA_getFormParameters() method.
  *
  * @return void
  * @test
  */
 public function testPMAGetFormParameters()
 {
     $db = "pma_db";
     $table = "pma_table";
     $form_params = PMA_getFormParameters($db, $table);
     $expect = array('db' => $db, 'table' => $table);
     $this->assertEquals($expect, $form_params);
     $_REQUEST['index'] = "index";
     $form_params = PMA_getFormParameters($db, $table);
     $expect = array('db' => $db, 'table' => $table, 'old_index' => $_REQUEST['index']);
     $this->assertEquals($expect, $form_params);
     $_REQUEST['old_index'] = "old_index";
     $form_params = PMA_getFormParameters($db, $table);
     $expect = array('db' => $db, 'table' => $table, 'old_index' => $_REQUEST['old_index']);
     $this->assertEquals($expect, $form_params);
     $_REQUEST['create_index'] = "create_index";
     $form_params = PMA_getFormParameters($db, $table);
     $expect = array('db' => $db, 'table' => $table, 'create_index' => 1);
     $this->assertEquals($expect, $form_params);
 }
예제 #2
0
$index = PMA_prepareFormValues($db, $table);
/**
 * Process the data from the edit/create index form,
 * run the query to build the new index
 * and moves back to "tbl_sql.php"
 */
if (isset($_REQUEST['do_save_data'])) {
    PMA_handleCreateOrEditIndex($db, $table, $index);
}
// end builds the new index
/**
 * Display the form to edit/create an index
 */
require_once 'libraries/tbl_info.inc.php';
$add_fields = PMA_getNumberOfFieldsForForm($index);
$form_params = PMA_getFormParameters($db, $table);
// Get fields and stores their name/type
if (isset($_REQUEST['create_edit_table'])) {
    $fields = json_decode($_REQUEST['columns'], true);
    $index_params = array('Non_unique' => $_REQUEST['index']['Index_type'] == 'UNIQUE' ? '0' : '1');
    $index->set($index_params);
    $add_fields = count($fields);
} else {
    $fields = PMA_getNameAndTypeOfTheColumns($db, $table);
}
$html = PMA_getHtmlForIndexForm($fields, $index, $form_params, $add_fields);
$response = PMA_Response::getInstance();
$response->addHTML($html);
$header = $response->getHeader();
$scripts = $header->getScripts();
$scripts->addFile('indexes.js');