]> git.plutz.net Git - serve0/commitdiff
cleanup for spawning / tagging forms
authorPaul Hänsch <paul@plutz.net>
Wed, 25 Jul 2018 21:39:55 +0000 (23:39 +0200)
committerPaul Hänsch <paul@plutz.net>
Wed, 25 Jul 2018 21:39:55 +0000 (23:39 +0200)
index.cgi
list.sh
widgets.sh

index 8367f92f7bd4ab31e8de6d8569e35bc4fc3588f6..6b0dc549d6676f53491e28adca926666e008e4f3 100755 (executable)
--- a/index.cgi
+++ b/index.cgi
@@ -72,20 +72,19 @@ elif [ -d "$_DATA/$ITEM" ]; then
     advsearch)
       . "$_EXEC/advsearch.sh"
     ;;
     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
       else
-      . "$_EXEC/multitag.sh"
+        mkdir -p "$_DATA/$ITEM/.index"
       fi
       REDIRECT "$(POST ref)"
     ;;
       fi
       REDIRECT "$(POST ref)"
     ;;
+    multitag)
+      . "$_EXEC/multitag.sh"
+      REDIRECT "$(POST ref)"
+    ;;
     *) . "$_EXEC/list.sh"
     ;;
   esac
     *) . "$_EXEC/list.sh"
     ;;
   esac
diff --git a/list.sh b/list.sh
index 778ea11a0d96d9c1441bd65482e5ce99ad55d08f..f6f99750b86910bf4770f48ba355ab4257280e08 100644 (file)
--- 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
   [form method=POST action="?a=multitag"'
     list_items \
     | list_paginate
-    printf '
+    [ -d "$_DATA/$ITEM/.index" ] && { printf '
     [div #editing'
     [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"
 ] ]
 '; } | "$_EXEC/cgilite/html-sh.sed"
index 27f5c5b4957523711fea4ef4b6dd182c17093787..ab09899d64dd64a604b67b760636f7af32240a8f 100644 (file)
@@ -147,8 +147,8 @@ w_prefs(){
 }
 
 w_index(){
 }
 
 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]
     [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 '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
     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