diff -ur orig/plugin/admin/Login.pm ./plugin/admin/Login.pm
--- orig/plugin/admin/Login.pm 2004-06-06 21:12:00.000000000 +0900
+++ ./plugin/admin/Login.pm 2004-07-08 16:08:28.804928000 +0900
@@ -42,8 +42,19 @@
$session->param("wiki_type",$login->{type});
$session->param("wiki_path",$login->{path});
$session->flush();
+ my $pagename = $cgi->param("page");
+ my $isEdit = $cgi->param("isEdit");
+ if($pagename ne "") {
+ $cgi->param("page",&Util::url_decode($pagename));
+ if($isEdit ne "") {
+ return $wiki->call_handler('EDIT');
+ } else {
+ return $wiki->call_handler('');
+ }
+ } else {
$wiki->redirectURL($wiki->config('script_name')."?action=LOGIN");
return $self->admin_form($wiki,$login);
+ }
} else {
return $wiki->error("IDもしくはパスワードが違います。");
}
@@ -118,6 +129,11 @@
sub default {
my $self = shift;
my $wiki = shift;
+ my $cgi = $wiki->get_CGI;
+ my $pagename = $cgi->param("page");
+ my $isEdit = $cgi->param("isEdit");
+ my $content = $cgi->param("content");
+
return "
IDとパスワードを入力してください
\n".
"\n";
}
diff -ur orig/plugin/core/EditPage.pm ./plugin/core/EditPage.pm
--- orig/plugin/core/EditPage.pm 2004-07-08 16:23:15.109371200 +0900
+++ ./plugin/core/EditPage.pm 2004-07-08 16:00:05.801644800 +0900
@@ -45,7 +45,9 @@
return $wiki->error("ページ名にコロンを含めることはできません。");
}
if(!$wiki->can_modify_page($pagename)){
- return $wiki->error("ページの編集は許可されていません。");
+ $cgi->param("isEdit", "true");
+ return $wiki->error("ページの編集は許可されていません。")."\n".
+ $wiki->call_handler('LOGIN');
}
#--------------------------------------------------------------------------
@@ -108,7 +110,9 @@
} elsif($wiki->page_exists($pagename)) {
#ページが存在する場合
- if($artno eq ""){
+ if($content ne "") { #すでにエディット状態にあって、ログインした
+ $content = &Util::url_decode($content);
+ } elsif($artno eq ""){
$content = $wiki->get_page($pagename);
} else {
$content = &read_by_part($wiki->get_page($pagename),$artno);
diff -ur orig/plugin/core/ShowPage.pm ./plugin/core/ShowPage.pm
--- orig/plugin/core/ShowPage.pm 2004-07-08 16:22:17.256182400 +0900
+++ ./plugin/core/ShowPage.pm 2004-07-08 16:19:14.803828800 +0900
@@ -37,7 +37,8 @@
# 参照権限のチェック
if(!$wiki->can_show($pagename)){
$wiki->set_title("参照権限がありません");
- return $wiki->error("参照権限がありません。");
+ return $wiki->error("参照権限がありません。")."\n".
+ $wiki->call_handler('LOGIN');
}
$wiki->set_title($pagename);