From ec24a2df21bc25730b6d807a6930867e09f2aa58 Mon Sep 17 00:00:00 2001 From: "Philipp A. Hartmann" Date: Tue, 29 Jan 2013 19:40:23 +0100 Subject: search: pass empty $sort to skip sorting --- inc/search.php | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) (limited to 'inc') diff --git a/inc/search.php b/inc/search.php index 277b17d39..cc3e79006 100644 --- a/inc/search.php +++ b/inc/search.php @@ -19,7 +19,7 @@ if(!defined('DOKU_INC')) die('meh.'); * @param callback $func Callback (function name or array with object,method) * @param string $dir Current directory beyond $base * @param int $lvl Recursion Level - * @param mixed $sort 'natural' to use natural order sorting (default); 'date' to sort by filemtime. + * @param mixed $sort 'natural' to use natural order sorting (default); 'date' to sort by filemtime; leave empty to skip sorting. * @author Andreas Gohr */ function search(&$data,$base,$func,$opts,$dir='',$lvl=1,$sort='natural'){ @@ -40,12 +40,14 @@ function search(&$data,$base,$func,$opts,$dir='',$lvl=1,$sort='natural'){ $filepaths[] = $base.'/'.$dir.'/'.$file; } closedir($dh); - if ($sort == 'date') { - @array_multisort(array_map('filemtime', $filepaths), SORT_NUMERIC, SORT_DESC, $files); - } else /* natural */ { - natsort($files); + if (!empty($sort)) { + if ($sort == 'date') { + @array_multisort(array_map('filemtime', $filepaths), SORT_NUMERIC, SORT_DESC, $files); + } else /* natural */ { + natsort($files); + } + natsort($dirs); } - natsort($dirs); //give directories to userfunction then recurse foreach($dirs as $dir){ -- cgit v1.2.3