Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/phpmyadmin/phpmyadmin.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSpun Nakandala <supun.nakandala@gmail.com>2013-08-21 18:36:43 +0400
committerSpun Nakandala <supun.nakandala@gmail.com>2013-08-21 18:36:43 +0400
commit69f5145eda684acd9ee5f86c2f851c1f4db37c89 (patch)
treefda7cd47bb2bbe37294f1febee45e39720a75424 /tbl_indexes.php
parentae6e4954587ac7747ece40f9a096a2288409ebbf (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.php135
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');
?>