diff s4-funcs.sh @ 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 19b92549b5b7
children 7dd85c224bbb
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 (

yatex.org