############################################################
# 
# <p>1行コメントを書き込むためのフォームを出力します。</p>
# <pre>
# {{comment}}
# </pre>
# <p>
#   通常、コメントは投稿フォームの下に追加されていきますが、
#   オプションでフォームの上に新着順表示するようにできます。
# </p>
# <pre>
# {{comment reverse}}
# </pre>
# <p>
#   tailオプションをつけるとページの最後にコメントを追加します。
#   フッタなどにcommentプラグインを配置して全ページにコメントを
#   つけたい場合に有効です。
# </p>
# <pre>
# {{comment tail}}
# </pre>
# 
############################################################
package plugin::comment::Comment;
use strict;
#===========================================================
# コンストラクタ
#===========================================================
sub new {
	my $class = shift;
	my $self = {};
	return bless $self,$class;
}

#===========================================================
# コメントフォーム
#===========================================================
sub paragraph {
	my $self = shift;
	my $wiki = shift;
	my $opt  = shift;
	my $cgi  = $wiki->get_CGI;
	
	my $page = $cgi->param("page");
	
	if(!defined($self->{$page})){
		$self->{$page} = 1;
	} else {
		$self->{$page}++;
	}
	
	# 名前を取得
	my $name = Util::url_decode($cgi->cookie(-name=>'fswiki_post_name'));
	if($name eq ''){
		my $login = $wiki->get_login_info();
		if(defined($login)){
			$name = $login->{id};
		}
	}
	
	my $tmpl = HTML::Template->new(filename=>$wiki->config('tmpl_dir')."/comment.tmpl",
	                               die_on_bad_params=>0);
	$tmpl->param(NAME=>$name);
	
	my $buf = "<form method=\"post\" action=\"".$wiki->create_url()."\">\n".
	          $tmpl->output().
	          "<input type=\"hidden\" name=\"action\" value=\"COMMENT\">\n".
	          "<input type=\"hidden\" name=\"page\" value=\"".&Util::escapeHTML($page)."\">\n".
	          "<input type=\"hidden\" name=\"count\" value=\"".$self->{$page}."\">\n".
	          "<input type=\"hidden\" name=\"option\" value=\"".&Util::escapeHTML($opt)."\">\n".
	          "</form>\n";
	
	return $buf;
}

1;