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_Util::backquote($index->getName()) : ''); break; } // end switch $index_fields = array(); foreach ($index->getColumns() as $key => $column) { $index_fields[$key] = PMA_Util::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 (PMA_MYSQL_INT_VERSION > 50500) { $sql_query .= "COMMENT '" . PMA_Util::sqlAddSlashes($index->getComment()) . "'"; } $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_Util::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 ?>
$db, 'table' => $table, ); if (isset($_REQUEST['create_index'])) { $form_params['create_index'] = 1; } elseif (isset($_REQUEST['old_index'])) { $form_params['old_index'] = $_REQUEST['old_index']; } elseif (isset($_REQUEST['index'])) { $form_params['old_index'] = $_REQUEST['index']; } echo PMA_generate_common_hidden_inputs($form_params); ?>
50500) { ?>
getColumns() as $column) { ?>
' ); echo '' . "\n"; ?> '; echo '
'; echo ''; echo '
'; } ?>