Commit 5f3cba436e22bb9ad14a018d883b86bc165cfb1f

Authored by megan_w
1 parent 9e4f44a9

KTS-3202

"Update search2 widget to persist search results default state"
Fixed. Used the session variable to persist state.

Committed by: Megan Watson
Reviewed by: Jonathan Byrne



git-svn-id: https://kt-dms.svn.sourceforge.net/svnroot/kt-dms/trunk@8312 c91229c3-7414-0410-bfa2-8a42b809f60b
config/config.ini
@@ -279,6 +279,11 @@ df = df @@ -279,6 +279,11 @@ df = df
279 ; defaults to 25 279 ; defaults to 25
280 resultsPerPage = default 280 resultsPerPage = default
281 281
  282 +; The format in which to display the results
  283 +; options are searchengine or browseview
  284 +; defaults to searchengine
  285 +resultsDisplayFormat = default
  286 +
282 ; The date format used when making queries using widgets 287 ; The date format used when making queries using widgets
283 ; defaults to Y-m-d 288 ; defaults to Y-m-d
284 dateFormat = default 289 dateFormat = default
config/dmsDefaults.php
@@ -573,6 +573,7 @@ function catchFatalErrors($p_OnOff='On'){ @@ -573,6 +573,7 @@ function catchFatalErrors($p_OnOff='On'){
573 573
574 $oKTConfig->setdefaultns('search', 'searchBasePath', KT_DIR . '/search2'); 574 $oKTConfig->setdefaultns('search', 'searchBasePath', KT_DIR . '/search2');
575 $oKTConfig->setdefaultns('search', 'fieldsPath', '${searchBasePath}/search/fields'); 575 $oKTConfig->setdefaultns('search', 'fieldsPath', '${searchBasePath}/search/fields');
  576 + $oKTConfig->setdefaultns('search', 'resultsDisplayFormat', 'searchengine');
576 $oKTConfig->setdefaultns('search', 'resultsPerPage', 25); 577 $oKTConfig->setdefaultns('search', 'resultsPerPage', 25);
577 $oKTConfig->setdefaultns('search', 'dateFormat', 'Y-m-d'); 578 $oKTConfig->setdefaultns('search', 'dateFormat', 'Y-m-d');
578 579
@@ -702,7 +703,7 @@ require_once(KT_LIB_DIR . '/util/ktutil.inc'); @@ -702,7 +703,7 @@ require_once(KT_LIB_DIR . '/util/ktutil.inc');
702 703
703 require_once(KT_LIB_DIR . '/ktentity.inc'); 704 require_once(KT_LIB_DIR . '/ktentity.inc');
704 705
705 -$KTInit->catchFatalErrors(); 706 +//$KTInit->catchFatalErrors();
706 707
707 if (phpversion()<5){ 708 if (phpversion()<5){
708 709
resources/js/search2widget.js
@@ -26,6 +26,18 @@ function onMetadataClick() @@ -26,6 +26,18 @@ function onMetadataClick()
26 Ext.example.msg(sSearchTranslations[0], sSearchTranslations[2]); /* Quick Search Options, Searches will now only search metadata */ 26 Ext.example.msg(sSearchTranslations[0], sSearchTranslations[2]); /* Quick Search Options, Searches will now only search metadata */
27 } 27 }
28 28
  29 +function onSearchEngineFormatClick()
  30 +{
  31 + bResultsFormatSearchEngine = true;
  32 + document.location=rootURL + "/search2.php?action=searchResults&format=searchengine";
  33 +}
  34 +
  35 +function onBrowseFormatClick()
  36 +{
  37 + bResultsFormatSearchEngine = false;
  38 + document.location=rootURL + "/search2.php?action=searchResults&format=browseview";
  39 +}
  40 +
29 function onSavedSearchClick(item) 41 function onSavedSearchClick(item)
30 { 42 {
31 id = item.id.substr(11); 43 id = item.id.substr(11);
@@ -138,7 +150,24 @@ function createSearchBar(div, suffix) @@ -138,7 +150,24 @@ function createSearchBar(div, suffix)
138 }, 150 },
139 { 151 {
140 text: sSearchTranslations[13] , /*Toggle results format*/ 152 text: sSearchTranslations[13] , /*Toggle results format*/
141 - handler: function() { document.location=rootURL + "/search2.php?action=searchResults&format=toggle"; } 153 + menu: {
  154 + items: [
  155 + new Ext.menu.CheckItem({
  156 + text: sSearchTranslations[14], /* search engine format */
  157 + id: 'cbResultsFormatSearchEngine' + suffix,
  158 + checked: bResultsFormatSearchEngine,
  159 + group: 'options',
  160 + handler: onSearchEngineFormatClick
  161 + }),
  162 + new Ext.menu.CheckItem({
  163 + text: sSearchTranslations[15], /* browse view format */
  164 + id: 'cbBrowseSearchEngine' + suffix,
  165 + checked: !bResultsFormatSearchEngine,
  166 + group: 'options',
  167 + handler: onBrowseFormatClick
  168 + })
  169 + ]
  170 + }
142 } 171 }
143 ] 172 ]
144 }); 173 });
search2.php
@@ -332,22 +332,21 @@ class SearchDispatcher extends KTStandardDispatcher { @@ -332,22 +332,21 @@ class SearchDispatcher extends KTStandardDispatcher {
332 { 332 {
333 if (array_key_exists('format', $_GET)) 333 if (array_key_exists('format', $_GET))
334 { 334 {
335 - if ($_GET['format'] == 'toggle')  
336 - {  
337 - switch ($_SESSION['search2resultFormat'])  
338 - {  
339 - case 'searchengine':  
340 - $_SESSION['search2resultFormat'] = 'browseview';  
341 - break;  
342 - case 'browseview':  
343 - $_SESSION['search2resultFormat'] = 'searchengine';  
344 - break;  
345 - }  
346 - } 335 + switch ($_GET['format']){
  336 + case 'searchengine':
  337 + $_SESSION['search2resultFormat'] = 'searchengine';
  338 + break;
  339 + case 'browseview':
  340 + $_SESSION['search2resultFormat'] = 'browseview';
  341 + break;
  342 + }
347 } 343 }
348 else 344 else
349 { 345 {
350 - $_SESSION['search2resultFormat'] = 'searchengine'; 346 + if(!array_key_exists('search2resultFormat', $_SESSION)){
  347 + global $default;
  348 + $_SESSION['search2resultFormat'] = $default->resultsDisplayFormat;
  349 + }
351 } 350 }
352 351
353 if ($_SESSION['search2resultFormat'] == 'browseview') 352 if ($_SESSION['search2resultFormat'] == 'browseview')
templates/kt3/standard_page.smarty
@@ -127,6 +127,12 @@ @@ -127,6 +127,12 @@
127 {assign var=count value=$count+1} 127 {assign var=count value=$count+1}
128 {/foreach} 128 {/foreach}
129 ]; 129 ];
  130 +
  131 + {if $smarty.session.search2resultFormat != 'searchengine'}
  132 + var bResultsFormatSearchEngine = false;
  133 + {else}
  134 + var bResultsFormatSearchEngine = true;
  135 + {/if}
130 </script> 136 </script>
131 {literal} 137 {literal}
132 138