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