ページの作成や編集にはユーザ登録が必要です。
保存時に強制的にcommentプラグインは存在しません。をつけてみるプラグイン
- 投稿者: Qz
- カテゴリ: 新規
- 優先度: 低
- 状態: 提案
- 日時: 2003年11月15日 23時38分05秒
内容
BBS-サポート掲示板/127を読んで、興味本位で作ってみました。
プラグイン名の良い名前が思いつかない(いつもですが)ので、とりあえず、testという名前で^^;
新規保存時にのみ、commentプラグインは存在しません。を付加する。
Install.pm
package plugin::test::Install; sub install { my $wiki = shift; $wiki->add_hook("save_before" ,"plugin::test::Test"); $wiki->add_hook("save_after" ,"plugin::test::Test"); } 1;
Test.pm
package plugin::test::Test; sub new { my $class = shift; my $self = {}; $self->{new} = 0; return bless $self,$class; } sub hook { my $self = shift; my $wiki = shift; my $name = shift; my $cgi = $wiki->get_CGI; my $page = $cgi->param("page"); if($name eq "save_before"){ $self->{new} = $wiki->page_exists($page) ? 0:1; }elsif($name eq "save_after"){ if($self->{new}){ my $src = $wiki->get_page($page); $src .= "\n{{comment}}\n"; $wiki->save_page($page, $src); $self->{new} = 0; } } } 1;
保存前に、ページの有無を調べて、ページが存在しなければ、新規なので、保存後に、保存したページのソースに直接、commentプラグインは存在しません。をつけたして、保存します。
複数のユーザが、同時にページの保存をした際の挙動に、かなり自信ないです^^;;(特にmod_perl上で動作している場合)
あとは、commentプラグインは存在しません。を編集した際に削除される恐れは、当然あります。というわけで、保存時に、commentプラグインは存在しません。がなければ、勝手につけてしまおうというプラグインも作ってみました。
保存時にcommentプラグインは存在しません。がなければ、勝手に付加する。
Install.pm
package plugin::test::Install; sub install { my $wiki = shift; $wiki->add_hook("save_after" ,"plugin::test::Test"); } 1;
Test.pm
package plugin::test::Test; sub new { my $class = shift; my $self = {}; return bless $self,$class; } sub hook { my $self = shift; my $wiki = shift; my $cgi = $wiki->get_CGI; my $page = $cgi->param("page"); my $src = $wiki->get_page($page); if($src !~ /\n\{\{comment\}\}(\n|$)/){ $src .= "\n{{comment}}\n"; $wiki->save_page($page, $src); } } 1;
最終更新時間:2007年01月22日 07時47分05秒