s4

changeset 228:ab1693ac909a

Avoid reusing variable
author HIROSE Yuuji <yuuji@gentei.org>
date Mon, 20 Jun 2016 18:56:42 +0859
parents ce24afbd3139
children 787a577cc3ce
files s4-funcs.sh
diffstat 1 files changed, 23 insertions(+), 8 deletions(-) [+]
line diff
     1.1 --- a/s4-funcs.sh	Mon Jun 20 08:01:23 2016 +0859
     1.2 +++ b/s4-funcs.sh	Mon Jun 20 18:56:42 2016 +0859
     1.3 @@ -1974,7 +1974,7 @@
     1.4  		 gname=(select gname from grp where rowid=$grid)))
     1.5  	  a left join user_s on a.name=user_s.name and key='gecos'
     1.6  	order by coalesce(val,a.name);"
     1.7 -  err grpaction: `echo $sql`
     1.8 +  err grpaction: `echo "$sql"`
     1.9    tf=$tmpd/title.$$
    1.10    echo "グループ[<a href=\"?grp+$grid\">$grp<a>]参加メンバーに対する操作" > $tf
    1.11    cmmsg="<div class=\"fold\">
    1.12 @@ -1994,15 +1994,15 @@
    1.13    myhexteams=$(hexteams "$grp" "$user")
    1.14    allhexteams=$(hexteams "$grp")
    1.15    if [ -n "$myhexteams" ]; then
    1.16 -    rmteam="<div class=\"fold\">
    1.17 +    rmteammsg="<div class=\"fold\">
    1.18  `cgi_radio rm rmteam 'id=\"cmrmteam\"'`<label
    1.19  for=\"cmrmteam\">下でチェックした人からチーム属性を除去する</label>
    1.20 -<div>チーム属性:`cgi_select_h rmteam $myhexteams`
    1.21 +<div>チーム属性:`cgi_select_h rmteam \"2d2d2d\" $myhexteams`
    1.22  を除去します: `cgi_checkbox teamconfirm yes` 確認
    1.23  <p>この操作による通知は本人に行きません。
    1.24  あらかじめ通知するか、登録解除してよい状況かしっかり確認してください。</p>
    1.25  </div>
    1.26 -</div>
    1.27 +</div><!-- end of $rmteammsg -->
    1.28  "
    1.29    fi
    1.30    b1='<label> <input type="checkbox" name="usel" value="'
    1.31 @@ -2024,7 +2024,7 @@
    1.32  <div>チーム名:`cgi_text team "" 'id="inteam" list="teams"'`
    1.33  `cgi_datalist_h teams $allhexteams`
    1.34  </div></div>
    1.35 -${rmteam}
    1.36 +${rmteammsg}
    1.37  <div class="fold">
    1.38  `cgi_radio rm send id="sendmsg"`<label
    1.39   for="sendmsg">下でチェックした人にメッセージを送信する</label>
    1.40 @@ -2391,16 +2391,31 @@
    1.41  )
    1.42  grp_rm_team() (
    1.43    # $1=grp-rowid $2=team $3...=user-rowid(s)
    1.44 -  grp=`getgroupbyid $1`
    1.45 +  grid=$1
    1.46 +  qgrp=$(sqlquote "`getgroupbyid $grid`")
    1.47    team=$2; shift; shift
    1.48 -  [ -z "$grid" -o -z "$team" -o -z "$1" ] && return
    1.49 +  [ -z "$grid" -o -z "$team" ] && return
    1.50    { echo "BEGIN;"
    1.51      for user; do
    1.52        echo "DELETE FROM grp_mem_m\
    1.53 -	    WHERE gname='$grp'\
    1.54 +	    WHERE gname=$qgrp \
    1.55  	    AND user=(SELECT name FROM user WHERE rowid=$user)\
    1.56  	    AND key='team' AND val='$team';"
    1.57      done
    1.58 +    cat<<-EOF
    1.59 +	DELETE FROM blog_s
    1.60 +	WHERE rowid=(
    1.61 +          SELECT rowid
    1.62 +	  FROM blog_s a
    1.63 +	  WHERE key='team'
    1.64 +	    AND id IN (SELECT id FROM blog_s WHERE key='owner' AND val=$qgrp)
    1.65 +	    AND NOT EXISTS (SELECT * FROM grp_mem_m
    1.66 +	                    WHERE key='team' AND val=a.val -- a.val=team
    1.67 +	                      AND gname = (SELECT val FROM blog_s b
    1.68 +	                                   WHERE a.id=b.id AND key='owner')
    1.69 +	                    ));
    1.70 +	EOF
    1.71 +
    1.72      echo "END;"
    1.73    } | query
    1.74  )