Mercurial > hgrepos > hgweb.cgi > s4
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"