質問箱/2268
の編集
Top
/
質問箱
/
2268
[
トップ
] [
編集
|
差分
|
履歴
|
添付
|
リロード
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
|
ログイン
]
Wikiを試したい方へ:
「この」Wikiは、
PukiWiki
のための公式Wikiです。
テスト書き込みなどは
お試しサイト
https://pukiwiki.osdn.jp/_trial/
をご利用ください
**[[質問箱/2268]] [#s32f2b2b] |RIGHT:70|LEFT:410|c |~カテゴリ|| |~サマリ|「タイムスタンプを変更しない」場合にメール送信止めたいです| |~バージョン|1.4.3| |~投稿者|[[しまやん]]| |~状態|完了| |~投稿日|&new{2004-07-25 (SUN) 19:10:17};| ***質問 [#e527298b] ページが改定されたときに送信されるメール機能、非常に重宝しているのですが、メールを流すまでもない更新の場合に、意図的にメール通知をしないであげたい、とも思っています。 そこで「file.php」の154行目あたりに手を加えて「タイムスタンプを変更しない」チェックがオンのときはメールを送らないようにしてみましたが、このオンオフに関わらず、必ずメールが送られてしまいます。 if ($notify and $dir == DIFF_DIR) { + if (!$notimestamp) + { if ($notify_diff_only) { // 差分だけを送信する $str = preg_replace('/^[^-+].*\n/m','',$str); } if ($smtp_auth) { pop_before_smtp(); } $subject = str_replace('$page',$page,$notify_subject); ini_set('SMTP',$smtp_server); mb_language(LANG); mb_send_mail($notify_to,$subject,$str,$notify_header); + } } どなたかアドバイス頂けましたら幸いです。 ***回答 [#xf07feac] -[[しまやん]] &new{2004-07-25 (SUN) 19:13:45}; ~うわ、ごめんなさい、行がくずれちゃいました。 要は「if (!$notimestamp)」がうまいこと動いてないみたいなのですが・・。 -[[しまやん]] &new{2004-07-26 (MON) 17:26:25}; ~自己レスです。「if (!$notimestamp)」が効かない理由は判明しました。file.phpの42行目にある通り、DIFF_DIRモードでfile_writeが呼ばれるときは無条件に$notimestampがfalseとなる仕様の為でした。引き続き具体的な解決方法を考えてみようと思いますが、まずは現状の報告まで。 -[[henoheno]] &new{2004-07-26 (MON) 21:12:13}; ~タイムスタンプを変えずに、暗黙のいたずらをされた場合もメールで通知が行かなくなってしまう気がしますので、その辺が今後の課題ですね :) -[[しまやん]] &new{2004-07-27 (TUE) 00:06:25}; ~ふむふむ、なるほど。 メールを自分の携帯に送っている都合上、ページを新設したりする推敲作業中にもメールがバンバン飛ぶのはなんとかならないかなあ、というのが最初の動機でした。そうなると管理者パスワードを入れたときだけメールを止められる、とするほうがいいかもですね。もう少し検討してみます。^^ -[[しまやん]] &new{2004-07-27 (TUE) 22:05:13}; ~検討した結果の”逃げ手”として、file.php 119行目付近に「if (preg_match ("/特定のキーワード/i", $str)」を追加して、TRUEならば何かフラグ($stopswなど)を立てた後にpreg_replaceでそのキーワードを空文字に置換しておき、後は 156行目付近で「if ($notify and $dir == DIFF_DIR and !$stopsw)」とやってみたら、特定のキーワードを含む時だけメールを抑制できました。きっとイレギュラーな方法なのでしょうが、とりあえず個人用ですのでこれで運用してみようと思います。PHP触るのは初めてでしたが、なかなか興味深く、もっと勉強してみたい気がしてきました。ありがとうございました。 - [[欲しいプラグイン/339]] -- &new{2013-09-10 (火) 17:57:59}; //#comment
**[[質問箱/2268]] [#s32f2b2b] |RIGHT:70|LEFT:410|c |~カテゴリ|| |~サマリ|「タイムスタンプを変更しない」場合にメール送信止めたいです| |~バージョン|1.4.3| |~投稿者|[[しまやん]]| |~状態|完了| |~投稿日|&new{2004-07-25 (SUN) 19:10:17};| ***質問 [#e527298b] ページが改定されたときに送信されるメール機能、非常に重宝しているのですが、メールを流すまでもない更新の場合に、意図的にメール通知をしないであげたい、とも思っています。 そこで「file.php」の154行目あたりに手を加えて「タイムスタンプを変更しない」チェックがオンのときはメールを送らないようにしてみましたが、このオンオフに関わらず、必ずメールが送られてしまいます。 if ($notify and $dir == DIFF_DIR) { + if (!$notimestamp) + { if ($notify_diff_only) { // 差分だけを送信する $str = preg_replace('/^[^-+].*\n/m','',$str); } if ($smtp_auth) { pop_before_smtp(); } $subject = str_replace('$page',$page,$notify_subject); ini_set('SMTP',$smtp_server); mb_language(LANG); mb_send_mail($notify_to,$subject,$str,$notify_header); + } } どなたかアドバイス頂けましたら幸いです。 ***回答 [#xf07feac] -[[しまやん]] &new{2004-07-25 (SUN) 19:13:45}; ~うわ、ごめんなさい、行がくずれちゃいました。 要は「if (!$notimestamp)」がうまいこと動いてないみたいなのですが・・。 -[[しまやん]] &new{2004-07-26 (MON) 17:26:25}; ~自己レスです。「if (!$notimestamp)」が効かない理由は判明しました。file.phpの42行目にある通り、DIFF_DIRモードでfile_writeが呼ばれるときは無条件に$notimestampがfalseとなる仕様の為でした。引き続き具体的な解決方法を考えてみようと思いますが、まずは現状の報告まで。 -[[henoheno]] &new{2004-07-26 (MON) 21:12:13}; ~タイムスタンプを変えずに、暗黙のいたずらをされた場合もメールで通知が行かなくなってしまう気がしますので、その辺が今後の課題ですね :) -[[しまやん]] &new{2004-07-27 (TUE) 00:06:25}; ~ふむふむ、なるほど。 メールを自分の携帯に送っている都合上、ページを新設したりする推敲作業中にもメールがバンバン飛ぶのはなんとかならないかなあ、というのが最初の動機でした。そうなると管理者パスワードを入れたときだけメールを止められる、とするほうがいいかもですね。もう少し検討してみます。^^ -[[しまやん]] &new{2004-07-27 (TUE) 22:05:13}; ~検討した結果の”逃げ手”として、file.php 119行目付近に「if (preg_match ("/特定のキーワード/i", $str)」を追加して、TRUEならば何かフラグ($stopswなど)を立てた後にpreg_replaceでそのキーワードを空文字に置換しておき、後は 156行目付近で「if ($notify and $dir == DIFF_DIR and !$stopsw)」とやってみたら、特定のキーワードを含む時だけメールを抑制できました。きっとイレギュラーな方法なのでしょうが、とりあえず個人用ですのでこれで運用してみようと思います。PHP触るのは初めてでしたが、なかなか興味深く、もっと勉強してみたい気がしてきました。ありがとうございました。 - [[欲しいプラグイン/339]] -- &new{2013-09-10 (火) 17:57:59}; //#comment
テキスト整形のルールを表示する