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:
authorJason <jason.daurus@gmail.com>2015-06-08 16:54:27 +0300
committerJason <jason.daurus@gmail.com>2015-06-08 16:54:27 +0300
commit4ecdba91002b688d60fa0bc0aa69b1645acde5cd (patch)
tree692c90acf34dfbacacea9f3321d5d52fdd7f8dfd /tbl_indexes.php
parent3169c5f48d94029e5ef9e46d1806cace54296700 (diff)
Refactoring tbl_indexes.lib.php & tbl_chart.lib.php
Signed-off-by: Jason <jason.daurus@gmail.com>
Diffstat (limited to 'tbl_indexes.php')
-rw-r--r--tbl_indexes.php95
1 files changed, 86 insertions, 9 deletions
diff --git a/tbl_indexes.php b/tbl_indexes.php
index 12e1ee7bc8..fec42e645c 100644
--- a/tbl_indexes.php
+++ b/tbl_indexes.php
@@ -11,21 +11,68 @@
*/
require_once 'libraries/common.inc.php';
require_once 'libraries/Index.class.php';
-require_once 'libraries/tbl_indexes.lib.php';
+require_once 'libraries/Template.class.php';
if (! isset($_REQUEST['create_edit_table'])) {
include_once 'libraries/tbl_common.inc.php';
}
+if (isset($_REQUEST['index'])) {
+ if (is_array($_REQUEST['index'])) {
+ // coming already from form
+ $index = new PMA_Index($_REQUEST['index']);
+ } else {
+ $index = $GLOBALS['dbi']->getTable($db, $table)
+ ->getIndex($_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'])) {
- PMA_handleCreateOrEditIndex($db, $table, $index);
+
+ $error = false;
+
+ $sql_query = $GLOBALS['dbi']->getTable($db, $table)
+ ->getSqlQueryForIndexCreateOrEdit($index, $error);
+
+ // If there is a request for SQL previewing.
+ if (isset($_REQUEST['preview_sql'])) {
+
+ PMA_Response::getInstance()->addJSON(
+ 'sql_data',
+ PMA\Template::get('preview_sql.phtml')
+ ->render(array(
+ 'query_data' => $sql_query
+ ))
+ );
+ } elseif (!$error) {
+
+ $GLOBALS['dbi']->query($sql_query);
+ if ($GLOBALS['is_ajax_request'] == true) {
+ $message = PMA_Message::success(
+ __('Table %1$s has been altered successfully.')
+ );
+ $message->addParam($table);
+ $response = PMA_Response::getInstance();
+ $response->addJSON(
+ 'message', PMA_Util::getMessage($message, $sql_query, 'success')
+ );
+ $response->addJSON('index_table', PMA_Index::getHtmlForIndexes($table, $db));
+ } else {
+ include 'tbl_structure.php';
+ }
+ } else {
+ $response = PMA_Response::getInstance();
+ $response->isSuccess(false);
+ $response->addJSON('message', $error);
+ }
+ exit;
} // end builds the new index
@@ -34,9 +81,19 @@ if (isset($_REQUEST['do_save_data'])) {
*/
require_once 'libraries/tbl_info.inc.php';
-$add_fields = PMA_getNumberOfFieldsForForm($index);
-
-$form_params = PMA_getFormParameters($db, $table);
+$add_fields = 0;
+if (isset($_REQUEST['index']) && is_array($_REQUEST['index'])) {
+ // coming already from form
+ if (isset($_REQUEST['index']['columns']['names'])) {
+ $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'];
+} // end preparing form values
// Get fields and stores their name/type
if (isset($_REQUEST['create_edit_table'])) {
@@ -47,13 +104,33 @@ if (isset($_REQUEST['create_edit_table'])) {
$index->set($index_params);
$add_fields = count($fields);
} else {
- $fields = PMA_getNameAndTypeOfTheColumns($db, $table);
+ $fields = $GLOBALS['dbi']->getTable($db, $table)->getNameAndTypeOfTheColumns();
}
-$html = PMA_getHtmlForIndexForm($fields, $index, $form_params, $add_fields);
+$form_params = array(
+ 'db' => $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'];
+}
$response = PMA_Response::getInstance();
-$response->addHTML($html);
+$response->addHTML(PMA\Template::get('index_form')
+ ->render(
+ array(
+ 'fields' => $fields,
+ 'index' => $index,
+ 'form_params' => $form_params,
+ 'add_fields' => $add_fields
+ )
+ )
+);
$header = $response->getHeader();
$scripts = $header->getScripts();
$scripts->addFile('indexes.js');