# HG changeset patch # User HIROSE Yuuji # Date 1471514656 -32399 # Node ID d50996dc26640979fa02b95bcb35351fa76888ef # Parent 422270e94adcf1b73dcb5d09b0b3f03a445f7bdb Function `grpaction' should be provided with moderated/ismember class diff -r 422270e94adc -r d50996dc2664 s4-blog.sh --- 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 diff -r 422270e94adc -r d50996dc2664 s4-funcs.sh --- 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 '' 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"