changeset 288:d50996dc2664

Function `grpaction' should be provided with moderated/ismember class
author HIROSE Yuuji <yuuji@gentei.org>
date Thu, 18 Aug 2016 19:04:15 +0859
parents 422270e94adc
children af84e8da1008
files s4-blog.sh s4-funcs.sh
diffstat 2 files changed, 24 insertions(+), 12 deletions(-) [+]
line wrap: on
line diff
--- a/s4-blog.sh	Mon Aug 15 13:45:59 2016 +0859
+++ b/s4-blog.sh	Thu Aug 18 19:04:15 2016 +0859
@@ -587,17 +587,7 @@
 		 WHERE id=(SELECT id FROM blog WHERE rowid=$rowid)
 		       AND key='team';
 	 \"|htmlescape`"
-    qgrp=`sqlquote "$owner"`
-    sql="SELECT coalesce(
-	   (SELECT val FROM grp_s WHERE gname=$qgrp AND key='regmode'),
-	   'open')
-         ||
-	   CASE WHEN '$user'
-	     	      IN (SELECT user FROM grp_mem WHERE gname=$qgrp)
-	        THEN ' ismember'
-	        ELSE ''
-	   END"
-    memclass=`query "$sql;"`
+    memclass=`grp_getbodyclass "$owner"`
   fi
   if [ -z "$title" ]; then
     echo "日記番号指定が無効です。" | html p
--- a/s4-funcs.sh	Mon Aug 15 13:45:59 2016 +0859
+++ b/s4-funcs.sh	Thu Aug 18 19:04:15 2016 +0859
@@ -1931,6 +1931,26 @@
     echo '</table></div>'
   fi
 }
+grp_getbodyclass() {
+  # Get css class name for document.
+  # `moderated' for moderated groups
+  # `ismember'  for groups where user belongs
+  # $1=GroupName (w/o quote)
+  # $user=userNameCurrentlyLogin
+  err grp_getbodyclass: 1="$1"
+  qgrp=`sqlquote "$1"`
+  query<<-EOF
+	SELECT coalesce(
+	   (SELECT val FROM grp_s WHERE gname=$qgrp AND key='regmode'),
+	   'open')
+	 ||
+	   CASE WHEN '$user'
+	     	      IN (SELECT user FROM grp_mem WHERE gname=$qgrp)
+	        THEN ' ismember'
+	        ELSE ''
+	   END;
+	EOF
+}
 grpaction() {			# $1=group-rowid
   err GRP_ACTION:IN
   grid=${1:-`getpar grp`}
@@ -1942,7 +1962,9 @@
     echo "加入者のみに許可された操作です。" | html p; return
   fi
   echo "グループ $grp 個別選択操作" \
-      | _m4 -D_TITLE_="syscmd(\`cat')" $layout/html.m4.html
+      | _m4 -D_TITLE_="syscmd(\`cat')" \
+	    -D_BODYCLASS_="`grp_getbodyclass \"$grp\"`" \
+	    $layout/html.m4.html
 
   isowner=""
   isgrpowner "$user" "$grp" && isowner="yes"

yatex.org