BugTrack/111
の編集
Top
/
BugTrack
/
111
[
トップ
] [
編集
|
差分
|
履歴
|
添付
|
リロード
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
|
ログイン
]
*update_execでメール送信 [#v7b2281e] -ページ: BugTrack -投稿者: [[なかの]] -優先順位: 低 -状態: 完了 -カテゴリー: その他 -投稿日: 2002-07-27 (土) 19:13:57 -バージョン: **メッセージ [#n3ee7179] [[なかの]]でアドバイスを受けまして、 変更をメールで知らせるようにしてみようと思ってます。 現在update_execはfile_writeの中で呼ばれているようで、 一回の更新で2通のメールが来てしまいます。 サンプルのupdate_execはmknmzを呼んでいるようですが、 この場合も2回呼ぶ必要はないような気がします。 file_writeの中でupdate_execを実行していますが、 update_execの意味的には呼出元で実行した方がいいような気がしています。どうでしょうか? ちなみにメールで更新内容そのものを送れるように以下の修正をしてみました。 こちらも考慮頂ければと思います。 $update_exec = 'mail mail_address@ドメイン < %update_file'; --- file.php.org 2002-07-27 18:06:58.000000000 +0900 +++ file.php 2002-07-27 18:06:40.000000000 +0900 @@ -49,7 +49,8 @@ if($update_exec) { - system($update_exec." > /dev/null &"); + $new_update_exec = str_replace("%update_file",$dir.encode($page).".txt",$update_exec); + system($new_update_exec." > /dev/null &"); } } ---- -プラグインによってページの書き換えが起こることもありうるので、「ページの書き換えが発生した」というイベントを最も捕らえやすいのはfile_writeの中なんでしょう。たぶん。 -- [[ぱんだ]] SIZE(10){2002-07-28 (日) 10:20:50} -ただ、file_writeは、DATA_DIRへの書き込み時とDIFF_DIRへの書き込み時の2回呼び出されますから、たとえば((場当たり的ですが))こんな風にすればいいんじゃないかと思います。 -- [[ぱんだ]] SIZE(10){2002-07-28 (日) 10:22:09} - if($update_exec) + if($update_exec and $dir == DATA_DIR) -手元で以下のような修正を入れて使っています(CVS版)。 -- [[masao]] &new{2003-04-24 (木) 22:22:54}; Index: pukiwiki.ini.php =================================================================== RCS file: /cvsroot/pukiwiki/pukiwiki/pukiwiki.ini.php,v retrieving revision 1.34 diff -u -r1.34 pukiwiki.ini.php --- pukiwiki.ini.php 3 Apr 2003 01:42:02 -0000 1.34 +++ pukiwiki.ini.php 24 Apr 2003 13:19:32 -0000 @@ -131,6 +131,17 @@ // ページの更新時にバックグランドで実行されるコマンド(mknmzなど) $update_exec = ''; //$update_exec = '/usr/bin/mknmz --media-type=text/pukiwiki -O /var/lib/namazu/index/ -L ja -c -K /var/www/wiki/'; +//////////////////////////////////////////////// +// ページの更新時にメールを送信するか +$notify = 1; +// To:(宛先) +$notify_to = 'masao@ulis.ac.jp'; +// From:(送り主) +$notify_from = 'admin@nile.ulis.ac.jp'; +// Subject:(件名) +$notify_subject = '[pukiwiki] %page'; +// 追加ヘッダ +$notify_header = "From: ".$notify_from."\r\nX-Mailer: PukiWiki/".S_VERSION." PHP/".phpversion(); ///////////////////////////////////////////////// // 一覧・更新一覧に含めないページ名(正規表現で) Index: file.php =================================================================== RCS file: /cvsroot/pukiwiki/pukiwiki/file.php,v retrieving revision 1.17 diff -u -r1.17 file.php --- file.php 13 Apr 2003 06:10:37 -0000 1.17 +++ file.php 24 Apr 2003 13:19:32 -0000 @@ -76,6 +76,7 @@ function file_write($dir,$page,$str) { global $post,$update_exec; + global $notify,$notify_to,$notify_from,$notify_subject,$notify_header; global $_msg_invalidiwn; if (!is_pagename($page)) @@ -118,6 +119,12 @@ if ($update_exec and $dir == DATA_DIR) { system($update_exec.' > /dev/null &'); + } + + if ($notify and $dir == DIFF_DIR) { + $subject = str_replace('%page', $page, $notify_subject); + mb_language(LANG); + mb_send_mail($notify_to, $subject, $str, $notify_header); } } -手元では問題は起きていないようなので、上記相当のものを1.4系に取り込んで頂くことはできませんでしょうか? -- [[masao]] &new{2003-06-06 (金) 20:18:22}; - cvsに投入しました。 -- [[ぱんだ]] &new{2003-06-11 (水) 09:06:30}; --[[cvs:pukiwiki.ini.php]](v1.4:r1.38) --[[cvs:file.php]](v1.4:r1.23) -正規表現の部分がどうしても上手くできないです。「練習用ページ」or「行頭:」の指定をどうやるか、どなたか教えてください。m(__)m -- [[maja]] &new{2003-06-17 (火) 22:53:02}; //#comment
タイムスタンプを変更しない
*update_execでメール送信 [#v7b2281e] -ページ: BugTrack -投稿者: [[なかの]] -優先順位: 低 -状態: 完了 -カテゴリー: その他 -投稿日: 2002-07-27 (土) 19:13:57 -バージョン: **メッセージ [#n3ee7179] [[なかの]]でアドバイスを受けまして、 変更をメールで知らせるようにしてみようと思ってます。 現在update_execはfile_writeの中で呼ばれているようで、 一回の更新で2通のメールが来てしまいます。 サンプルのupdate_execはmknmzを呼んでいるようですが、 この場合も2回呼ぶ必要はないような気がします。 file_writeの中でupdate_execを実行していますが、 update_execの意味的には呼出元で実行した方がいいような気がしています。どうでしょうか? ちなみにメールで更新内容そのものを送れるように以下の修正をしてみました。 こちらも考慮頂ければと思います。 $update_exec = 'mail mail_address@ドメイン < %update_file'; --- file.php.org 2002-07-27 18:06:58.000000000 +0900 +++ file.php 2002-07-27 18:06:40.000000000 +0900 @@ -49,7 +49,8 @@ if($update_exec) { - system($update_exec." > /dev/null &"); + $new_update_exec = str_replace("%update_file",$dir.encode($page).".txt",$update_exec); + system($new_update_exec." > /dev/null &"); } } ---- -プラグインによってページの書き換えが起こることもありうるので、「ページの書き換えが発生した」というイベントを最も捕らえやすいのはfile_writeの中なんでしょう。たぶん。 -- [[ぱんだ]] SIZE(10){2002-07-28 (日) 10:20:50} -ただ、file_writeは、DATA_DIRへの書き込み時とDIFF_DIRへの書き込み時の2回呼び出されますから、たとえば((場当たり的ですが))こんな風にすればいいんじゃないかと思います。 -- [[ぱんだ]] SIZE(10){2002-07-28 (日) 10:22:09} - if($update_exec) + if($update_exec and $dir == DATA_DIR) -手元で以下のような修正を入れて使っています(CVS版)。 -- [[masao]] &new{2003-04-24 (木) 22:22:54}; Index: pukiwiki.ini.php =================================================================== RCS file: /cvsroot/pukiwiki/pukiwiki/pukiwiki.ini.php,v retrieving revision 1.34 diff -u -r1.34 pukiwiki.ini.php --- pukiwiki.ini.php 3 Apr 2003 01:42:02 -0000 1.34 +++ pukiwiki.ini.php 24 Apr 2003 13:19:32 -0000 @@ -131,6 +131,17 @@ // ページの更新時にバックグランドで実行されるコマンド(mknmzなど) $update_exec = ''; //$update_exec = '/usr/bin/mknmz --media-type=text/pukiwiki -O /var/lib/namazu/index/ -L ja -c -K /var/www/wiki/'; +//////////////////////////////////////////////// +// ページの更新時にメールを送信するか +$notify = 1; +// To:(宛先) +$notify_to = 'masao@ulis.ac.jp'; +// From:(送り主) +$notify_from = 'admin@nile.ulis.ac.jp'; +// Subject:(件名) +$notify_subject = '[pukiwiki] %page'; +// 追加ヘッダ +$notify_header = "From: ".$notify_from."\r\nX-Mailer: PukiWiki/".S_VERSION." PHP/".phpversion(); ///////////////////////////////////////////////// // 一覧・更新一覧に含めないページ名(正規表現で) Index: file.php =================================================================== RCS file: /cvsroot/pukiwiki/pukiwiki/file.php,v retrieving revision 1.17 diff -u -r1.17 file.php --- file.php 13 Apr 2003 06:10:37 -0000 1.17 +++ file.php 24 Apr 2003 13:19:32 -0000 @@ -76,6 +76,7 @@ function file_write($dir,$page,$str) { global $post,$update_exec; + global $notify,$notify_to,$notify_from,$notify_subject,$notify_header; global $_msg_invalidiwn; if (!is_pagename($page)) @@ -118,6 +119,12 @@ if ($update_exec and $dir == DATA_DIR) { system($update_exec.' > /dev/null &'); + } + + if ($notify and $dir == DIFF_DIR) { + $subject = str_replace('%page', $page, $notify_subject); + mb_language(LANG); + mb_send_mail($notify_to, $subject, $str, $notify_header); } } -手元では問題は起きていないようなので、上記相当のものを1.4系に取り込んで頂くことはできませんでしょうか? -- [[masao]] &new{2003-06-06 (金) 20:18:22}; - cvsに投入しました。 -- [[ぱんだ]] &new{2003-06-11 (水) 09:06:30}; --[[cvs:pukiwiki.ini.php]](v1.4:r1.38) --[[cvs:file.php]](v1.4:r1.23) -正規表現の部分がどうしても上手くできないです。「練習用ページ」or「行頭:」の指定をどうやるか、どなたか教えてください。m(__)m -- [[maja]] &new{2003-06-17 (火) 22:53:02}; //#comment
テキスト整形のルールを表示する