Mercurial > hgrepos > hgweb.cgi > s4
diff s4-funcs.sh @ 228:ab1693ac909a
Avoid reusing variable
author | HIROSE Yuuji <yuuji@gentei.org> |
---|---|
date | Mon, 20 Jun 2016 18:56:42 +0859 |
parents | ce24afbd3139 |
children | 787a577cc3ce |
line wrap: on
line diff
--- a/s4-funcs.sh Mon Jun 20 08:01:23 2016 +0859 +++ b/s4-funcs.sh Mon Jun 20 18:56:42 2016 +0859 @@ -1974,7 +1974,7 @@ gname=(select gname from grp where rowid=$grid))) a left join user_s on a.name=user_s.name and key='gecos' order by coalesce(val,a.name);" - err grpaction: `echo $sql` + err grpaction: `echo "$sql"` tf=$tmpd/title.$$ echo "グループ[<a href=\"?grp+$grid\">$grp<a>]参加メンバーに対する操作" > $tf cmmsg="<div class=\"fold\"> @@ -1994,15 +1994,15 @@ myhexteams=$(hexteams "$grp" "$user") allhexteams=$(hexteams "$grp") if [ -n "$myhexteams" ]; then - rmteam="<div class=\"fold\"> + rmteammsg="<div class=\"fold\"> `cgi_radio rm rmteam 'id=\"cmrmteam\"'`<label for=\"cmrmteam\">下でチェックした人からチーム属性を除去する</label> -<div>チーム属性:`cgi_select_h rmteam $myhexteams` +<div>チーム属性:`cgi_select_h rmteam \"2d2d2d\" $myhexteams` を除去します: `cgi_checkbox teamconfirm yes` 確認 <p>この操作による通知は本人に行きません。 あらかじめ通知するか、登録解除してよい状況かしっかり確認してください。</p> </div> -</div> +</div><!-- end of $rmteammsg --> " fi b1='<label> <input type="checkbox" name="usel" value="' @@ -2024,7 +2024,7 @@ <div>チーム名:`cgi_text team "" 'id="inteam" list="teams"'` `cgi_datalist_h teams $allhexteams` </div></div> -${rmteam} +${rmteammsg} <div class="fold"> `cgi_radio rm send id="sendmsg"`<label for="sendmsg">下でチェックした人にメッセージを送信する</label> @@ -2391,16 +2391,31 @@ ) grp_rm_team() ( # $1=grp-rowid $2=team $3...=user-rowid(s) - grp=`getgroupbyid $1` + grid=$1 + qgrp=$(sqlquote "`getgroupbyid $grid`") team=$2; shift; shift - [ -z "$grid" -o -z "$team" -o -z "$1" ] && return + [ -z "$grid" -o -z "$team" ] && return { echo "BEGIN;" for user; do echo "DELETE FROM grp_mem_m\ - WHERE gname='$grp'\ + WHERE gname=$qgrp \ AND user=(SELECT name FROM user WHERE rowid=$user)\ AND key='team' AND val='$team';" done + cat<<-EOF + DELETE FROM blog_s + WHERE rowid=( + SELECT rowid + FROM blog_s a + WHERE key='team' + AND id IN (SELECT id FROM blog_s WHERE key='owner' AND val=$qgrp) + AND NOT EXISTS (SELECT * FROM grp_mem_m + WHERE key='team' AND val=a.val -- a.val=team + AND gname = (SELECT val FROM blog_s b + WHERE a.id=b.id AND key='owner') + )); + EOF + echo "END;" } | query )