../

更新時の差分だけをメールで送信 -- まるぱ *1

ページの更新時にメールを送信してくれる機能は非常に便利なのですが、 毎回ページ全体が送信されるので、どこが更新されたのか分かりにくいことがあります。

そこで、差分だけを送信するオプションを追加するパッチを作ってみました。

ただし更新部分の前後は見えなくなってしまいます。ほんとはdiffコマンドのunified出力みたくしたかったのですが・・・。

変更箇所

  • file.php
    --- file.php~   2003-07-29 18:01:38.000000000 +0900
    +++ file.php    2003-10-25 06:17:28.000000000 +0900
    @@ -93,6 +93,7 @@
            global $post,$update_exec;
            global $_msg_invalidiwn;
            global $notify,$notify_to,$notify_from,$notify_subject,$notify_header;
    +       global $notify_diff_only;
      
            if (!is_pagename($page))
            {
    @@ -147,6 +148,11 @@
      
            if ($notify and $dir == DIFF_DIR)
            {
    +        if ($notify_diff_only)
    +        {
    +            // 差分だけを送信する
    +            $str = preg_replace("/^[^-\+].*\n/m",'',$str);
    +        }
                    $subject = str_replace('$page',$page,$notify_subject);
                    mb_language(LANG);
                    mb_send_mail($notify_to,$subject,$str,$notify_header);

先頭が'+'か'-'以外の行を削除しているだけです。

  • pukiwiki.ini.php
    --- pukiwiki.ini.php~   2003-10-14 04:41:42.000000000 +0900
    +++ pukiwiki.ini.php    2003-10-25 05:14:22.000000000 +0900
    @@ -200,6 +200,8 @@
     $notify_subject = '[pukiwiki] $page';
     // 追加ヘッダ
     $notify_header = "From: $notify_from\r\nX-Mailer: PukiWiki/".S_VERSION." PHP/".phpversion();
    +// 差分だけを送信する
    +$notify_diff_only = 1;

  • あ^^;)自分もこれに似た改造して使ってます。ぱっと見でどこが変わったかわかって便利ですよね。 -- ぱんだ 2003-10-26 (日) 22:19:32
  • CVSに取り込んでいただけたようで、ありがとうございますm(__)m やる気がでてきました :) -- まるぱ 2003-10-28 (火) 02:43:28
  • PukiWiki 1.4 からパッケージに含まれています。

*1 ・・・開発メンバーには入っていないんですが、勝手にここに追加させてもらってよかったんでしょうか?*2
*2 無問題っす。

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2005-03-09 (水) 16:49:18
Site admin: PukiWiki Development Team

PukiWiki 1.5.2+ © 2001-2019 PukiWiki Development Team. Powered by PHP 5.6.40-0+deb8u7. HTML convert time: 0.337 sec.

OSDN