diff options
author | Spun Nakandala <supun.nakandala@gmail.com> | 2013-08-21 18:36:43 +0400 |
---|---|---|
committer | Spun Nakandala <supun.nakandala@gmail.com> | 2013-08-21 18:36:43 +0400 |
commit | 69f5145eda684acd9ee5f86c2f851c1f4db37c89 (patch) | |
tree | fda7cd47bb2bbe37294f1febee45e39720a75424 /tbl_indexes.php | |
parent | ae6e4954587ac7747ece40f9a096a2288409ebbf (diff) |
removed display_indexes.lib.php. added tbl_display.lib.php and extracted methods from tbl_indexes.php to tbl_indexes.lib.php
Diffstat (limited to 'tbl_indexes.php')
-rw-r--r-- | tbl_indexes.php | 135 |
1 files changed, 18 insertions, 117 deletions
diff --git a/tbl_indexes.php b/tbl_indexes.php index 94d337d819..e095ded833 100644 --- a/tbl_indexes.php +++ b/tbl_indexes.php @@ -12,130 +12,17 @@ require_once 'libraries/common.inc.php'; require_once 'libraries/Index.class.php'; require_once 'libraries/tbl_common.inc.php'; +require_once 'libraries/tbl_indexes.lib.php'; -// Get fields and stores their name/type -$fields = array(); -foreach ($GLOBALS['dbi']->getColumnsFull($db, $table) as $row) { - if (preg_match('@^(set|enum)\((.+)\)$@i', $row['Type'], $tmp)) { - $tmp[2] = substr( - preg_replace('@([^,])\'\'@', '\\1\\\'', ',' . $tmp[2]), 1 - ); - $fields[$row['Field']] = $tmp[1] . '(' - . str_replace(',', ', ', $tmp[2]) . ')'; - } else { - $fields[$row['Field']] = $row['Type']; - } -} // end while - -// Prepares the form values -if (isset($_REQUEST['index'])) { - if (is_array($_REQUEST['index'])) { - // coming already from form - $index = new PMA_Index($_REQUEST['index']); - } else { - $index = PMA_Index::singleton($db, $table, $_REQUEST['index']); - } -} else { - $index = new PMA_Index; -} +$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'])) { - $error = false; - - // $sql_query is the one displayed in the query box - $sql_query = 'ALTER TABLE ' . PMA_Util::backquote($db) - . '.' . PMA_Util::backquote($table); - - // Drops the old index - if (! empty($_REQUEST['old_index'])) { - if ($_REQUEST['old_index'] == 'PRIMARY') { - $sql_query .= ' DROP PRIMARY KEY,'; - } else { - $sql_query .= ' DROP INDEX ' - . PMA_Util::backquote($_REQUEST['old_index']) . ','; - } - } // end if - - // Builds the new one - switch ($index->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) { - $GLOBALS['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(); - } - } + PMA_handleCreateOrEditIndex($db, $table, $index); } // end builds the new index @@ -143,5 +30,19 @@ if (isset($_REQUEST['do_save_data'])) { * Display the form to edit/create an index */ require_once 'libraries/tbl_info.inc.php'; -require_once 'libraries/display_indexes.lib.php'; + +$add_fields = PMA_getNumberOfFieldsForForm($index); + +$form_params = PMA_getFormParameters($db, $table); + +// Get fields and stores their name/type +$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'); ?> |