use CGI2;
use File::Copy;
use File::Path;
+use HTTP::Status;
use Wiki::DefaultStorage;
use Wiki::HTMLParser;
use vars qw($VERSION $DEBUG);
my $obj = $self->get_plugin_instance($self->{"handler"}->{$action});
unless(defined($obj)){
- return $self->error("ÉÔÀµ¤Ê¥¢¥¯¥·¥ç¥ó¤Ç¤¹¡£");
+ return $self->error(RC_BAD_REQUEST, "ÉÔÀµ¤Ê¥¢¥¯¥·¥ç¥ó¤Ç¤¹¡£");
}
# ´ÉÍý¼ÔÍѤΥ¢¥¯¥·¥ç¥ó
if($self->{"handler_permission"}->{$action}==0){
my $login = $self->get_login_info();
if(!defined($login)){
- return $self->error("¥í¥°¥¤¥ó¤·¤Æ¤¤¤Þ¤»¤ó¡£");
+ return $self->error(RC_FORBIDDEN, "¥í¥°¥¤¥ó¤·¤Æ¤¤¤Þ¤»¤ó¡£");
} elsif($login->{type}!=0){
- return $self->error("´ÉÍý¼Ô¸¢¸Â¤¬É¬ÍפǤ¹¡£");
+ return $self->error(RC_FORBIDDEN, "´ÉÍý¼Ô¸¢¸Â¤¬É¬ÍפǤ¹¡£");
}
return $obj->do_action($self).
"<div class=\"comment\"><a href=\"".$self->create_url({action=>"LOGIN"})."\">¥á¥Ë¥å¡¼¤ËÌá¤ë</a></div>";
} elsif($self->{"handler_permission"}->{$action}==2){
my $login = $self->get_login_info();
if(!defined($login)){
- return $self->error("¥í¥°¥¤¥ó¤·¤Æ¤¤¤Þ¤»¤ó¡£");
+ return $self->error(RC_FORBIDDEN, "¥í¥°¥¤¥ó¤·¤Æ¤¤¤Þ¤»¤ó¡£");
}
return $obj->do_action($self).
"<div class=\"comment\"><a href=\"".$self->create_url({action=>"LOGIN"})."\">¥á¥Ë¥å¡¼¤ËÌá¤ë</a></div>";
# my $wiki = shift;
# ...
# return $wiki->error(¥¨¥é¡¼¥á¥Ã¥»¡¼¥¸);
+# or
+# return $wiki->error(¥¨¥é¡¼¥³¡¼¥É, ¥¨¥é¡¼¥á¥Ã¥»¡¼¥¸);
# }
# </pre>
#==============================================================================
sub error {
my $self = shift;
+ my $status = shift;
my $message = shift;
+ if(!defined($message)){
+ $message = $status;
+ $status = undef;
+ } else {
+ printf "Status: %d\n", $status;
+ }
+
$self->set_title("¥¨¥é¡¼");
$self->get_CGI->param("action","ERROR");
###############################################################################
package plugin::admin::AccountHandler;
use strict;
+use HTTP::Status;
#==============================================================================
# ¥³¥ó¥¹¥È¥é¥¯¥¿
#==============================================================================
return $self->change_pass($wiki);
}
if(!defined($wiki->get_login_info)) {
- return $wiki->error("¥í¥°¥¤¥ó¤·¤Æ¤¤¤Þ¤»¤ó¡£");
+ return $wiki->error(RC_FORBIDDEN, "¥í¥°¥¤¥ó¤·¤Æ¤¤¤Þ¤»¤ó¡£");
}
my $id = $wiki->get_login_info()->{id};
# ¿·¤·¤¤¥Ñ¥¹¥ï¡¼¥É¤ÎÀµÅöÀ¤Î³Îǧ
if ( length( $pass ) < $min_length ) {
- return $wiki->error("¿·¤·¤¤¥Ñ¥¹¥ï¡¼¥É¤¬ÆþÎϤµ¤ì¤Æ¤¤¤Þ¤»¤ó¡£".
+ return $wiki->error(RC_BAD_REQUEST, "¿·¤·¤¤¥Ñ¥¹¥ï¡¼¥É¤¬ÆþÎϤµ¤ì¤Æ¤¤¤Þ¤»¤ó¡£".
"¾¯¤Ê¤¯¤È¤â $min_length ʸ»ú°Ê¾åÆþÎϤ·¤Æ¤¯¤À¤µ¤¤¡£");
}
elsif ( $pass ne $pass_confirm ) {
- return $wiki->error("ÆþÎϤµ¤ì¤¿Æó¤Ä¤Î¥Ñ¥¹¥ï¡¼¥É¤¬¹çÃפ·¤Þ¤»¤ó¡£");
+ return $wiki->error(RC_BAD_REQUEST, "ÆþÎϤµ¤ì¤¿Æó¤Ä¤Î¥Ñ¥¹¥ï¡¼¥É¤¬¹çÃפ·¤Þ¤»¤ó¡£");
}
my $session = $cgi->get_session($wiki);
$users->{$id} = &Util::md5($pass,$id)."\t$type";
&Util::save_config_hash($wiki,$wiki->config('userdat_file'),$users);
} else {
- return $wiki->error("¸½ºß¤Î¥Ñ¥¹¥ï¡¼¥É¤¬°ã¤¤¤Þ¤¹¡£");
+ return $wiki->error(RC_UNAUTHORIZED, "¸½ºß¤Î¥Ñ¥¹¥ï¡¼¥É¤¬°ã¤¤¤Þ¤¹¡£");
}
$wiki->redirectURL( $wiki->create_url({ action=>"LOGIN" }) );
###############################################################################
package plugin::admin::AdminLogHandler;
use strict;
+use HTTP::Status;
#==============================================================================
# ¥³¥ó¥¹¥È¥é¥¯¥¿
#==============================================================================
my $file = $self->get_filename_from_target($wiki,$target);
if($file eq ""){
- return $wiki->error("¥Ñ¥é¥á¡¼¥¿¤¬ÉÔÀµ¤Ç¤¹¡£");
+ return $wiki->error(RC_BAD_REQUEST, "¥Ñ¥é¥á¡¼¥¿¤¬ÉÔÀµ¤Ç¤¹¡£");
}
unlink($wiki->config('log_dir')."/$file") or die $file."¤Îºï½ü¤Ë¼ºÇÔ¤·¤Þ¤·¤¿¡£";
my $file = $self->get_filename_from_target($wiki,$target);
if($file eq ""){
- return $wiki->error("¥Ñ¥é¥á¡¼¥¿¤¬ÉÔÀµ¤Ç¤¹¡£");
+ return $wiki->error(RC_BAD_REQUEST, "¥Ñ¥é¥á¡¼¥¿¤¬ÉÔÀµ¤Ç¤¹¡£");
}
print "Content-Type: text/plain\n";
###############################################################################
package plugin::admin::AdminUserHandler;
use strict;
+use HTTP::Status;
#==============================================================================
# ¥³¥ó¥¹¥È¥é¥¯¥¿
#==============================================================================
if(!defined($users->{$id})){
if($id eq "" || $pass eq "" || $type eq ""){
- return $wiki->error("ID¡¢¥Ñ¥¹¥ï¡¼¥É¡¢¥æ¡¼¥¶¼ïÊ̤ò»ØÄꤷ¤Æ¤¯¤À¤µ¤¤¡£");
+ return $wiki->error(RC_BAD_REQUEST, "ID¡¢¥Ñ¥¹¥ï¡¼¥É¡¢¥æ¡¼¥¶¼ïÊ̤ò»ØÄꤷ¤Æ¤¯¤À¤µ¤¤¡£");
}
} else {
if($id eq "" || $type eq ""){
- return $wiki->error("ID¡¢¥æ¡¼¥¶¼ïÊ̤ò»ØÄꤷ¤Æ¤¯¤À¤µ¤¤¡£");
+ return $wiki->error(RC_BAD_REQUEST, "ID¡¢¥æ¡¼¥¶¼ïÊ̤ò»ØÄꤷ¤Æ¤¯¤À¤µ¤¤¡£");
}
}
unless($id =~ /^[a-zA-Z0-9\-_]+$/ && (!defined($pass) || $pass =~ /^[a-zA-Z0-9\-_]+/)){
- return $wiki->error("ID¡¢¥Ñ¥¹¥ï¡¼¥É¤Ë¤ÏȾ³Ñ±Ñ¿ô»ú¤·¤«»ÈÍѤǤ¤Þ¤»¤ó¡£");
+ return $wiki->error(RC_BAD_REQUEST, "ID¡¢¥Ñ¥¹¥ï¡¼¥É¤Ë¤ÏȾ³Ñ±Ñ¿ô»ú¤·¤«»ÈÍѤǤ¤Þ¤»¤ó¡£");
}
if(defined($users->{$id})){
###############################################################################
package plugin::admin::Login;
use strict;
+use HTTP::Status;
#==============================================================================
# ¥³¥ó¥¹¥È¥é¥¯¥¿
#==============================================================================
$wiki->redirectURL($wiki->create_url({action=>"LOGIN"}));
}
} else {
- return $wiki->error("ID¤â¤·¤¯¤Ï¥Ñ¥¹¥ï¡¼¥É¤¬°ã¤¤¤Þ¤¹¡£");
+ return $wiki->error(RC_UNAUTHORIZED, "ID¤â¤·¤¯¤Ï¥Ñ¥¹¥ï¡¼¥É¤¬°ã¤¤¤Þ¤¹¡£");
}
}
}
###############################################################################
package plugin::admin::UserRegisterHandler;
use strict;
+use HTTP::Status;
#==============================================================================
# ¥³¥ó¥¹¥È¥é¥¯¥¿
#==============================================================================
return $wiki->error("ÆþÎϤµ¤ì¤¿ID¤Ï¤¹¤Ç¤Ë»ÈÍѤµ¤ì¤Æ¤¤¤Þ¤¹¡£");
}
if($id eq "" || $pass eq ""){
- return $wiki->error("ID¡¢¥Ñ¥¹¥ï¡¼¥É¤ò»ØÄꤷ¤Æ¤¯¤À¤µ¤¤¡£");
+ return $wiki->error(RC_BAD_REQUEST, "ID¡¢¥Ñ¥¹¥ï¡¼¥É¤ò»ØÄꤷ¤Æ¤¯¤À¤µ¤¤¡£");
}
unless($id =~ /^[a-zA-Z0-9\-_]+$/ && $pass =~ /^[a-zA-Z0-9\-_]+/){
- return $wiki->error("ID¡¢¥Ñ¥¹¥ï¡¼¥É¤Ë¤ÏȾ³Ñ±Ñ¿ô»ú¤·¤«»ÈÍѤǤ¤Þ¤»¤ó¡£");
+ return $wiki->error(RC_BAD_REQUEST, "ID¡¢¥Ñ¥¹¥ï¡¼¥É¤Ë¤ÏȾ³Ñ±Ñ¿ô»ú¤·¤«»ÈÍѤǤ¤Þ¤»¤ó¡£");
}
Util::sync_update_config($wiki,$wiki->config('userdat_file'),sub {
###############################################################################
package plugin::attach::AdminMIMEHandler;
use strict;
+use HTTP::Status;
#==============================================================================
# ¥³¥ó¥¹¥È¥é¥¯¥¿
#==============================================================================
#return $self->form($wiki);
} else {
- return $wiki->error("³ÈÄ¥»Ò¤ÈMIME¥¿¥¤¥×¤òÆþÎϤ·¤Æ¤¯¤À¤µ¤¤¡£");
+ return $wiki->error(RC_BAD_REQUEST, "³ÈÄ¥»Ò¤ÈMIME¥¿¥¤¥×¤òÆþÎϤ·¤Æ¤¯¤À¤µ¤¤¡£");
}
}
############################################################
package plugin::attach::AttachHandler;
use strict;
+use HTTP::Status;
use plugin::attach::Files;
#===========================================================
# ¥³¥ó¥¹¥È¥é¥¯¥¿
if($cgi->param("UPLOAD") ne "" || $cgi->param("CONFIRM") ne "" || $cgi->param("DELETE") ne ""){
unless($wiki->can_modify_page($pagename)){
- return $wiki->error("ÊÔ½¸¤Ï¶Ø»ß¤µ¤ì¤Æ¤¤¤Þ¤¹¡£");
+ return $wiki->error(RC_FORBIDDEN, "ÊÔ½¸¤Ï¶Ø»ß¤µ¤ì¤Æ¤¤¤Þ¤¹¡£");
}
}
if($cgi->param("DELETE") ne ""){
unless(&plugin::attach::Files::can_attach_delete($wiki, $pagename)){
- return $wiki->error("¥Õ¥¡¥¤¥ë¤Îºï½ü¤Ïµö²Ä¤µ¤ì¤Æ¤¤¤Þ¤»¤ó¡£");
+ return $wiki->error(RC_FORBIDDEN, "¥Õ¥¡¥¤¥ë¤Îºï½ü¤Ïµö²Ä¤µ¤ì¤Æ¤¤¤Þ¤»¤ó¡£");
}
}
&Jcode::convert(\$filename,'euc');
if($filename eq ""){
- return $wiki->error("¥Õ¥¡¥¤¥ë¤¬»ØÄꤵ¤ì¤Æ¤¤¤Þ¤»¤ó¡£");
+ return $wiki->error(RC_BAD_REQUEST, "¥Õ¥¡¥¤¥ë¤¬»ØÄꤵ¤ì¤Æ¤¤¤Þ¤»¤ó¡£");
}
my $hundle = $cgi->upload("file");
unless($hundle){
- return $wiki->error("¥Õ¥¡¥¤¥ë¤¬Æɤ߹þ¤á¤Þ¤»¤ó¤Ç¤·¤¿¡£");
+ return $wiki->error(RC_BAD_REQUEST, "¥Õ¥¡¥¤¥ë¤¬Æɤ߹þ¤á¤Þ¤»¤ó¤Ç¤·¤¿¡£");
}
my $uploadfile = $wiki->config('attach_dir')."/".&Util::url_encode($pagename).".".&Util::url_encode($filename);
if(-e $uploadfile && !&plugin::attach::Files::can_attach_update($wiki, $pagename)){
- return $wiki->error("¥Õ¥¡¥¤¥ë¤Î¾å½ñ¤¤Ïµö²Ä¤µ¤ì¤Æ¤¤¤Þ¤»¤ó¡£");
+ return $wiki->error(RC_FORBIDDEN, "¥Õ¥¡¥¤¥ë¤Î¾å½ñ¤¤Ïµö²Ä¤µ¤ì¤Æ¤¤¤Þ¤»¤ó¡£");
}
open(DATA,">$uploadfile") or die $!;
} elsif($cgi->param("CONFIRM") ne ""){
my $file = $cgi->param("file");
if($file eq ""){
- return $wiki->error("¥Õ¥¡¥¤¥ë¤¬»ØÄꤵ¤ì¤Æ¤¤¤Þ¤»¤ó¡£");
+ return $wiki->error(RC_BAD_REQUEST, "¥Õ¥¡¥¤¥ë¤¬»ØÄꤵ¤ì¤Æ¤¤¤Þ¤»¤ó¡£");
}
my $buf = "";
} elsif($cgi->param("DELETE") ne ""){
my $file = $cgi->param("file");
if($file eq ""){
- return $wiki->error("¥Õ¥¡¥¤¥ë¤¬»ØÄꤵ¤ì¤Æ¤¤¤Þ¤»¤ó¡£");
+ return $wiki->error(RC_BAD_REQUEST, "¥Õ¥¡¥¤¥ë¤¬»ØÄꤵ¤ì¤Æ¤¤¤Þ¤»¤ó¡£");
}
# ¥í¥°¤ÎµÏ¿
} else {
my $file = $cgi->param("file");
if($file eq ""){
- return $wiki->error("¥Õ¥¡¥¤¥ë¤¬»ØÄꤵ¤ì¤Æ¤¤¤Þ¤»¤ó¡£");
+ return $wiki->error(RC_BAD_REQUEST, "¥Õ¥¡¥¤¥ë¤¬»ØÄꤵ¤ì¤Æ¤¤¤Þ¤»¤ó¡£");
}
unless($wiki->page_exists($pagename)){
- return $wiki->error("¥Ú¡¼¥¸¤¬Â¸ºß¤·¤Þ¤»¤ó¡£");
+ return $wiki->error(RC_NOT_FOUND ,"¥Ú¡¼¥¸¤¬Â¸ºß¤·¤Þ¤»¤ó¡£");
}
unless($wiki->can_show($pagename)){
- return $wiki->error("¥Ú¡¼¥¸¤Î»²¾È¸¢¸Â¤¬¤¢¤ê¤Þ¤»¤ó¡£");
+ return $wiki->error(RC_FORBIDDEN, "¥Ú¡¼¥¸¤Î»²¾È¸¢¸Â¤¬¤¢¤ê¤Þ¤»¤ó¡£");
}
my $filepath = $wiki->config('attach_dir')."/".&Util::url_encode($pagename).".".&Util::url_encode($file);
unless(-e $filepath){
- return $wiki->error("¥Õ¥¡¥¤¥ë¤¬¤ß¤Ä¤«¤ê¤Þ¤»¤ó¡£");
+ return $wiki->error(RC_NOT_FOUND, "¥Õ¥¡¥¤¥ë¤¬¤ß¤Ä¤«¤ê¤Þ¤»¤ó¡£");
}
my $contenttype = &get_mime_type($wiki,$file);
############################################################
package plugin::bbs::BBS2Handler;
use strict;
+use HTTP::Status;
#===========================================================
# ¥³¥ó¥¹¥È¥é¥¯¥¿
#===========================================================
}
if($bbsname eq ""){
- return $wiki->error("¥Ñ¥é¥á¡¼¥¿¤¬ÉÔÀµ¤Ç¤¹¡£");
+ return $wiki->error(RC_BAD_REQUEST, "¥Ñ¥é¥á¡¼¥¿¤¬ÉÔÀµ¤Ç¤¹¡£");
}
if($message eq ""){
- return $wiki->error("ËÜʸ¤òÆþÎϤ·¤Æ¤¯¤À¤µ¤¤¡£");
+ return $wiki->error(RC_BAD_REQUEST, "ËÜʸ¤òÆþÎϤ·¤Æ¤¯¤À¤µ¤¤¡£");
}
# ¥Õ¥©¡¼¥Þ¥Ã¥È¥×¥é¥°¥¤¥ó¤Ø¤ÎÂбþ
############################################################
package plugin::bbs::BBSHandler;
use strict;
+use HTTP::Status;
#===========================================================
# ¥³¥ó¥¹¥È¥é¥¯¥¿
#===========================================================
}
if($page eq "" || $count eq ""){
- return $wiki->error("¥Ñ¥é¥á¡¼¥¿¤¬ÉÔÀµ¤Ç¤¹");
+ return $wiki->error(RC_BAD_REQUEST, "¥Ñ¥é¥á¡¼¥¿¤¬ÉÔÀµ¤Ç¤¹");
} elsif($message eq ""){
- return $wiki->error("ËÜʸ¤òÆþÎϤ·¤Æ¤¯¤À¤µ¤¤¡£");
+ return $wiki->error(RC_BAD_REQUEST, "ËÜʸ¤òÆþÎϤ·¤Æ¤¯¤À¤µ¤¤¡£");
}
# ¥Õ¥©¡¼¥Þ¥Ã¥È¥×¥é¥°¥¤¥ó¤Ø¤ÎÂбþ
######################################################
package plugin::bugtrack::BugStateHandler;
use strict;
+use HTTP::Status;
#=====================================================
# ¥³¥ó¥¹¥È¥é¥¯¥¿
#=====================================================
if($wiki->page_exists($source)){
if(!$wiki->can_modify_page($source)){
- return $wiki->error("¥Ú¡¼¥¸¤ÎÊÔ½¸¤Ïµö²Ä¤µ¤ì¤Æ¤¤¤Þ¤»¤ó¡£");
+ return $wiki->error(RC_FORBIDDEN, "¥Ú¡¼¥¸¤ÎÊÔ½¸¤Ïµö²Ä¤µ¤ì¤Æ¤¤¤Þ¤»¤ó¡£");
}
my $content = $wiki->get_page($source);
$content =~ s/(\n\*¾õÂÖ¡§)\s+(.*)/$1 $state/;
################################################################################
package plugin::bugtrack::BugTrackHandler;
use strict;
+use HTTP::Status;
#===============================================================================
# ¥³¥ó¥¹¥È¥é¥¯¥¿
#===============================================================================
my $time = time();
if($name eq ""){
- return $wiki->error("̾Á°¤¬ÆþÎϤµ¤ì¤Æ¤¤¤Þ¤»¤ó¡£");
+ return $wiki->error(RC_BAD_REQUEST, "̾Á°¤¬ÆþÎϤµ¤ì¤Æ¤¤¤Þ¤»¤ó¡£");
} elsif($subject eq ""){
- return $wiki->error("¥µ¥Þ¥ê¤¬ÆþÎϤµ¤ì¤Æ¤¤¤Þ¤»¤ó¡£");
+ return $wiki->error(RC_BAD_REQUEST, "¥µ¥Þ¥ê¤¬ÆþÎϤµ¤ì¤Æ¤¤¤Þ¤»¤ó¡£");
} elsif($content eq ""){
- return $wiki->error("¥Ð¥°ÆâÍƤ¬ÆþÎϤµ¤ì¤Æ¤¤¤Þ¤»¤ó¡£");
+ return $wiki->error(RC_BAD_REQUEST, "¥Ð¥°ÆâÍƤ¬ÆþÎϤµ¤ì¤Æ¤¤¤Þ¤»¤ó¡£");
}
# post_name¤È¤¤¤¦¥¡¼¤Ç¥¯¥Ã¥¡¼¤ò¥»¥Ã¥È¤¹¤ë
################################################################################
package plugin::calendar::CalendarHandler;
use strict;
+use HTTP::Status;
#===============================================================================
# ¥³¥ó¥¹¥È¥é¥¯¥¿
#===============================================================================
}
if ($name eq "" || !Util::check_numeric($year) || !Util::check_numeric($month)) {
- return $wiki->error("¥Ñ¥é¥á¡¼¥¿¤¬ÉÔÀµ¤Ç¤¹¡£");
+ return $wiki->error(RC_BAD_REQUEST, "¥Ñ¥é¥á¡¼¥¿¤¬ÉÔÀµ¤Ç¤¹¡£");
} else {
$wiki->set_title("$name/$year-$month");
############################################################
package plugin::comment::CommentHandler;
use strict;
+use HTTP::Status;
#===========================================================
# ¥³¥ó¥¹¥È¥é¥¯¥¿
#===========================================================
my $option = $cgi->param("option");
if(!$wiki->can_show($page)){
- return $wiki->error("¥Ú¡¼¥¸¤Î»²¾È¸¢¸Â¤¬¤¢¤ê¤Þ¤»¤ó¡£");
+ return $wiki->error(RC_FORBIDDEN, "¥Ú¡¼¥¸¤Î»²¾È¸¢¸Â¤¬¤¢¤ê¤Þ¤»¤ó¡£");
}
if($name eq ""){
$name = "̵̾¤·¤µ¤ó";
###############################################################################
package plugin::core::CreateWikiHandler;
use strict;
+use HTTP::Status;
use plugin::core::WikiList;
#==============================================================================
# ¥³¥ó¥¹¥È¥é¥¯¥¿
if($config->{create}==1){
if(!defined($login)){
$can_create = 0;
- #return $farm->error("Wiki¤ÎºîÀ®¤Ïµö²Ä¤µ¤ì¤Æ¤¤¤Þ¤»¤ó¡£");
+ #return $farm->error(RC_FORBIDDEN, "Wiki¤ÎºîÀ®¤Ïµö²Ä¤µ¤ì¤Æ¤¤¤Þ¤»¤ó¡£");
}
} elsif($config->{create}==2){
if(!defined($login) || $login->{type}!=0){
$can_create = 0;
- #return $farm->error("Wiki¤ÎºîÀ®¤Ïµö²Ä¤µ¤ì¤Æ¤¤¤Þ¤»¤ó¡£");
+ #return $farm->error(RC_FORBIDDEN, "Wiki¤ÎºîÀ®¤Ïµö²Ä¤µ¤ì¤Æ¤¤¤Þ¤»¤ó¡£");
}
}
}else{
if($can_create==0){
- return $farm->error("Wiki¤ÎºîÀ®¤Ïµö²Ä¤µ¤ì¤Æ¤¤¤Þ¤»¤ó¡£");
+ return $farm->error(RC_FORBIDDEN, "Wiki¤ÎºîÀ®¤Ïµö²Ä¤µ¤ì¤Æ¤¤¤Þ¤»¤ó¡£");
}
# ÆþÎÏ¥Á¥§¥Ã¥¯
if(!($child =~ /^[A-Za-z0-9]+$/)){
- return $farm->error(&Util::escapeHTML($child)."¤ÏÉÔÀµ¤Ê̾¾Î¤Ç¤¹¡£");
+ return $farm->error(RC_BAD_REQUEST, &Util::escapeHTML($child)."¤ÏÉÔÀµ¤Ê̾¾Î¤Ç¤¹¡£");
} elsif($admin_id eq ""){
- return $farm->error("´ÉÍý¼ÔID¤òÆþÎϤ·¤Æ¤¯¤À¤µ¤¤¡£");
+ return $farm->error(RC_BAD_REQUEST, "´ÉÍý¼ÔID¤òÆþÎϤ·¤Æ¤¯¤À¤µ¤¤¡£");
} elsif($admin_pass eq ""){
- return $farm->error("´ÉÍý¼Ô¥Ñ¥¹¥ï¡¼¥É¤òÆþÎϤ·¤Æ¤¯¤À¤µ¤¤¡£");
+ return $farm->error(RC_BAD_REQUEST, "´ÉÍý¼Ô¥Ñ¥¹¥ï¡¼¥É¤òÆþÎϤ·¤Æ¤¯¤À¤µ¤¤¡£");
} elsif(!($admin_id =~ /^[A-Za-z0-9]+$/)){
- return $farm->error("´ÉÍý¼ÔID¤¬ÉÔÀµ¤Ç¤¹¡£");
+ return $farm->error(RC_BAD_REQUEST, "´ÉÍý¼ÔID¤¬ÉÔÀµ¤Ç¤¹¡£");
} elsif(!($admin_pass =~ /^[A-Za-z0-9]+$/)){
- return $farm->error("´ÉÍý¼Ô¥Ñ¥¹¥ï¡¼¥É¤¬ÉÔÀµ¤Ç¤¹¡£");
+ return $farm->error(RC_BAD_REQUEST, "´ÉÍý¼Ô¥Ñ¥¹¥ï¡¼¥É¤¬ÉÔÀµ¤Ç¤¹¡£");
# »ÒWiki¤Î½ÅÊ£¤ò¥Á¥§¥Ã¥¯
} elsif($farm->wiki_exists($child)){
package plugin::core::Diff;
use Algorithm::Diff qw(traverse_sequences);
use strict;
-
+use HTTP::Status;
#==============================================================================
# ¥³¥ó¥¹¥È¥é¥¯¥¿
#==============================================================================
$pagename = $wiki->config("frontpage");
}
unless($wiki->can_show($pagename)){
- return $wiki->error("»²¾È¸¢¸Â¤¬¤¢¤ê¤Þ¤»¤ó¡£");
+ return $wiki->error(RC_FORBIDDEN, "»²¾È¸¢¸Â¤¬¤¢¤ê¤Þ¤»¤ó¡£");
}
if($cgi->param('rollback') ne ''){
return $self->rollback($wiki, $pagename, $cgi->param('rollback'));
my $page = shift;
my $gen = shift;
unless($wiki->can_modify_page($page)){
- return $wiki->error("¹¹¿·¸¢¸Â¤¬¤¢¤ê¤Þ¤»¤ó¡£");
+ return $wiki->error(RC_FORBIDDEN, "¹¹¿·¸¢¸Â¤¬¤¢¤ê¤Þ¤»¤ó¡£");
}
my $source = $wiki->get_backup($page,$gen);
$wiki->save_page($page, $source);
###############################################################################
package plugin::core::EditPage;
use strict;
+use HTTP::Status;
use plugin::core::Diff;
+
#==============================================================================
# ¥³¥ó¥¹¥È¥é¥¯¥¿
#==============================================================================
my $login = $wiki->get_login_info();
if($pagename eq ""){
- return $wiki->error("¥Ú¡¼¥¸¤¬»ØÄꤵ¤ì¤Æ¤¤¤Þ¤»¤ó¡£");
+ return $wiki->error(RC_BAD_REQUEST, "¥Ú¡¼¥¸¤¬»ØÄꤵ¤ì¤Æ¤¤¤Þ¤»¤ó¡£");
}
if($pagename =~ /([\|\[\]])|^:|([^:]:[^:])/){
- return $wiki->error("¥Ú¡¼¥¸Ì¾¤Ë»ÈÍѤǤ¤Ê¤¤Ê¸»ú¤¬´Þ¤Þ¤ì¤Æ¤¤¤Þ¤¹¡£");
+ return $wiki->error(RC_BAD_REQUEST, "¥Ú¡¼¥¸Ì¾¤Ë»ÈÍѤǤ¤Ê¤¤Ê¸»ú¤¬´Þ¤Þ¤ì¤Æ¤¤¤Þ¤¹¡£");
}
if(!$wiki->can_modify_page($pagename)){
- return $wiki->error("¥Ú¡¼¥¸¤ÎÊÔ½¸¤Ïµö²Ä¤µ¤ì¤Æ¤¤¤Þ¤»¤ó¡£");
+ return $wiki->error(RC_FORBIDDEN, "¥Ú¡¼¥¸¤ÎÊÔ½¸¤Ïµö²Ä¤µ¤ì¤Æ¤¤¤Þ¤»¤ó¡£");
}
#--------------------------------------------------------------------------
if($cgi->param("save") ne ""){
if($wiki->config('page_max') ne '' && $wiki->config('page_max') > 0){
if(length($content) > $wiki->config('page_max')){
- return $wiki->error('¥Ú¡¼¥¸¤¬Êݸ²Äǽ¤ÊºÇÂ祵¥¤¥º¤òĶ¤¨¤Æ¤¤¤Þ¤¹¡£');
+ return $wiki->error(RC_BAD_REQUEST, '¥Ú¡¼¥¸¤¬Êݸ²Äǽ¤ÊºÇÂ祵¥¤¥º¤òĶ¤¨¤Æ¤¤¤Þ¤¹¡£');
}
}
if($wiki->page_exists($pagename) && $cgi->param("lastmodified") != $time){
} elsif($cgi->param("diff") ne ""){
if($wiki->config('page_max') ne '' && $wiki->config('page_max') > 0){
if(length($content) > $wiki->config('page_max')){
- return $wiki->error('¥Ú¡¼¥¸¤¬Êݸ²Äǽ¤ÊºÇÂ祵¥¤¥º¤òĶ¤¨¤Æ¤¤¤Þ¤¹¡£');
+ return $wiki->error(RC_BAD_REQUEST, '¥Ú¡¼¥¸¤¬Êݸ²Äǽ¤ÊºÇÂ祵¥¤¥º¤òĶ¤¨¤Æ¤¤¤Þ¤¹¡£');
}
}
$time = $cgi->param("lastmodified");
} elsif($cgi->param("preview") ne ""){
if($wiki->config('page_max') ne '' && $wiki->config('page_max') > 0){
if(length($content) > $wiki->config('page_max')){
- return $wiki->error('¥Ú¡¼¥¸¤¬Êݸ²Äǽ¤ÊºÇÂ祵¥¤¥º¤òĶ¤¨¤Æ¤¤¤Þ¤¹¡£');
+ return $wiki->error(RC_BAD_REQUEST, '¥Ú¡¼¥¸¤¬Êݸ²Äǽ¤ÊºÇÂ祵¥¤¥º¤òĶ¤¨¤Æ¤¤¤Þ¤¹¡£');
}
}
$time = $cgi->param("lastmodified");
############################################################
package plugin::core::NewPage;
#use strict;
+use HTTP::Status;
#===========================================================
# ¥³¥ó¥¹¥È¥é¥¯¥¿
#===========================================================
my $cgi = $wiki->get_CGI;
if($wiki->config('accept_edit')==0 && !defined($wiki->get_login_info())){
- return $wiki->error("¥Ú¡¼¥¸¤ÎºîÀ®¤Ïµö²Ä¤µ¤ì¤Æ¤¤¤Þ¤»¤ó¡£");
+ return $wiki->error(RC_FORBIDDEN, "¥Ú¡¼¥¸¤ÎºîÀ®¤Ïµö²Ä¤µ¤ì¤Æ¤¤¤Þ¤»¤ó¡£");
}
$wiki->set_title("¿·µ¬ºîÀ®",1);
###############################################################################
package plugin::core::RemoveWikiHandler;
use strict;
+use HTTP::Status;
#==============================================================================
# ¥³¥ó¥¹¥È¥é¥¯¥¿
#==============================================================================
my $config = &Util::load_config_hash($farm,$farm->config('farmconf_file'));
if($config->{remove}==1){
if(!defined($login)){
- return $farm->error("Wiki¤Îºï½ü¤Ïµö²Ä¤µ¤ì¤Æ¤¤¤Þ¤»¤ó¡£");
+ return $farm->error(RC_FORBIDDEN, "Wiki¤Îºï½ü¤Ïµö²Ä¤µ¤ì¤Æ¤¤¤Þ¤»¤ó¡£");
}
} elsif($config->{remove}==2){
if(!defined($login) || $login->{type}!=0){
- return $farm->error("Wiki¤Îºï½ü¤Ïµö²Ä¤µ¤ì¤Æ¤¤¤Þ¤»¤ó¡£");
+ return $farm->error(RC_FORBIDDEN, "Wiki¤Îºï½ü¤Ïµö²Ä¤µ¤ì¤Æ¤¤¤Þ¤»¤ó¡£");
}
}
# Wiki¤Î¸ºß¥Á¥§¥Ã¥¯
my $path = $farm->get_CGI()->param("path");
unless($path =~ s|^/|| and $farm->wiki_exists($path)) {
- return $farm->error("Wiki¤¬Â¸ºß¤·¤Þ¤»¤ó¡£");
+ return $farm->error(RC_NOT_FOUND, "Wiki¤¬Â¸ºß¤·¤Þ¤»¤ó¡£");
}
if($farm->get_CGI()->param("exec_delete") ne ""){
###############################################################################
package plugin::core::ShowPage;
use strict;
+use HTTP::Status;
#==============================================================================
# ¥³¥ó¥¹¥È¥é¥¯¥¿
#==============================================================================
# »²¾È¸¢¸Â¤Î¥Á¥§¥Ã¥¯
if(!$wiki->can_show($pagename)){
$wiki->set_title("»²¾È¸¢¸Â¤¬¤¢¤ê¤Þ¤»¤ó");
- return $wiki->error("»²¾È¸¢¸Â¤¬¤¢¤ê¤Þ¤»¤ó¡£");
+ return $wiki->error(RC_FORBIDDEN, "»²¾È¸¢¸Â¤¬¤¢¤ê¤Þ¤»¤ó¡£");
}
$wiki->set_title($pagename);
###############################################################################
package plugin::core::Source;
use strict;
+use HTTP::Status;
#==============================================================================
# ¥³¥ó¥¹¥È¥é¥¯¥¿
#==============================================================================
$pagename = $wiki->config("frontpage");
}
unless($wiki->can_show($pagename)){
- return $wiki->error("»²¾È¸¢¸Â¤¬¤¢¤ê¤Þ¤»¤ó¡£");
+ return $wiki->error(RC_FORBIDDEN, "»²¾È¸¢¸Â¤¬¤¢¤ê¤Þ¤»¤ó¡£");
}
my $gen = $cgi->param("generation");
my $source;
use lib '../../';
use lib '../../lib';
use plugin::pdf::PDFParser;
+use HTTP::Status;
use URI::Escape;
#==============================================================================
# ¥³¥ó¥¹¥È¥é¥¯¥¿
# ¥Ú¡¼¥¸¤¬Â¸ºß¤¹¤ë¤«¥Á¥§¥Ã¥¯
unless($wiki->page_exists($pagename)){
- return $wiki->error("¥Ú¡¼¥¸¤¬¤¢¤ê¤Þ¤»¤ó¡£");
+ return $wiki->error(RC_NOT_FOUND, "¥Ú¡¼¥¸¤¬¤¢¤ê¤Þ¤»¤ó¡£");
}
# »²¾È¸¢¤¬¤¢¤ë¤«¤É¤¦¤«¥Á¥§¥Ã¥¯
unless($wiki->can_show($pagename)){
- return $wiki->error("¥Ú¡¼¥¸¤Î»²¾È¸¢¸Â¤¬¤¢¤ê¤Þ¤»¤ó¡£");
+ return $wiki->error(RC_FORBIDDEN, "¥Ú¡¼¥¸¤Î»²¾È¸¢¸Â¤¬¤¢¤ê¤Þ¤»¤ó¡£");
}
my $filename = $self->{dir}."/".&Util::url_encode($pagename).".pdf";
###############################################################################
package plugin::rename::RenameHandler;
use strict;
+use HTTP::Status;
#==============================================================================
# ¥³¥ó¥¹¥È¥é¥¯¥¿
#==============================================================================
# ¥¨¥é¡¼¥Á¥§¥Ã¥¯
if($newpagename eq ""){
- return $wiki->error("¥Ú¡¼¥¸¤¬»ØÄꤵ¤ì¤Æ¤¤¤Þ¤»¤ó!!");
+ return $wiki->error(RC_BAD_REQUEST, "¥Ú¡¼¥¸¤¬»ØÄꤵ¤ì¤Æ¤¤¤Þ¤»¤ó!!");
}
if($newpagename =~ /[\|:\[\]]/){
- return $wiki->error("¥Ú¡¼¥¸Ì¾¤Ë»ÈÍѤǤ¤Ê¤¤Ê¸»ú¤¬´Þ¤Þ¤ì¤Æ¤¤¤Þ¤¹¡£");
+ return $wiki->error(RC_BAD_REQUEST, "¥Ú¡¼¥¸Ì¾¤Ë»ÈÍѤǤ¤Ê¤¤Ê¸»ú¤¬´Þ¤Þ¤ì¤Æ¤¤¤Þ¤¹¡£");
}
if($wiki->page_exists($newpagename)){
- return $wiki->error("´û¤Ë¥ê¥Í¡¼¥àÀè¤Î¥Ú¡¼¥¸¤¬Â¸ºß¤·¤Þ¤¹!!");
+ return $wiki->error(RC_BAD_REQUEST, "´û¤Ë¥ê¥Í¡¼¥àÀè¤Î¥Ú¡¼¥¸¤¬Â¸ºß¤·¤Þ¤¹!!");
}
if($newpagename eq $pagename){
- return $wiki->error("Ʊ°ì¤Î¥Ú¡¼¥¸¤¬»ØÄꤵ¤ì¤Æ¤¤¤Þ¤¹!!");
+ return $wiki->error(RC_BAD_REQUEST, "Ʊ°ì¤Î¥Ú¡¼¥¸¤¬»ØÄꤵ¤ì¤Æ¤¤¤Þ¤¹!!");
}
if(!$wiki->can_modify_page($pagename) || !$wiki->can_modify_page($newpagename)){
- return $wiki->error("¥Ú¡¼¥¸¤ÎÊÔ½¸¤Ïµö²Ä¤µ¤ì¤Æ¤¤¤Þ¤»¤ó¡£");
+ return $wiki->error(RC_FORBIDDEN, "¥Ú¡¼¥¸¤ÎÊÔ½¸¤Ïµö²Ä¤µ¤ì¤Æ¤¤¤Þ¤»¤ó¡£");
}
if($wiki->page_exists($pagename)){
if($cgi->param("lastmodified") < $time){
- return $wiki->error("¥Ú¡¼¥¸¤Ï´û¤ËÊ̤Υ桼¥¶¤Ë¤è¤Ã¤Æ¹¹¿·¤µ¤ì¤Æ¤¤¤Þ¤¹¡£");
+ return $wiki->error(RC_PRECONDITION_FAILED, "¥Ú¡¼¥¸¤Ï´û¤ËÊ̤Υ桼¥¶¤Ë¤è¤Ã¤Æ¹¹¿·¤µ¤ì¤Æ¤¤¤Þ¤¹¡£");
}
}
# FrontPage¤ò°ÜÆ°¤·¤è¤¦¤È¤·¤¿¾ì¹ç¤Ë¤Ï¥¨¥é¡¼
if($pagename eq $wiki->config("frontpage") && $do ne "copy"){
- return $wiki->error($wiki->config("frontpage")."¤ò°ÜÆ°¤¹¤ë¤³¤È¤Ï¤Ç¤¤Þ¤»¤ó¡£");
+ return $wiki->error(RC_FORBIDDEN, $wiki->config("frontpage")."¤ò°ÜÆ°¤¹¤ë¤³¤È¤Ï¤Ç¤¤Þ¤»¤ó¡£");
}
# ¥³¥Ô¡¼½èÍý