diff options
author | Hugues Peccatte <hugues.peccatte@gmail.com> | 2014-02-23 17:52:48 +0400 |
---|---|---|
committer | Hugues Peccatte <hugues.peccatte@gmail.com> | 2014-02-23 17:52:48 +0400 |
commit | 8b84cf0d91669b4a359b2f20bb014a95d7b64013 (patch) | |
tree | c06a07397d770855df4eb869177b3371abc536d4 /db_qbe.php | |
parent | b7f5acff6b5c7bcc61cea2808a0bedc0bc317aa5 (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.php | 43 |
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 |