# HG changeset patch # User HIROSE Yuuji # Date 1589195309 -32400 # Node ID a36a2c3b305633888d1ce891fc6c7f3966ba1d38 # Parent ef138b0c44a5d4024933c3259391e264b85f0b16 GrpAction: Reverse selection and supplemental rcpt address diff -r ef138b0c44a5 -r a36a2c3b3056 examples/common/default/default.css --- a/examples/common/default/default.css Mon May 11 19:46:57 2020 +0900 +++ b/examples/common/default/default.css Mon May 11 20:08:29 2020 +0900 @@ -35,6 +35,8 @@ table.td3r td:nth-child(3) {text-align: right;} table.td3rr td:nth-child(n+3) {text-align: right;} table.td3evw th:nth-child(2n+4) {background: white;} +table.thl th {text-align: left;} +span#reverse {background: white; padding: 0 0 0 0.4ex; border: outset;} table.form, table.b, table.b tr, table.b td, table.b th { border: 1px solid black; border-collapse: collapse; @@ -176,6 +178,10 @@ display: block; background: #fadede; height: auto; opacity: 1.0; transition: 1s; } +input.fold ~ *.folded {opacity: 0;} +input[type="checkbox"].fold:checked ~ *.folded { + opacity: 1.0; transition: 2s; +} /* fold2!! */ div.foldtabs { diff -r ef138b0c44a5 -r a36a2c3b3056 s4-funcs.sh --- a/s4-funcs.sh Mon May 11 19:46:57 2020 +0900 +++ b/s4-funcs.sh Mon May 11 20:08:29 2020 +0900 @@ -1145,10 +1145,11 @@ # $MAIL_FROM <- From: header value from=`echo "${MAIL_FROM:-$admin}"|nkf -jM|tr -d '\n'` rcpt=`echo $1|tr ' ' '\n'|sort -u|tr '\n' ' '` # uniq and strip newlines + rcptheader=`echo $1|tr ' ' '\n'|sort -u|sed '2,$s/^/To: /g'` subj=`echo $2|nkf -jM|tr -d '\n'` sender=${SENDER:-$admin} replyto=${REPLYTO:+"Reply-to: $REPLYTO$LF"} - (_m4 -D_RCPT_="${SMAIL_TO:-$rcpt}" -D_REPLYTO_="$replyto" -D_SUBJ_="\`$subj'" -D_FROM_="$from" $msgdir/mail-header.m4 + (_m4 -D_RCPT_="${SMAIL_TO:-$rcptheader}" -D_REPLYTO_="$replyto" -D_SUBJ_="\`$subj'" -D_FROM_="$from" $msgdir/mail-header.m4 cat $3 | nkf -jd ) | sendmail -f $sender $rcpt } smail_queue_flush() { @@ -2655,10 +2656,16 @@ else mail_from="$noreply_from" fi + ar=`getpar supprcpt` + if [ -n "$ar" -a -n `getpar suppck` ]; then + for a in $ar; do + checkdomain "$a" && supprcpt="$supprcpt $a" + done + fi ## SENDER=$noreply \ # Should not SENDER be set to $noreply?? REPLYTO=$replyto \ MAIL_FROM=$mail_from \ - smail "`email4groupbyuid "$grp" $usel` $user" \ + smail "`email4groupbyuid "$grp" $usel` $user$supprcpt" \ "$gecos さんからのメッセージ" <\)k\([0-9]*\),\([^<]*\)|\1$ba\2$b2\3$b3|" \ # -e "s|^\(\)\([0-9]*\),\([^<]*\)|\1$b1\2$b2\3$b3|" \ @@ -2794,6 +2802,7 @@ cgi_form grpaction<\)k\([0-9]*\),\([^<]*\)|\1$ba\2$lnk|" \ -e "s|^\(\)\([0-9]*\),\([^<]*\)|\1$b1\2$lnk|" \ + -e "s|^\(\)\(NAME\)|\1$br \2|" \ | _m4 -D_TITLE_="spaste(\`$tf')" \ -D_SUBTITLE_="チェック後操作ボタン" \ -D_FORM_="syscmd(cat)" -D_DUMPTABLE_="" \ @@ -2811,13 +2820,16 @@
`cgi_checkbox mkfrom yes 'id="mkfrom" checked'`
-`cgi_textarea text "" cols=40` + +`cgi_text supprcpt`(下記一覧の1人以上選択しないと無効) +
`cgi_textarea text "" cols=40`
${isowner:+$cmmsg$excmsg} `cgi_radio rm close id="x"`

$grp 参加者一覧

$fromtonote - +
`sq $db -header -html "$sql"`
`cgi_hidden grp $grid` diff -r ef138b0c44a5 -r a36a2c3b3056 s4-main.js --- a/s4-main.js Mon May 11 19:46:57 2020 +0900 +++ b/s4-main.js Mon May 11 20:08:29 2020 +0900 @@ -54,7 +54,13 @@ textarea.value = lines.join("\n"); } } - function init() { + function reverseChecks() { + var names = collectElementsByNameAttr("input", "usel"); + for (let u of names) { + u.checked = !u.checked; + } + } + function initBlogs() { var el, check = collectElementsByNameAttr("input", "notifyto"); if (check) for (let i of check) { @@ -65,5 +71,16 @@ if (RegExp.lastMatch == i.innerHTML) i.addEventListener("click", insertRedirect, null) } + function initGrpAction() { + var rev = document.getElementById("reverse"); + if (rev && rev.tagName.match(/span/i)) { + rev.textContent = " 反転 "; + rev.addEventListener("click", reverseChecks, null); + } + } + function init() { + initGrpAction(); + initBlogs(); + } document.addEventListener('DOMContentLoaded', init, null); })();