# HG changeset patch
# User HIROSE Yuuji
# Date 1437523375 -32400
# Node ID 514acfff7453ef80a40ce17e50e3b680f30395bf
# Parent 850f0d4228f712f81dfdfae10d58585c03b51b3b
periodic
diff -r 850f0d4228f7 -r 514acfff7453 s4-funcs.sh
--- a/s4-funcs.sh Wed Jul 22 08:17:46 2015 +0900
+++ b/s4-funcs.sh Wed Jul 22 09:02:55 2015 +0900
@@ -1,6 +1,9 @@
#!/bin/sh
# Here's global variable table. Do not use this names.
# $HGid$
+
+[ -f s4-config.sh ] && . ./s4-config.sh
+
myname=`basename ${SCRIPT_NAME:-$0}`
mydir=`dirname ${SCRIPT_FILENAME:-$0}`
myargs="$@"
@@ -1014,19 +1017,26 @@
em=`query "select val from user_m where name='$1' and key='email';"`
[ -n "$em" ] && echo "$em" || echo "$1"
else
- query "with recursive allmem as
- (select gname,val from grp_m where gname='$1'
- union all select grp_m.gname,grp_m.val from grp_m,allmem
- where allmem.val=grp_m.gname)
- select coalesce(b.val,a.val)
- from allmem a left join grp_mem_s b
- on a.gname=b.gname and a.val=b.user and b.key='email'
- where a.val in (select name from user) limit 10000;"
+ # sql="with recursive allmem as
+ # (select gname,val from grp_m where gname='$1'
+ # union all select grp_m.gname,grp_m.val from grp_m,allmem
+ # where allmem.val=grp_m.gname)
+ # select coalesce(b.val,a.val)
+ # from allmem a left join grp_mem_s b
+ # on a.gname=b.gname and a.val=b.user and b.key='email'
+ # where a.val in (select name from user) limit 10000;"
+ # tmp tmp tmp tmp tmp tmp tmp
+ qgrp=`sqlquote $1`
+ 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;"
+ err CollectEmail: `echo "$sql"`
+ query "$sql"
fi
}
sendinvitation() (
# $1=email
- iss="invite-`date +%s`-$(genrandom 10)"
+ iss="invite-`date +%s`-$user"
addsession $iss +7days # 1 week due date
query "replace into par values('$iss', 'invite', 'string', \"$1\");"
gecos=`gecos`
@@ -1071,7 +1081,13 @@
"") repo="招待したい人のメイルアドレスを入力してください。" ;;
*) repo="無効なアドレスです" ;;
esac
- m4 -D_REPORT_="$repo" -D_ACTION_="$myname?invite" \
+ addr=`query "select val from par where sessid like 'invite-%-$user';"`
+err addr=$addr
+ if [ -n "$addr" ]; then
+ susp="
+EOF
+}
joingrp() {
# $1=group $2=user $3=yes/no $4=email(if any $5=AsAdmin)
err joingrp: \$1=$1 \$2=$2 \$3=$3 \$4=$4
isgrpowner "$user" "$1" && isowner="yes" || isowner=""
err jg:isgrpowner: isowner="$isowner"
if [ x"$2" != x"$user" ]; then # if user is not login user
- if [ -z "$isowner" ; then
+ if [ -z "$isowner" ]; then
echo "