diff --git a/db_qbe.php b/db_qbe.php index 701f709c28..8735b10630 100644 --- a/db_qbe.php +++ b/db_qbe.php @@ -21,7 +21,6 @@ $cfgRelation = PMA_getRelationsParam(); $savedSearchList = array(); $currentSearchId = null; -$displayUpdateSearchHint = false; if ($cfgRelation['savedsearcheswork']) { include 'libraries/SavedSearches.class.php'; $header = $response->getHeader(); @@ -35,16 +34,18 @@ if ($cfgRelation['savedsearcheswork']) { if (!empty($_REQUEST['searchId'])) { $savedSearch->setId($_REQUEST['searchId']); - $displayUpdateSearchHint = true; } //Action field is sent. if (isset($_REQUEST['action'])) { $savedSearch->setSearchName($_REQUEST['searchName']); - if ('save' === $_REQUEST['action']) { + if ('create' === $_REQUEST['action']) { + $saveResult = $savedSearch->setId(null) + ->setCriterias($_REQUEST) + ->save(); + } elseif ('update' === $_REQUEST['action']) { $saveResult = $savedSearch->setCriterias($_REQUEST) ->save(); - $displayUpdateSearchHint = true; } elseif ('delete' === $_REQUEST['action']) { $deleteResult = $savedSearch->delete(); //After deletion, reset search. @@ -52,10 +53,16 @@ if ($cfgRelation['savedsearcheswork']) { $savedSearch->setUsername($GLOBALS['cfg']['Server']['user']) ->setDbname($_REQUEST['db']); $_REQUEST = array(); - $displayUpdateSearchHint = false; } elseif ('load' === $_REQUEST['action']) { - $loadResult = $savedSearch->load(); - $displayUpdateSearchHint = true; + if (empty($_REQUEST['searchId'])) { + //when not loading a search, reset the object. + $savedSearch = new PMA_SavedSearches($GLOBALS); + $savedSearch->setUsername($GLOBALS['cfg']['Server']['user']) + ->setDbname($_REQUEST['db']); + $_REQUEST = array(); + } else { + $loadResult = $savedSearch->load(); + } } //Else, it's an "update query" } @@ -120,15 +127,6 @@ if ($cfgRelation['designerwork']) { ) ); } -if ($displayUpdateSearchHint) { - $response->addHTML( - PMA_Message::notice( - __( - 'After saving or loading a bookmarked search, you can rename it and ' - . 'save the new criteria.' - ) - ) - ); -} + $response->addHTML($db_qbe->getSelectionForm($cfgRelation)); ?> diff --git a/js/db_qbe.js b/js/db_qbe.js index 8407afc1ac..a5666bf5dc 100644 --- a/js/db_qbe.js +++ b/js/db_qbe.js @@ -22,6 +22,7 @@ AJAX.registerTeardown('db_qbe.js', function () { $("#searchId").die('change'); $("#saveSearch").die('click'); + $("#updateSearch").die('click'); $("#deleteSearch").die('click'); }); @@ -31,23 +32,26 @@ AJAX.registerOnload('db_qbe.js', function () { * Ajax event handlers for 'Select saved search' */ $("#searchId").live('change', function (event) { - if ('' == $(this).val()) { - return false; - } - $('#action').val('load'); $('#formQBE').submit(); }); /** - * Ajax event handlers for 'Save search' + * Ajax event handlers for 'Create bookmark' */ $("#saveSearch").live('click', function (event) { - $('#action').val('save'); + $('#action').val('create'); }); /** - * Ajax event handlers for 'Delete search' + * Ajax event handlers for 'Update bookmark' + */ + $("#updateSearch").live('click', function (event) { + $('#action').val('update'); + }); + + /** + * Ajax event handlers for 'Delete bookmark' */ $("#deleteSearch").live('click', function (event) { var question = $.sprintf(PMA_messages.strConfirmDeleteQBESearch, $("#searchId option:selected").text()); diff --git a/libraries/DBQbe.class.php b/libraries/DBQbe.class.php index db65a02914..c8891c8a78 100644 --- a/libraries/DBQbe.class.php +++ b/libraries/DBQbe.class.php @@ -1476,9 +1476,13 @@ class PMA_DbQbe . 'value="' . $currentSearchName . '" />'; $html_output .= ''; $html_output .= ''; - $html_output .= ''; + . 'value="' . __('Create bookmark') . '" />'; + if (null !== $currentSearchId) { + $html_output .= ''; + $html_output .= ''; + } return $html_output; }