############################################################################### # #

掲示版風の投稿フォームを出力します。

#
# {{bbs}}
# 
#

# プラグインを記述した場所に掲示版風の投稿フォームを表示します。 # フォームからの投稿内容はそのページに追加されます。 #

#

# デフォルトでは各投稿記事に返信用のコメントフォームが出力されますが、 # no_commentオプションをつけるとOFFにすることができます。 #

#
# {{bbs no_comment}}
# 
#

# reverse_commentオプションをつけると各記事につくcommentプラグインに # reverseオプションをつけることができ、コメントが新着順表示されるようになります。 #

#
# {{bbs reverse_comment}}
# 
# ############################################################################### package plugin::bbs::BBS; use strict; #============================================================================== # コンストラクタ #============================================================================== sub new { my $class = shift; my $self = {}; return bless $self,$class; } #============================================================================== # 掲示板入力フォーム #============================================================================== sub paragraph { my $self = shift; my $wiki = shift; my $option = shift; my $cgi = $wiki->get_CGI; my $page = $cgi->param("page"); if($page eq ""){ return ""; } if(!defined($self->{$page})){ $self->{$page} = 1; } else { $self->{"count"}++; } my $tmpl = HTML::Template->new(filename=>$wiki->config('tmpl_dir')."/bbs.tmpl", die_on_bad_params=>0); # 名前を取得 my $name = $cgi->cookie(-name=>'post_name'); if($name eq ''){ my $login = $wiki->get_login_info(); if(defined($login)){ $name = $login->{id}; } } $tmpl->param(NAME=>$name); my $buf = "
config('script_name')."\">\n". $tmpl->output. "\n". "\n". "{$page}."\">\n"; if($option eq "no_comment"){ $buf .="\n"; } elsif($option eq "reverse_comment"){ $buf .="\n"; } return $buf."
"; } 1;