+list_item() {
+ local meta type length width height tags comment name display link
+ meta="${1}"; type="${meta%% *}"; meta="${meta#* }"
+
+ if [ "$type" = dir ]; then
+ name="${meta%% *}";
+ display="$(HTML "$name")"; link="$(URL "$ITEM/$name")"
+ printf '[a .list .dir href="%s" %s]' "${link}?${w_refuri#*\?}" "$name"
+ return 0
+ fi
+
+ length="${meta%% *}"; meta="${meta#* }"
+ width="${meta%% *}"; meta="${meta#* }"
+ height="${meta%% *}"; meta="${meta#* }"
+ tags="${meta%% *}"; meta="${meta#* }"
+ comment="${meta%% *}"; meta="${meta#* }"
+ name="${meta%% *}"; meta="${meta#* }"
+
+ if [ "$type" = metashort ]; then
+ name="$(list_fullname "$(UNSTRING "${name%${CR}}")")"
+ fi
+ if [ -f "$_DATA/$ITEM/$name" ]; then
+ link="$(URL "$ITEM/$name")"
+ name="$(HTML "$ITEM/$name")"
+ printf '[div .list .file
+ [a href="%s" [img src="%s?a=thumbnail"]][label %s]
+ [span .time %i:%02imin] [span .dim %ix%i] %s
+ [checkbox "select" "%s" id="select_%s"][label for="select_%s" +]
+ ]' \
+ "$link" "$link" "${name##*/}" \
+ "$((length / 60))" "$((length % 60))" \
+ "$width" "$height" \
+ "$(printf '%s\n' "${tags#tags=}" \
+ | sed -r "$UNSTRING"' s;^;,;; s;,+;,;g; s;,$;;;
+ :X s;,-?([^,]+)(,|$); [span .tag\n \1]\2;; tX;'
+ )" "$name" "$link" "$link"