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:
authorDeven Bansod <devenbansod.bits@gmail.com>2015-06-29 11:03:42 +0300
committerDeven Bansod <devenbansod.bits@gmail.com>2015-06-29 11:03:42 +0300
commit2e6abf3cb25d649aee3af3ea08ab1b9c8f844114 (patch)
tree52baf1abf0026c19e85f1f5eb7e1f08b948c088d /db_designer.php
parente46c645837aac374e256bd21acdd4c3c13189b18 (diff)
Modified structure for pma__designer_settings table
Signed-off-by: Deven Bansod <devenbansod.bits@gmail.com>
Diffstat (limited to 'db_designer.php')
-rw-r--r--db_designer.php40
1 files changed, 34 insertions, 6 deletions
diff --git a/db_designer.php b/db_designer.php
index f776cad9f4..79eb6b3732 100644
--- a/db_designer.php
+++ b/db_designer.php
@@ -93,13 +93,41 @@ if (isset($_REQUEST['operation'])) {
&& ! empty($cfgDesigner['table'])
&& $GLOBALS['cfgRelation']['designer_settingswork']
) {
- $query = 'INSERT INTO ' . PMA_Util::backquote($cfgDesigner['db'])
- . '.' . PMA_Util::backquote($cfgDesigner['table'])
- . ' VALUES("' . $cfgDesigner['user'] . '", "'
- . $_REQUEST['index'] . '", "' . $_REQUEST['value'] . '") ON DUPLICATE KEY '
- . 'UPDATE `stored_value` = "' . $_REQUEST['value'] . '";';
+ $orig_data_query = 'SELECT ' . PMA_Util::backquote('settings_data')
+ . ' FROM `' . $cfgDesigner['db'] . '`.`' . $cfgDesigner['table'] . '` WHERE '
+ . PMA_Util::backquote('username') . ' = "'
+ . $cfgDesigner['user'] . '"';
+
+ $orig_data = $GLOBALS['dbi']->fetchSingleRow($orig_data_query);
+
+ $success = false;
+
+ if (isset($orig_data)
+ && ! empty($orig_data)
+ && $orig_data
+ ) {
+ $orig_data = json_decode($orig_data['settings_data'], true);
+ $orig_data[$_REQUEST['index']] = $_REQUEST['value'];
+ $orig_data = json_encode($orig_data);
+
+ $save_query = 'UPDATE `' . $cfgDesigner['db'] . '`.`'
+ . $cfgDesigner['table'] . '` SET '
+ . PMA_Util::backquote('settings_data') . ' = \''
+ . $orig_data . '\' WHERE ' . PMA_Util::backquote('username') . ' = "'
+ . $cfgDesigner['user'] . '";';
+
+ $success = $GLOBALS['dbi']->query($save_query);
+ } else {
+ $save_data = array($_REQUEST['index'] => $_REQUEST['value']);
+
+ $query = 'INSERT INTO ' . PMA_Util::backquote($cfgDesigner['db'])
+ . '.' . PMA_Util::backquote($cfgDesigner['table'])
+ . ' VALUES("' . PMA_Util::sqlAddSlashes($cfgDesigner['user']) . '", \''
+ . PMA_Util::sqlAddSlashes(json_encode($save_data)) . '\');';
+
+ $success = $GLOBALS['dbi']->query($query);
+ }
- $success = $GLOBALS['dbi']->query($query);
$response->isSuccess($success);
}
}