From: Paul Hänsch Date: Wed, 25 Jul 2018 21:39:55 +0000 (+0200) Subject: cleanup for spawning / tagging forms X-Git-Url: http://git.plutz.net/?p=serve0;a=commitdiff_plain;h=e00c626003d48bbf2d41619ee5379e95dc43fa27 cleanup for spawning / tagging forms --- diff --git a/index.cgi b/index.cgi index 8367f92..6b0dc54 100755 --- a/index.cgi +++ b/index.cgi @@ -72,20 +72,19 @@ elif [ -d "$_DATA/$ITEM" ]; then advsearch) . "$_EXEC/advsearch.sh" ;; - multitag) - if [ "$(POST spawn)" = spawn ]; then - case "$(POST recursive)" in - yes) find "$_DATA/$ITEM" \ - -depth -type d \! -name .index \ - -exec mkdir -p '{}'/.index \; - ;; - *) mkdir -p "$_DATA/$ITEM/.index";; - esac + spawnindex) + if [ "$(POST recursive)" = yes ]; then + find "$_DATA/$ITEM" -depth -type d \! -name .index \ + -exec mkdir -p '{}'/.index \; else - . "$_EXEC/multitag.sh" + mkdir -p "$_DATA/$ITEM/.index" fi REDIRECT "$(POST ref)" ;; + multitag) + . "$_EXEC/multitag.sh" + REDIRECT "$(POST ref)" + ;; *) . "$_EXEC/list.sh" ;; esac diff --git a/list.sh b/list.sh index 778ea11..f6f9975 100644 --- a/list.sh +++ b/list.sh @@ -190,11 +190,18 @@ printf 'Content-Type: text/html;charset=utf-8\r\n\r\n' [form method=POST action="?a=multitag"' list_items \ | list_paginate - printf ' + [ -d "$_DATA/$ITEM/.index" ] && { printf ' [div #editing' - w_index || w_tagging - printf ' - ] - ] + w_tagging + printf ' + ]'; } + printf ' + ]' + [ ! -d "$_DATA/$ITEM/.index" ] && { printf ' + [div #editing' + w_index + printf ' + ]'; } + printf ' ] ] '; } | "$_EXEC/cgilite/html-sh.sed" diff --git a/widgets.sh b/widgets.sh index 27f5c5b..ab09899 100644 --- a/widgets.sh +++ b/widgets.sh @@ -147,8 +147,8 @@ w_prefs(){ } w_index(){ - [ -d "$_DATA/$ITEM/.index" ] && return 1 || printf ' - [form #index method="POST" action="?a=multitag" + printf ' + [form #index method="POST" action="?a=spawnindex" [hidden "ref" "%s"] [label Set up for Index view: ] [checkbox "recursive" "yes" #spawn_recursive] [label for=spawn_recursive Include subdirectories] @@ -231,7 +231,8 @@ w_tagging(){ printf 'Tags\n%s\n' "$w_tagcategories" \ | while read -r category; do - printf '[fieldset [legend %s:][select name=tag size=4 multiple' "$category" + [ "$category" ] || continue + printf '[fieldset [legend %s:][select name=tag size=4 multiple\n' "$category" printf %s "$w_tags" \ | { [ "$category" = 'Tags' ] && grep -avF ':' || grep -awF "${category}"; } \ | { for n in 1 2 3 4 5 6 7 8 9 0; do