-############################################################\r
-#\r
-# ·Ç¼¨Èǥץ饰¥¤¥ó¤Î¥¢¥¯¥·¥ç¥ó¥Ï¥ó¥É¥é¡£\r
-#\r
-############################################################\r
-package plugin::bbs::BBSHandler;\r
-use strict;\r
-#===========================================================\r
-# ¥³¥ó¥¹¥È¥é¥¯¥¿\r
-#===========================================================\r
-sub new {\r
- my $class = shift;\r
- my $self = {};\r
- return bless $self,$class;\r
-}\r
-\r
-#===========================================================\r
-# µ»ö¤Î½ñ¤¹þ¤ß\r
-#===========================================================\r
-sub do_action {\r
- my $self = shift;\r
- my $wiki = shift;\r
- my $cgi = $wiki->get_CGI;\r
- \r
- my $name = $cgi->param("name");\r
- my $subject = $cgi->param("subject");\r
- my $message = $cgi->param("message");\r
- my $count = $cgi->param("count");\r
- my $page = $cgi->param("page");\r
- my $option = $cgi->param("option");\r
- \r
- if($name eq ""){\r
- $name = "̵̾¤·¤µ¤ó";\r
- } else {\r
- # post_name¤È¤¤¤¦¥¡¼¤Ç¥¯¥Ã¥¡¼¤ò¥»¥Ã¥È¤¹¤ë\r
- my $path = &Util::cookie_path($wiki);\r
- my $cookie = $cgi->cookie(-name=>'post_name',-value=>$name,-expires=>'+1M',-path=>$path);\r
- print "Set-Cookie: ",$cookie->as_string,"\n";\r
- }\r
- \r
- if($subject eq ""){\r
- $subject = "̵Âê";\r
- }\r
- \r
- if($page eq "" || $count eq ""){\r
- return $wiki->error("¥Ñ¥é¥á¡¼¥¿¤¬ÉÔÀµ¤Ç¤¹");\r
- } elsif($message eq ""){\r
- return $wiki->error("ËÜʸ¤òÆþÎϤ·¤Æ¤¯¤À¤µ¤¤¡£");\r
- }\r
- \r
- # ¥Õ¥©¡¼¥Þ¥Ã¥È¥×¥é¥°¥¤¥ó¤Ø¤ÎÂбþ\r
- my $format = $wiki->get_edit_format();\r
- $name = $wiki->convert_to_fswiki($name ,$format,1);\r
- $subject = $wiki->convert_to_fswiki($subject,$format,1);\r
- $message = $wiki->convert_to_fswiki($message,$format);\r
- \r
- my @lines = split(/\n/,$wiki->get_page($page));\r
- my $flag = 0;\r
- my $form_count = 1;\r
- my $content = "";\r
- \r
- foreach(@lines){\r
- $content = $content.$_."\n";\r
- if(/^{{bbs\s*.*}}$/ && $flag==0){\r
- if($form_count==$count){\r
- $content .= "!!$subject - $name (".&Util::format_date(time()).")\n".\r
- "$message\n";\r
- \r
- # no_comment¥ª¥×¥·¥ç¥ó\r
- if($option eq "no_comment"){\r
- \r
- # reverse_comment¥ª¥×¥·¥ç¥ó\r
- } elsif($option eq "reverse_comment"){\r
- $content .= "{{comment reverse}}\n";\r
- # ¥Ç¥Õ¥©¥ë¥È\r
- } else {\r
- $content .= "{{comment}}\n";\r
- }\r
- $flag = 1;\r
- \r
- } else {\r
- $form_count++;\r
- }\r
- }\r
- }\r
- if($flag==1){\r
- $wiki->save_page($page,$content);\r
- }\r
- \r
- # ¸µ¤Î¥Ú¡¼¥¸¤Ë¥ê¥À¥¤¥ì¥¯¥È¤¹¤ë\r
- $wiki->redirect($page);\r
-}\r
-\r
-1;\r
+############################################################
+#
+# ·Ç¼¨Èǥץ饰¥¤¥ó¤Î¥¢¥¯¥·¥ç¥ó¥Ï¥ó¥É¥é¡£
+#
+############################################################
+package plugin::bbs::BBSHandler;
+use strict;
+use HTTP::Status;
+#===========================================================
+# ¥³¥ó¥¹¥È¥é¥¯¥¿
+#===========================================================
+sub new {
+ my $class = shift;
+ my $self = {};
+ return bless $self,$class;
+}
+
+#===========================================================
+# µ»ö¤Î½ñ¤¹þ¤ß
+#===========================================================
+sub do_action {
+ my $self = shift;
+ my $wiki = shift;
+ my $cgi = $wiki->get_CGI;
+
+ my $name = $cgi->param("name");
+ my $subject = $cgi->param("subject");
+ my $message = $cgi->param("message");
+ my $count = $cgi->param("count");
+ my $page = $cgi->param("page");
+ my $option = $cgi->param("option");
+
+ if($name eq ""){
+ $name = "̵̾¤·¤µ¤ó";
+ } else {
+ # fswiki_post_name¤È¤¤¤¦¥¡¼¤Ç¥¯¥Ã¥¡¼¤ò¥»¥Ã¥È¤¹¤ë
+ my $path = &Util::cookie_path($wiki);
+ my $cookie = $cgi->cookie(-name=>'fswiki_post_name',-value=>Util::url_encode($name),-expires=>'+1M',-path=>$path);
+ print "Set-Cookie: ",$cookie->as_string,"\n";
+ }
+
+ if($subject eq ""){
+ $subject = "̵Âê";
+ }
+
+ if($page eq "" || $count eq ""){
+ return $wiki->error(RC_BAD_REQUEST, "¥Ñ¥é¥á¡¼¥¿¤¬ÉÔÀµ¤Ç¤¹");
+ } elsif($message eq ""){
+ return $wiki->error(RC_BAD_REQUEST, "ËÜʸ¤òÆþÎϤ·¤Æ¤¯¤À¤µ¤¤¡£");
+ }
+
+ # ¥Õ¥©¡¼¥Þ¥Ã¥È¥×¥é¥°¥¤¥ó¤Ø¤ÎÂбþ
+ my $format = $wiki->get_edit_format();
+ $name = $wiki->convert_to_fswiki($name ,$format,1);
+ $subject = $wiki->convert_to_fswiki($subject,$format,1);
+ $message = $wiki->convert_to_fswiki($message,$format);
+
+ my @lines = split(/\n/,$wiki->get_page($page));
+ my $flag = 0;
+ my $form_count = 1;
+ my $content = "";
+
+ foreach(@lines){
+ $content = $content.$_."\n";
+ if(/^\{\{bbs\s*.*\}\}$/ && $flag==0){
+ if($form_count==$count){
+ $content .= "!!$subject - $name (".&Util::format_date(time()).")\n".
+ "$message\n";
+
+ # no_comment¥ª¥×¥·¥ç¥ó
+ if($option eq "no_comment"){
+
+ # reverse_comment¥ª¥×¥·¥ç¥ó
+ } elsif($option eq "reverse_comment"){
+ $content .= "{{comment reverse}}\n";
+ # ¥Ç¥Õ¥©¥ë¥È
+ } else {
+ $content .= "{{comment}}\n";
+ }
+ $flag = 1;
+
+ } else {
+ $form_count++;
+ }
+ }
+ }
+ if($flag==1){
+ $wiki->save_page($page,$content);
+ }
+
+ # ¸µ¤Î¥Ú¡¼¥¸¤Ë¥ê¥À¥¤¥ì¥¯¥È¤¹¤ë
+ $wiki->redirect($page);
+}
+
+1;