. "$_EXEC/widgets.sh"
list_item() {
- local name path length width height tags comment n
+ local name link path length width height tags comment n
name="$(HTML "$1")"
- path="$(URL "$ITEM/$1")"
+ link="$(URL "$ITEM/$1")"
+ path="$(HTML "$ITEM/$1")"
qry=$(HTML "$QUERY_STRING")
if [ -d "$_DATA/$ITEM/$1" ]; then
printf '[div .list .file
[a href="%s" [img src="%s?a=thumbnail"][label %s]]
[span .time %i:%imin] [span .dim %ix%i] %s
- [checkbox "select" "%s" id="select_%s" form="multitag"][label for="select_%s" +]
+ [checkbox "select" "%s" id="select_%s"][label for="select_%s" +]
]' \
- "$path" "$path" "$name" \
+ "$link" "$link" "$name" \
"$((length / 60))" "$((length % 60))" \
"$width" "$height" \
"$(UNSTRING "${tags#tags=}" |tr , '\0' |xargs -r0 printf ' [span .tag %s]')" \
if [ $ORDER = Name ]; then
sort -k6 "$meta"
elif [ $ORDER = Length ]; then
- sort -n "$meta"
+ sort -n -k1 "$meta"
else
cat "$meta"
fi \
| if [ "$FILTER" ]; then
sed -nr "$list_fex"
elif [ "${SEARCH#!}" != "${SEARCH}" ]; then
- grep -viE "$(STRING "${SEARCH#!}")"
+ grep -aviE "$(STRING "${SEARCH#!}" |sed -r 's;((^|[^\\])(\\\\)*)\+;\1\\+;g;')"
else
- grep -iE "$(STRING "${SEARCH}")"
+ grep -aiE "$(STRING "${SEARCH}" |sed -r 's;((^|[^\\])(\\\\)*)\+;\1\\+;g;')"
fi |cut -f6 | UNSTRING \
| while read -r fn; do
printf '%s\n' "${base}/${fn%${CR}}"
- done
+ done | tee .index/debug
}
list_index(){
list_items() {
local mode
- mode="$(COOKIE mode |grep -m1 -xE 'index|browse' || printf browse )"
+ mode="$(COOKIE mode |grep -m1 -axE 'index|browse' || printf browse )"
[ "$mode" = browse -a "$ITEM" ] && printf '..\n'
list_paginate() {
local page i c n end
- page="$(GET p |grep -xE '[0-9]+' || printf 1)"; c=1
+ page="$(GET p |grep -axE '[0-9]+' || printf 1)"; c=1
end=$((page + LISTSIZE))
printf '[div .itemlist '