**[[続・質問箱/268]] [#s32f2b2b]
#author("2018-03-11T13:50:38+09:00;2013-09-10T23:38:32+09:00","","")
**[[質問箱/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

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Site admin: PukiWiki Development Team

PukiWiki 1.5.3+ © 2001-2020 PukiWiki Development Team. Powered by PHP 5.6.40-0+deb8u12. HTML convert time: 0.040 sec.

OSDN