s4
changeset 300:973fb0ea5c2f
Send direct message with sender's From:
author | HIROSE Yuuji <yuuji@gentei.org> |
---|---|
date | Tue, 11 Oct 2016 23:34:51 +0859 |
parents | b38514180d13 |
children | ba0730073d6f |
files | s4-funcs.sh |
diffstat | 1 files changed, 23 insertions(+), 8 deletions(-) [+] |
line diff
1.1 --- a/s4-funcs.sh Thu Sep 29 14:55:17 2016 +0859 1.2 +++ b/s4-funcs.sh Tue Oct 11 23:34:51 2016 +0859 1.3 @@ -994,10 +994,12 @@ 1.4 } 1.5 smail() { 1.6 # smail rcpts subj (file) 1.7 - # $SMAIL_TO <- Recipient value of To: header 1.8 + # $SMAIL_TO <- Recipient value of To: header 1.9 + # $MAIL_FROM <- From: header value 1.10 + from=`echo "${MAIL_FROM:-$admin}"|nkf -jM|tr -d '\n'` 1.11 rcpt=`echo $1` # strip newlines 1.12 subj=`echo $2|nkf -jM|tr -d '\n'` 1.13 - (_m4 -D_RCPT_="${SMAIL_TO:-$rcpt}" -D_SUBJ_="\`$subj'" -D_FROM_=$admin $msgdir/mail-header.m4 1.14 + (_m4 -D_RCPT_="${SMAIL_TO:-$rcpt}" -D_SUBJ_="\`$subj'" -D_FROM_="$from" $msgdir/mail-header.m4 1.15 cat $3 | nkf -jd ) | sendmail -f $admin $rcpt 1.16 } 1.17 setviastring() { 1.18 @@ -2052,10 +2054,21 @@ 1.19 echo "なにかメッセージを..." | html p 1.20 return 0 1.21 fi 1.22 - smail "`email4groupbyuid "$grp" $usel` $user" \ 1.23 - "`gecos $user` さんからのメッセージ" <<EOF 1.24 + gecos=`gecos $user` 1.25 + mkfrom=`getpar mkfrom` 1.26 + if [ x"$mkfrom" = x"yes" ]; then 1.27 + safegc=`echo "$gecos" | tr -d '<>@'` 1.28 + myuid=`query "SELECT rowid FROM user WHERE name='$user';"` 1.29 + fromad=`email4groupbyuid "$grp" "$myuid"` 1.30 + mail_from="$safegc <$fromad>" 1.31 + else 1.32 + mail_from="$admin" 1.33 + fi 1.34 + MAIL_FROM=$mail_from \ 1.35 + smail "`email4groupbyuid "$grp" $usel` $user" \ 1.36 + "$gecos さんからのメッセージ" <<EOF 1.37 $url 1.38 -のグループ「$grp」のメンバーである `gecos $user` さんから、 1.39 +のグループ「$grp」のメンバーである $gecos さんから、 1.40 あなた宛へのメッセージです。 1.41 ---------------------------------------------------------- 1.42 $text 1.43 @@ -2067,7 +2080,7 @@ 1.44 left join user_s b on a.name=b.name and b.key='gecos';" 1.45 html pre<<EOF 1.46 `query "$sql"` 1.47 -(送信者である `gecos $user` さんも含まれます) 1.48 +(送信者である $gecos さんも含まれます) 1.49 EOF 1.50 err SendDone: `echo $sql` 1.51 fi 1.52 @@ -2130,7 +2143,7 @@ 1.53 WHERE name in (select user from grp_mem where 1.54 gname=(select gname from grp where rowid=$grid)) 1.55 ORDER by a.gecos;" 1.56 - err grpaction: `echo "$sql"` 1.57 + err grpaction: "`echo \"$sql\"`" 1.58 tf=$tmpd/title.$$ 1.59 echo "グループ[<a href=\"?grp+$grid\">$grp</a>]参加メンバーに対する操作" > $tf 1.60 cmmsg="`cgi_radio rm commission id=\"cmadmin\"`<label 1.61 @@ -2180,6 +2193,8 @@ 1.62 `cgi_radio rm send id="sendmsg"`<label 1.63 for="sendmsg">メッセージ送信</label> 1.64 <div> 1.65 +`cgi_checkbox mkfrom yes 'id="mkfrom" checked'`<label for="mkfrom" 1.66 +>差出人を自分に(チェックを外すと相手が返事できない)</label><br> 1.67 `cgi_textarea text "" cols=40` 1.68 </div> 1.69 ${isowner:+$cmmsg$excmsg} 1.70 @@ -2219,7 +2234,7 @@ 1.71 # 2: else, 2.1: owner-group where the $user belongs 1.72 # 2.2: else, owner-group is not moderated 1.73 # blog(id, author), blog_s(id, key='owner', val= ->owner) 1.74 - cat<<EOF | tee tmp/sql.out 1.75 + cat<<EOF ## | tee tmp/sql.out 1.76 CREATE TEMPORARY VIEW readableblogs AS 1.77 SELECT blog.rowid rid, id, author 1.78 FROM blog