1 ##########################################################################################
3 # ¥¹¥Ñ¥à¥Õ¥£¥ë¥¿¡¼¥×¥é¥°¥¤¥ó¡Ê³Ø½¬µ¡Ç½Ìµ¤·ÈÇ¡Ë
4 #¡Êpcomment¥×¥é¥°¥¤¥ó¤Î¥ª¡¼¥Ð¡¼¥é¥¤¥É¡Ë
6 ##########################################################################################
9 use plugin::pcomment::PComment;
11 # plugin::pcomment::PComment¤Îdo_action¥á¥½¥Ã¥É¤ÎÃÖ¤´¹¤¨
12 package plugin::pcomment::PComment;
17 my $cgi = $wiki->get_CGI;
\r
19 my $name = $cgi->param("name");
\r
20 my $message = $cgi->param("message");
\r
21 my $save_page = $cgi->param("save_page");
\r
22 my $show_page = $cgi->param("show_page");
\r
23 my $head_char = $cgi->param("head_char");
\r
24 my $reply = $cgi->param("reply");
\r
26 #--------------------------------------------------------------------------------------------------
28 unless(&plugin::_ex_spam_filter_light::Install::judgment_text($message)){
29 my $time = Util::format_date(time());
30 my $file = $wiki->config('log_dir')."/spam_pcomment.txt";
31 if(open(SPAM_LOG, ">>$file")){
32 print SPAM_LOG "$show_page:$message - $name($time)\n";
35 my $error_message = $wiki->error("Åê¹Æ¤µ¤ì¤¿Ê¸¾Ï¤Ï¥¹¥Ñ¥à¥á¥Ã¥»¡¼¥¸¤ÈȽÄꤵ¤ì¤Þ¤·¤¿¡£\n");
36 $error_message .= "<p>\n";
37 $error_message .= "<div>Åê¹Æ¤µ¤ì¤¿Ê¸¾Ï¡§</div>\n";
38 $error_message .= "<div>" . Util::escapeHTML("$message") . "</div>\n";
39 $error_message .= "</p>\n";
40 return $error_message;
43 #--------------------------------------------------------------------------------------------------
46 $name = "̵̾¤·¤µ¤ó";
\r
48 # post_name¤È¤¤¤¦¥¡¼¤Ç¥¯¥Ã¥¡¼¤ò¥»¥Ã¥È¤¹¤ë
\r
49 my $cookie = $cgi->cookie(-name=>'post_name',-value=>$name,-expires=>'+1M');
\r
50 print "Set-Cookie: ",$cookie->as_string,"\n";
\r
53 if($save_page ne "" && $message ne ""){
\r
55 if($wiki->page_exists($save_page)){
\r
56 $content = $wiki->get_page($save_page);
\r
57 $content =~ s/\n+$//g; #¹ÔËö¤Î²þ¹Ô¤ÏÁ´¤Æ½üµî
\r
59 $content = "[[$show_page]]\n";
\r
61 my $new_content .= $head_char . "$message - $name (".Util::format_date(time()) . ")";
\r
64 $content .= "\n" if($content);
\r
65 $content .= $new_content . "\n";
\r
68 my $reply_sw = 0; #±ø¤¤¤±¤É...
\r
70 foreach(split /\n/, $content){
\r
72 if($reply_sw == 1 and $lev >= length($1)){
\r
73 push(@content, $head_char x $lev . $new_content);
\r
76 if($reply_sw == 0 and $reply eq Util::md5($_)){
\r
83 push(@content, $head_char x $lev . $new_content);
\r
85 $content = join("\n", @content);
\r
88 $wiki->save_page($save_page, $content);
\r
90 my $modtime = &Util::load_config_hash($wiki,$Wiki::DefaultStorage::MODTIME_FILE);
\r
91 $modtime->{$show_page} = time();
\r
92 &Util::save_config_hash($wiki,$Wiki::DefaultStorage::MODTIME_FILE,$modtime);
\r
95 # ɽ¼¨¤µ¤ì¤Æ¤¤¤¿¥Ú¡¼¥¸¤Ë¥ê¥À¥¤¥ì¥¯¥È
\r
96 $wiki->redirect($show_page);
\r