トップ 新規 差分 一覧 ソース 検索 ヘルプ PDF RSS ログイン

plugin/bbs/BBS2.pm

  1
2
3
###############################################################################
#
# <p>掲示版風の投稿フォームを出力します。1件の投稿が1ページとなり、ページ処理もサポートします。</p>
 35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
###############################################################################
package plugin::bbs::BBS2;
use strict;
#==============================================================================
# コンストラクタ
#==============================================================================
sub new {
        my $class = shift;
        my $self = {};
        return bless $self,$class;
}

#==============================================================================
# 掲示板入力フォーム
#==============================================================================
sub paragraph {
        my $self   = shift;
        my $wiki   = shift;
        my $name   = shift;
        my $once   = shift;
        my $option = shift;
        
        if($name eq ""){
                return &Util::paragraph_error("掲示板の名前が指定されていません。");
        }
        if($once eq "" || !&Util::check_numeric($once)){
                $option = $once;
                $once   = 10;
        }
        
        my $cgi = $wiki->get_CGI;
        my $page = $cgi->param("page");
        
        # 入力フォーム
        my $tmpl = HTML::Template->new(filename=>$wiki->config('tmpl_dir')."/bbs.tmpl",
                                       die_on_bad_params=>0);
        
        # 名前を取得
        my $postname = $cgi->cookie(-name=>'post_name');
        if($postname eq ''){
                my $login = $wiki->get_login_info();
                if(defined($login)){
                        $postname = $login->{id};
                }
        }
        $tmpl->param(NAME=>$postname);
        
        my $buf = "<form method=\"post\" action=\"".$wiki->config('script_name')."\">\n".
                  $tmpl->output.
                  "<input type=\"hidden\" name=\"action\" value=\"BBS2\">\n".
                  "<input type=\"hidden\" name=\"bbsname\" value=\"".&Util::escapeHTML($name)."\">\n";
        
        if($option eq "no_comment"){
                $buf .="<input type=\"hidden\" name=\"option\" value=\"no_comment\">\n";
        } elsif($option eq "reverse_comment"){
                $buf .="<input type=\"hidden\" name=\"option\" value=\"reverse_comment\">\n";
        }
        
        $buf .= "</form>";
        
        # 記事の一覧を連結(no_listオプションがつけられた場合は表示しない)
        if($option ne "no_list"){
                $buf .= $wiki->process_wiki("{{bbs2list $name,$once}}");
        }
        
        return $buf;
}

1;

最終更新時間:2005年08月04日 02時45分46秒