--- admin/Login.pm.org Mon May 15 19:08:23 2006
+++ admin/Login.pm Sat May 20 02:14:50 2006
@@ -42,7 +42,19 @@
$session->param("wiki_type",$login->{type});
$session->param("wiki_path",$login->{path});
$session->flush();
- $wiki->redirectURL($wiki->config('script_name')."?action=LOGIN");
+ 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 +130,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";
}
--- core/ShowPage.pm.org Fri May 19 23:16:59 2006
+++ core/ShowPage.pm Fri May 19 23:16:59 2006
@@ -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);
--- core/EditPage.pm.org Fri May 19 23:16:04 2006
+++ core/EditPage.pm Sat May 20 02:20:47 2006
@@ -43,7 +43,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');
}
#--------------------------------------------------------------------------
@@ -103,7 +105,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);
--- _ex_edit_button/Install.pm.org Sat May 20 01:19:44 2006
+++ _ex_edit_button/Install.pm Sat May 20 01:19:44 2006
@@ -42,7 +42,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');
}
#--------------------------------------------------------------------------
@@ -102,7 +104,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);