Skip to content

Commit

Permalink
issue #54 listview switch/sorting on search
Browse files Browse the repository at this point in the history
  • Loading branch information
akate committed Aug 26, 2011
1 parent 47e84e7 commit 87deddf
Show file tree
Hide file tree
Showing 3 changed files with 34 additions and 14 deletions.
42 changes: 30 additions & 12 deletions inc/media.php
Expand Up @@ -725,21 +725,32 @@ function media_tab_files_options($ns, $sort){
}

/**
* Prints tab that displays a list of all files
* Returns type of sorting for the list of files in media manager
*
* @author Kate Arzamastseva <pshns@ukr.net>
* @return string - sort type
*/
function media_tab_files($ns,$auth=null,$jump='') {
global $lang;
if(is_null($auth)) $auth = auth_quickaclcheck("$ns:*");

function _media_get_sort_type() {
$sort = $_REQUEST['sort'];
if (!$sort && @strpos($_COOKIE['DOKU_PREFS'], 'sort')) {
if (!$sort && (strpos($_COOKIE['DOKU_PREFS'], 'sort') >= 0)) {
$parts = explode('#', $_COOKIE['DOKU_PREFS']);
for ($i = 0; $i < count($parts); $i+=2){
if ($parts[$i] == 'sort') $sort = $parts[$i+1];
}
}
return $sort;
}

/**
* Prints tab that displays a list of all files
*
* @author Kate Arzamastseva <pshns@ukr.net>
*/
function media_tab_files($ns,$auth=null,$jump='') {
global $lang;
if(is_null($auth)) $auth = auth_quickaclcheck("$ns:*");

$sort = _media_get_sort_type();
media_tab_files_options($ns, $sort);

echo '<div class="scroll-container" >';
Expand Down Expand Up @@ -782,13 +793,12 @@ function media_tab_search($ns,$auth=null) {
$query = $_REQUEST['q'];
if (!$query) $query = '';

echo '<div class="background-container">';
echo sprintf($lang['media_search'], $ns ? $ns : '['.$lang['mediaroot'].']');
echo'</div>';
$sort = _media_get_sort_type();
media_tab_files_options($ns, $sort);

echo '<div class="scroll-container">';
media_searchform($ns, $query, true);
if ($do == 'searchlist') media_searchlist($query,$ns,$auth,true);
if ($do == 'searchlist') media_searchlist($query,$ns,$auth,true,$sort);
echo '</div>';
}

Expand Down Expand Up @@ -1300,7 +1310,7 @@ function media_restore($image, $rev, $auth){
* @author Kate Arzamastseva <pshns@ukr.net>
* @triggers MEDIA_SEARCH
*/
function media_searchlist($query,$ns,$auth=null,$fullscreen=false){
function media_searchlist($query,$ns,$auth=null,$fullscreen=false,$sort=''){
global $conf;
global $lang;

Expand All @@ -1322,6 +1332,14 @@ function media_searchlist($query,$ns,$auth=null,$fullscreen=false){
array('showmsg'=>false,'pattern'=>$pattern),
$dir);
}
if ($sort == 'date') {
$data = array();
foreach ($evdata['data'] as $k => $v) {
$data[$k] = $v['mtime'];
}
array_multisort($data, SORT_DESC, SORT_NUMERIC, $evdata['data']);
}

$evt->advise_after();
unset($evt);
}
Expand Down Expand Up @@ -1685,7 +1703,7 @@ function media_searchform($ns,$query='',$fullscreen=false){
if (!$fullscreen) $form->addHidden('do', 'searchlist');
else $form->addHidden('mediado', 'searchlist');
$form->addElement(form_makeOpenTag('p'));
$form->addElement(form_makeTextField('q', $query,$lang['searchmedia'],'','',array('title'=>sprintf($lang['searchmedia_in'],hsc($ns).':*'))));
$form->addElement(form_makeTextField('q', $query,$lang['searchmedia'],'mediamanager__sort_textfield','',array('title'=>sprintf($lang['searchmedia_in'],hsc($ns).':*'))));
$form->addElement(form_makeButton('submit', '', $lang['btn_search']));
$form->addElement(form_makeCloseTag('p'));
html_form('searchmedia', $form);
Expand Down
4 changes: 2 additions & 2 deletions lib/scripts/cookie.js
Expand Up @@ -24,8 +24,8 @@ DokuCookie = {
this.data[key] = val;

//save the whole data array
jQuery.each(this.data, function (val, key) {
if (this.data.hasOwnProperty(key)) {
jQuery.each(this.data, function (key, val) {
if (DokuCookie.data.hasOwnProperty(key)) {
text += '#'+encodeURIComponent(key)+'#'+encodeURIComponent(val);
}
});
Expand Down
2 changes: 2 additions & 0 deletions lib/scripts/media.js
Expand Up @@ -299,6 +299,8 @@ var dw_mediamanager = {

if ($link.parents('form')[0].id == 'mediamanager__form_sort') {
DokuCookie.setValue('sort', $link[0].value);
params += '&q=' + jQuery('#mediamanager__sort_textfield').val();
params += '&mediado=searchlist';
}
}

Expand Down

0 comments on commit 87deddf

Please sign in to comment.