OSDN Git Service

ログイン後にもともと表示していたページにリダイレクトするように修正しました。
authortakezoe <takezoe@users.osdn.me>
Sat, 23 Oct 2010 15:56:41 +0000 (15:56 +0000)
committertakezoe <takezoe@users.osdn.me>
Sat, 23 Oct 2010 15:56:41 +0000 (15:56 +0000)
plugin/admin/Install.pm
plugin/admin/Login.pm
tmpl/login.tmpl

index db5573e..9aa5903 100644 (file)
@@ -10,10 +10,16 @@ sub install {
        my $wiki = shift;
        
        my $login = $wiki->get_login_info();
+       my $page = $wiki->get_CGI()->param('page');
+       
        if(defined($login)){
                $wiki->add_menu("´ÉÍý",$wiki->create_url({action=>"LOGIN"}),0);
        } else {
-               $wiki->add_menu("¥í¥°¥¤¥ó",$wiki->create_url({action=>"LOGIN"}),0);
+               if($page){
+                       $wiki->add_menu("¥í¥°¥¤¥ó",$wiki->create_url({action=>"LOGIN", page=>$page}),0);
+               } else {
+                       $wiki->add_menu("¥í¥°¥¤¥ó",$wiki->create_url({action=>"LOGIN"}),0);
+               }
        }
        $wiki->add_handler("LOGIN","plugin::admin::Login");
        
index d777c3b..999ed2d 100644 (file)
@@ -34,6 +34,8 @@ sub do_action {
                # ¥í¥°¥¤¥ó¤ÎȽÄê
                my $id   = $cgi->param("id");
                my $pass = $cgi->param("pass");
+               my $page = $cgi->param("page");
+               
                if($id ne "" && $pass ne ""){
                        my $login = $wiki->login_check($id,&Util::md5($pass,$id));
                        if(defined($login)){
@@ -42,7 +44,11 @@ sub do_action {
                                $session->param("wiki_type",$login->{type});
                                $session->param("wiki_path",$login->{path});
                                $session->flush();
-                               $wiki->redirectURL($wiki->create_url({action=>"LOGIN"}));
+                               if($page){
+                                       $wiki->redirectURL($wiki->create_page_url($page));
+                               } else {
+                                       $wiki->redirectURL($wiki->create_url({action=>"LOGIN"}));
+                               }
                        } else {
                                return $wiki->error("ID¤â¤·¤¯¤Ï¥Ñ¥¹¥ï¡¼¥É¤¬°ã¤¤¤Þ¤¹¡£");
                        }
@@ -124,6 +130,11 @@ sub default {
        $tmpl->param(
                ACCEPT_USER_REGISTER => $wiki->config("accept_user_register"),
                URL => $wiki->create_url());
+       
+       my $page = $wiki->get_CGI()->param('page');
+       if($page){
+               $tmpl->param(PAGE => $page);
+       }
                
        return $tmpl->output();
 }
index e344b00..7b1b353 100644 (file)
@@ -12,6 +12,7 @@
   </table><br>
   <input type="submit" name="login"  value="¥í¥°¥¤¥ó">
   <input type="hidden" name="action" value="LOGIN">
+  <input type="hidden" name="page" value="<!--TMPL_VAR NAME="PAGE" ESCAPE="HTML"-->">
 </form>
 <!--TMPL_IF NAME="ACCEPT_USER_REGISTER"-->
   <p>