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) . ')'; } 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) { $extra_data['index_table'] = PMA_Index::getView($table, $db); $extra_data['sql_query'] = PMA_showMessage(null, $sql_query); PMA_ajaxResponse($message, $message->isSuccess(), $extra_data); } $active_page = 'tbl_structure.php'; include './tbl_structure.php'; exit; } else { if ( $GLOBALS['is_ajax_request'] == true) { $extra_data['error'] = $error; PMA_ajaxResponse($error, false); } $error->display(); } } // end builds the new index /** * Display the form to edit/create an index */ // Displays headers (if needed) $GLOBALS['js_include'][] = 'indexes.js'; require_once './libraries/tbl_info.inc.php'; if ($GLOBALS['is_ajax_request'] != true) { include_once './libraries/tbl_links.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 ?>