Mercurial > hgrepos > hgweb.cgi > s4
changeset 240:3ba9493977e1
email4groupbyuid now accepts uname(email) as well as gname
author | HIROSE Yuuji <yuuji@gentei.org> |
---|---|
date | Thu, 30 Jun 2016 12:42:16 +0859 |
parents | 25e0b1eaf04d |
children | 0c817d4a549a |
files | s4-funcs.sh |
diffstat | 1 files changed, 15 insertions(+), 6 deletions(-) [+] |
line wrap: on
line diff
--- a/s4-funcs.sh Thu Jun 30 12:41:10 2016 +0859 +++ b/s4-funcs.sh Thu Jun 30 12:42:16 2016 +0859 @@ -1126,11 +1126,20 @@ err em4gbid-IN: "\$1=$1 qgrp=$qgrp" uids=`echo "$@"` uids=`echo $uids|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 - (select name from user where rowid in ($uids));" + 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 + FROM user + LEFT JOIN user_s + ON user.name=user_s.name AND user_s.key='email') + SELECT DISTINCT coalesce(g.email, u.name) + FROM useremails u LEFT JOIN grpemails g + ON u.name=g.user + WHERE u.rid in ($uids);" err email4gByid `echo $sql` query "$sql" } @@ -1385,7 +1394,7 @@ max(time, coalesce((SELECT time FROM acclog WHERE user='$user' and tbl='blog' - AND tblrowid=$blogreadflagrowid), 0)) time + AND tblrowid=$blogreadflagrowid), " ")) time FROM acclog WHERE user='$user' AND tbl='blog' ), blogall as (