# HG changeset patch # User HIROSE Yuuji # Date 1467258137 -32399 # Node ID 3ba9493977e192ce6be912ea024438fd6bf6c068 # Parent 25e0b1eaf04d036d4910c356c72e64849bb4dc7b email4groupbyuid now accepts uname(email) as well as gname diff -r 25e0b1eaf04d -r 3ba9493977e1 s4-funcs.sh --- 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 (