Mercurial > hgrepos > hgweb.cgi > 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 wrap: on
line diff
--- a/s4-funcs.sh Thu Sep 29 14:55:17 2016 +0859 +++ b/s4-funcs.sh Tue Oct 11 23:34:51 2016 +0859 @@ -994,10 +994,12 @@ } smail() { # smail rcpts subj (file) - # $SMAIL_TO <- Recipient value of To: header + # $SMAIL_TO <- Recipient value of To: header + # $MAIL_FROM <- From: header value + from=`echo "${MAIL_FROM:-$admin}"|nkf -jM|tr -d '\n'` rcpt=`echo $1` # strip newlines subj=`echo $2|nkf -jM|tr -d '\n'` - (_m4 -D_RCPT_="${SMAIL_TO:-$rcpt}" -D_SUBJ_="\`$subj'" -D_FROM_=$admin $msgdir/mail-header.m4 + (_m4 -D_RCPT_="${SMAIL_TO:-$rcpt}" -D_SUBJ_="\`$subj'" -D_FROM_="$from" $msgdir/mail-header.m4 cat $3 | nkf -jd ) | sendmail -f $admin $rcpt } setviastring() { @@ -2052,10 +2054,21 @@ echo "なにかメッセージを..." | html p return 0 fi - smail "`email4groupbyuid "$grp" $usel` $user" \ - "`gecos $user` さんからのメッセージ" <<EOF + gecos=`gecos $user` + mkfrom=`getpar mkfrom` + if [ x"$mkfrom" = x"yes" ]; then + safegc=`echo "$gecos" | tr -d '<>@'` + myuid=`query "SELECT rowid FROM user WHERE name='$user';"` + fromad=`email4groupbyuid "$grp" "$myuid"` + mail_from="$safegc <$fromad>" + else + mail_from="$admin" + fi + MAIL_FROM=$mail_from \ + smail "`email4groupbyuid "$grp" $usel` $user" \ + "$gecos さんからのメッセージ" <<EOF $url -のグループ「$grp」のメンバーである `gecos $user` さんから、 +のグループ「$grp」のメンバーである $gecos さんから、 あなた宛へのメッセージです。 ---------------------------------------------------------- $text @@ -2067,7 +2080,7 @@ left join user_s b on a.name=b.name and b.key='gecos';" html pre<<EOF `query "$sql"` -(送信者である `gecos $user` さんも含まれます) +(送信者である $gecos さんも含まれます) EOF err SendDone: `echo $sql` fi @@ -2130,7 +2143,7 @@ WHERE name in (select user from grp_mem where gname=(select gname from grp where rowid=$grid)) ORDER by a.gecos;" - err grpaction: `echo "$sql"` + err grpaction: "`echo \"$sql\"`" tf=$tmpd/title.$$ echo "グループ[<a href=\"?grp+$grid\">$grp</a>]参加メンバーに対する操作" > $tf cmmsg="`cgi_radio rm commission id=\"cmadmin\"`<label @@ -2180,6 +2193,8 @@ `cgi_radio rm send id="sendmsg"`<label for="sendmsg">メッセージ送信</label> <div> +`cgi_checkbox mkfrom yes 'id="mkfrom" checked'`<label for="mkfrom" +>差出人を自分に(チェックを外すと相手が返事できない)</label><br> `cgi_textarea text "" cols=40` </div> ${isowner:+$cmmsg$excmsg} @@ -2219,7 +2234,7 @@ # 2: else, 2.1: owner-group where the $user belongs # 2.2: else, owner-group is not moderated # blog(id, author), blog_s(id, key='owner', val= ->owner) - cat<<EOF | tee tmp/sql.out + cat<<EOF ## | tee tmp/sql.out CREATE TEMPORARY VIEW readableblogs AS SELECT blog.rowid rid, id, author FROM blog