--- 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". "
config('script_name')."\" method=\"POST\">". " \n". @@ -126,9 +143,9 @@ "

\n". " \n". " \n". - " ". + " \n". + " \n". + " \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);