X-Git-Url: http://git.plutz.net/?a=blobdiff_plain;f=pages%2Fbrowse.sh;h=faf4e67a20977521290d3cf82d96d2ff58bdcf84;hb=9051122ac1f69bba7f75dd9ac37dbb1318ce2e2c;hp=adde4d8f2c2f06ad579e493e08a5316a9f3eaf94;hpb=ccaf72a1f346a69d88af2c74242e10cd6a90eecb;p=serve0 diff --git a/pages/browse.sh b/pages/browse.sh index adde4d8..faf4e67 100755 --- a/pages/browse.sh +++ b/pages/browse.sh @@ -17,15 +17,15 @@ # You should have received a copy of the GNU Affero General Public License # along with Serve0. If not, see . +directory="$(invalidate "${_GET[d]}" '(.*/)?\.\.(/.*)?|' /)" +page_link="p=browse&d=$(urlsafe "$directory")&" + . $_EXEC/pages/common.sh -directory="$(invalidate "${_GET[d]}" '(.*/)?\.\.(/.*)?|' /)" [ -d "${treeroot%/}${directory%/}/.index" ] && indexed=true || indexed=false filters="${_GET[f]}" debug "FILTERS: $filters" -page_link="p=browse&d=$(urlsafe "$directory")&${page_link}" - present_filter(){ printf %s\\n "$*" \ | sed -r 's;(^|!|\^|\|)([^!\^\|:]+:);\1;g;s;\^;\n;g' \ @@ -78,7 +78,7 @@ _printVideo(){ cat <

${display}

@@ -128,17 +128,17 @@ filelist(){ case "$order" in Name) find -L "$dir" -mindepth 1 -maxdepth 1 -type d \! -name ".index" -print0 \ - | sort -z \ + | sort -fz \ | xargs -0 printf 'directory %s\n' find -L "$dir" -mindepth 1 -maxdepth 1 \! -type d -print0 \ | grep -ziE "$file_pattern" \ - | sort -z \ + | sort -fz \ | xargs -0 printf 'video %s\n' find -L "$dir" -mindepth 1 -maxdepth 1 \! -type d -print0 \ | grep -zviE "$file_pattern" \ - | sort -z \ + | sort -fz \ | xargs -0 printf 'plain %s\n' ;; Date)