Commit 83646f1e2cbbd97ed32cdcd9d7d9f7d89d0256b1
1 parent
8b99c1c5
SUP-1555 Added a dropdown to select if documents or folders are displayed first …
…in the search results. Committed by: Megan Watson Reviewed by: Kevin Cyster
Showing
2 changed files
with
45 additions
and
4 deletions
search2.php
| ... | ... | @@ -467,10 +467,39 @@ class SearchDispatcher extends KTStandardDispatcher { |
| 467 | 467 | |
| 468 | 468 | // NOTE: sorting results (when it is implemented) might have to be done per section, as it is done with the browse view |
| 469 | 469 | |
| 470 | - $resultArray = $results['docs']; | |
| 471 | - foreach($results['folders'] as $f) $resultArray[] = $f; | |
| 472 | - foreach($results['shortdocs'] as $d) $resultArray[] = $d; | |
| 473 | - foreach($results['shortfolders'] as $f) $resultArray[] = $f; | |
| 470 | + // Get the order of display - folders first / documents first | |
| 471 | + | |
| 472 | + // Get the display order of the results - documents / folders first | |
| 473 | + $_SESSION['display_order'] = isset($_POST['display_order']) ? $_POST['display_order'] : $_SESSION['display_order']; | |
| 474 | + | |
| 475 | + $display_order = $_SESSION['display_order']; | |
| 476 | + $selected_order = array('f' => '', 'd' => '', 's' => ''); | |
| 477 | + | |
| 478 | + switch ($display_order){ | |
| 479 | + case 's': | |
| 480 | + $selected_order['s'] = 'selected'; | |
| 481 | + $resultArray = $results['shortfolders']; | |
| 482 | + foreach($results['shortdocs'] as $f) $resultArray[] = $f; | |
| 483 | + foreach($results['folders'] as $d) $resultArray[] = $d; | |
| 484 | + foreach($results['docs'] as $f) $resultArray[] = $f; | |
| 485 | + break; | |
| 486 | + | |
| 487 | + case 'd': | |
| 488 | + $selected_order['d'] = 'selected'; | |
| 489 | + $resultArray = $results['docs']; | |
| 490 | + foreach($results['folders'] as $f) $resultArray[] = $f; | |
| 491 | + foreach($results['shortdocs'] as $d) $resultArray[] = $d; | |
| 492 | + foreach($results['shortfolders'] as $f) $resultArray[] = $f; | |
| 493 | + break; | |
| 494 | + | |
| 495 | + case 'f': | |
| 496 | + default: | |
| 497 | + $selected_order['f'] = 'selected'; | |
| 498 | + $resultArray = $results['folders']; | |
| 499 | + foreach($results['docs'] as $f) $resultArray[] = $f; | |
| 500 | + foreach($results['shortfolders'] as $d) $resultArray[] = $d; | |
| 501 | + foreach($results['shortdocs'] as $f) $resultArray[] = $f; | |
| 502 | + } | |
| 474 | 503 | |
| 475 | 504 | $results = $resultArray; |
| 476 | 505 | |
| ... | ... | @@ -536,6 +565,7 @@ class SearchDispatcher extends KTStandardDispatcher { |
| 536 | 565 | |
| 537 | 566 | $aTemplateData = array( |
| 538 | 567 | "context" => $this, |
| 568 | + 'selected_order' => $selected_order, | |
| 539 | 569 | 'bulkactions'=>$aBulkActions, |
| 540 | 570 | 'firstRec'=>$firstRec, |
| 541 | 571 | 'lastRec'=>$lastRec, | ... | ... |
templates/ktcore/search2/search_results.smarty
| ... | ... | @@ -131,6 +131,17 @@ function onShowAll(showall) |
| 131 | 131 | |
| 132 | 132 | {else} |
| 133 | 133 | |
| 134 | + <form method=post action="{$rootUrl}/search2.php?action=searchResults"> | |
| 135 | + | |
| 136 | + <select name='display_order' onChange="submit();"> | |
| 137 | + <option value='f' {$selected_order.f}>Show folders first</option> | |
| 138 | + <option value='d' {$selected_order.d}>Show documents first</option> | |
| 139 | + <option value='s' {$selected_order.s}>Show shortcuts first</option> | |
| 140 | + </select> | |
| 141 | + | |
| 142 | + </form> | |
| 143 | + <br /><br /> | |
| 144 | + | |
| 134 | 145 | <form method=post action="{$rootUrl}/action.php"> |
| 135 | 146 | <table border=0 cellpadding="1" cellspacing="1" width="100%" align=center> |
| 136 | 147 | {assign var=cbid value=0} | ... | ... |