]> git.plutz.net Git - shellwiki/blobdiff - auth/default.sh
support for user groups
[shellwiki] / auth / default.sh
index 816ad70acc1f1872a530301031c7bf218607680d..02778db798c126186d02417f619fcc981d9593bd 100644 (file)
@@ -1,3 +1,18 @@
 #!/bin/sh
 
 . "$_EXEC/cgilite/users.sh"
+
+GROUP_BASE="${GROUP_BASE:-/[wiki]/}"
+
+rgx_uname="$(printf '%s' "$USER_NAME" |sed 's;[.*+?^${}()|[\]\\];\\&;g')"
+
+USER_GROUPS="$(
+  grep -lE '^[\t ]*[-+*][\t ]+'"${rgx_uname}${CR}"'?$' "$_DATA/pages${GROUP_BASE%/}/&"*"/#page.md" \
+  | while read group; do
+    group="${group#"$_DATA/pages${GROUP_BASE%/}/"}"
+    group="${group%"/#page.md"}"
+    printf '%s\n' "$group"
+  done
+)" 2>&-
+
+export USER_GROUPS