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 diff
     1.1 --- a/s4-funcs.sh	Thu Jun 30 12:41:10 2016 +0859
     1.2 +++ b/s4-funcs.sh	Thu Jun 30 12:42:16 2016 +0859
     1.3 @@ -1126,11 +1126,20 @@
     1.4  err em4gbid-IN: "\$1=$1 qgrp=$qgrp"
     1.5    uids=`echo "$@"`
     1.6    uids=`echo $uids|tr ' ' ','`
     1.7 -  sql="select coalesce(s.val, g.user) from grp_mem g
     1.8 -	left join grp_mem_s s on g.gname=s.gname and g.user=s.user
     1.9 -	and s.key='email'
    1.10 -	where g.gname=$qgrp and g.user in
    1.11 -	 (select name from user where rowid in ($uids));"
    1.12 +  sql="WITH
    1.13 +	grpemails AS (
    1.14 +	  SELECT gname, user, val email
    1.15 +	  FROM grp_mem NATURAL JOIN grp_mem_s
    1.16 +	  WHERE key='email' AND gname=$qgrp),
    1.17 +	useremails AS (
    1.18 +	  SELECT user.rowid rid, user.name, val email
    1.19 +	  FROM user
    1.20 +	       LEFT JOIN user_s
    1.21 +	       ON user.name=user_s.name AND user_s.key='email')
    1.22 +	SELECT DISTINCT coalesce(g.email, u.name)
    1.23 +	FROM  useremails u LEFT JOIN grpemails g
    1.24 +	      ON u.name=g.user
    1.25 +	WHERE u.rid in ($uids);"
    1.26    err email4gByid `echo $sql`
    1.27    query "$sql"
    1.28  }
    1.29 @@ -1385,7 +1394,7 @@
    1.30           max(time,
    1.31               coalesce((SELECT time FROM acclog
    1.32  		       WHERE user='$user' and tbl='blog'
    1.33 -		       AND tblrowid=$blogreadflagrowid), 0)) time
    1.34 +		       AND tblrowid=$blogreadflagrowid), " ")) time
    1.35  	 FROM acclog
    1.36  	 WHERE user='$user' AND  tbl='blog'
    1.37  ), blogall as (