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:
authorHugues Peccatte <hugues.peccatte@gmail.com>2014-02-23 17:52:48 +0400
committerHugues Peccatte <hugues.peccatte@gmail.com>2014-02-23 17:52:48 +0400
commit8b84cf0d91669b4a359b2f20bb014a95d7b64013 (patch)
treec06a07397d770855df4eb869177b3371abc536d4 /db_qbe.php
parentb7f5acff6b5c7bcc61cea2808a0bedc0bc317aa5 (diff)
Feature #569 Load/Save Query By Example
Implement possibility to save/load/delete a QBE on a DB. Signed-off-by: Hugues Peccatte <hugues.peccatte@gmail.com>
Diffstat (limited to 'db_qbe.php')
-rw-r--r--db_qbe.php43
1 files changed, 42 insertions, 1 deletions
diff --git a/db_qbe.php b/db_qbe.php
index e1ed199d1f..37845edbb4 100644
--- a/db_qbe.php
+++ b/db_qbe.php
@@ -19,6 +19,47 @@ $response = PMA_Response::getInstance();
// Gets the relation settings
$cfgRelation = PMA_getRelationsParam();
+$savedSearchList = array();
+$currentSearchId = null;
+if ($cfgRelation['savedsearcheswork']) {
+ include 'libraries/SavedSearches.php';
+ $header = $response->getHeader();
+ $scripts = $header->getScripts();
+ $scripts->addFile('db_qbe.js');
+
+ //Get saved search list.
+ $savedSearch = new PMA_SavedSearches($GLOBALS);
+ $savedSearch->setId($_REQUEST['searchId'])
+ ->setUsername($GLOBALS['cfg']['Server']['user'])
+ ->setDbname($_REQUEST['db'])
+ ->setSearchName($_REQUEST['searchName']);
+
+ //Criterias field is filled only when clicking on "Save search".
+ if (!empty($_REQUEST['action'])) {
+ if ('save' === $_REQUEST['action']) {
+ $saveResult = $savedSearch->setCriterias($_REQUEST)
+ ->save();
+ /*if (!$saveResult) {
+ $response->addHTML('raté');
+ exit();
+ }*/
+ } elseif ('delete' === $_REQUEST['action']) {
+ $deleteResult = $savedSearch->delete();
+ //After deletion, reset search.
+ $savedSearch = new PMA_SavedSearches($GLOBALS);
+ $savedSearch->setUsername($GLOBALS['cfg']['Server']['user'])
+ ->setDbname($_REQUEST['db']);
+ $_REQUEST = array();
+ } elseif ('load' === $_REQUEST['action']) {
+ $loadResult = $savedSearch->load();
+ }
+ //Else, it's an "update query"
+ }
+
+ $savedSearchList = $savedSearch->getList();
+ $currentSearchId = $savedSearch->getId();
+}
+
/**
* A query has been submitted -> (maybe) execute it
*/
@@ -52,7 +93,7 @@ if ($message_to_display) {
unset($message_to_display);
// create new qbe search instance
-$db_qbe = new PMA_DBQbe($GLOBALS['db']);
+$db_qbe = new PMA_DBQbe($GLOBALS['db'], $savedSearchList, $savedSearch);
/**
* Displays the Query by example form