Mercurial > hgrepos > hgweb.cgi > s4
changeset 646:d9bce34a863b
Email4group should use same algorithm as email4groupbyuid
author | HIROSE Yuuji <yuuji@gentei.org> |
---|---|
date | Thu, 07 May 2020 23:03:33 +0900 |
parents | 21522dcada92 |
children | a8a5e6437f1a |
files | s4-funcs.sh |
diffstat | 1 files changed, 10 insertions(+), 14 deletions(-) [+] |
line wrap: on
line diff
--- a/s4-funcs.sh Thu May 07 20:47:08 2020 +0900 +++ b/s4-funcs.sh Thu May 07 23:03:33 2020 +0900 @@ -1401,34 +1401,30 @@ qgrp=`sqlquote "$1"`; shift users=`for i; do sqlquote "$i"; done` users=`echo $users|tr ' ' ','` - sql="select coalesce(s.val, g.user) from grp_mem g - left join grp_mem_s s on g.gname=s.gname and g.user=s.user - and s.key='email' - where g.gname=$qgrp and g.user in ($users);" - query "$sql" -} -email4groupbyuid() { - # Get for-$1=group email address(es) for $2...=user-ids - qgrp=`sqlquote "$1"`; shift - uids=`echo "$@"` - uids=`echo $uids|tr ' ' ','` sql="WITH grpemails AS ( SELECT gname, user, val email FROM grp_mem NATURAL JOIN grp_mem_s WHERE key='email' AND gname=$qgrp), useremails AS ( - SELECT user.rowid rid, user.name, val email + SELECT user.name, val email FROM user LEFT JOIN user_m ON user.name=user_m.name AND user_m.key='email') SELECT DISTINCT coalesce(g.email, u.email, u.name) FROM useremails u LEFT JOIN grpemails g ON u.name=g.user - WHERE u.rid in ($uids);" - ## err email4gByid `echo $sql` + WHERE u.name in ($users);" query "$sql" } +email4groupbyuid() { + # Get for-$1=group email address(es) for $2...=user-ids + g=$1; shift + uids=`echo "$@"` + uids=`echo $uids|tr ' ' ','` + sql="SELECT DISTINCT name FROM user WHERE rowid IN ($uids);" + email4group "$1" `query "$sql"` +} collectmembersbyid() { # Collect user names of group specified by grid rid=${1%%[!0-9]*} # Cleaning