getType()) { case 'PRIMARY': if ($index->getName() == '') { $index->setName('PRIMARY'); } elseif ($index->getName() != 'PRIMARY') { $error = PMA_Message::error(__( 'The name of the primary key must be "PRIMARY"!')); } $sql_query .= ' ADD PRIMARY KEY'; break; case 'FULLTEXT': case 'UNIQUE': case 'INDEX': case 'SPATIAL': if ($index->getName() == 'PRIMARY') { $error = PMA_Message::error(__('Can\'t rename index to PRIMARY!')); } $sql_query .= ' ADD ' . $index->getType() . ' ' . ($index->getName() ? PMA_backquote($index->getName()) : ''); break; } // end switch $index_fields = array(); foreach ($index->getColumns() as $key => $column) { $index_fields[$key] = PMA_backquote($column->getName()); if ($column->getSubPart()) { $index_fields[$key] .= '(' . $column->getSubPart() . ')'; } } // end while if (empty($index_fields)) { $error = PMA_Message::error(__('No index parts defined!')); } else { $sql_query .= ' (' . implode(', ', $index_fields) . ')'; } $sql_query .= ';'; if (! $error) { PMA_DBI_query($sql_query); $message = PMA_Message::success(__( 'Table %1$s has been altered successfully')); $message->addParam($table); if ($GLOBALS['is_ajax_request'] == true) { $response = PMA_Response::getInstance(); $response->addJSON('message', $message); $response->addJSON('index_table', PMA_Index::getView($table, $db)); $response->addJSON('sql_query', PMA_getMessage(null, $sql_query)); } else { $active_page = 'tbl_structure.php'; include 'tbl_structure.php'; } exit; } else { if ($GLOBALS['is_ajax_request'] == true) { $response = PMA_Response::getInstance(); $response->isSuccess(false); $response->addJSON('message', $error); exit; } else { $error->display(); } } } // end builds the new index /** * Display the form to edit/create an index */ // Displays headers (if needed) $response = PMA_Response::getInstance(); $header = $response->getHeader(); $scripts = $header->getScripts(); $scripts->addFile('indexes.js'); require_once 'libraries/tbl_info.inc.php'; if (isset($_REQUEST['index']) && is_array($_REQUEST['index'])) { // coming already from form $add_fields = count($_REQUEST['index']['columns']['names']) - $index->getColumnCount(); if (isset($_REQUEST['add_fields'])) { $add_fields += $_REQUEST['added_fields']; } } elseif (isset($_REQUEST['create_index'])) { $add_fields = $_REQUEST['added_fields']; } else { $add_fields = 1; } // end preparing form values ?>