]> git.vanrenterghem.biz Git - git.ikiwiki.info.git/blobdiff - doc/plugins/contrib/justlogin.mdwn
Fixed upstream => done.
[git.ikiwiki.info.git] / doc / plugins / contrib / justlogin.mdwn
index b9fc6f6749a9f948769cb67896cd17cab8a7b5e7..90645b9efc05f4e412e30e61240f1815c08bb923 100644 (file)
@@ -1,4 +1,4 @@
-This plugin is still in development. Currently it does bring up the login page and the login page does, with proper credentials, log in the user, but the returning page errors.
+This plugin has been abandoned while still in development. Currently it does bring up the login page and the login page does, with proper credentials, log in the user, but the returning page goes to prefs. I have no idea why. I decided to go in another direction so if someone wants to take over then please do so. Otherwise I have no problem if this page needs to be deleted. [[users/justint/]]
 
 Place this code into a page:
 
@@ -8,11 +8,8 @@ Place this code into a page:
 
 <input type="submit" value="Login" /></form>
 
-
-
 This is the plugin so far:
-
-       #!/usr/bin/perl
+#!/usr/bin/perl
        # Bring up a login page that returns to the calling page
        package IkiWiki::Plugin::justlogin;
        
@@ -21,45 +18,35 @@ This is the plugin so far:
        use IkiWiki 3.00;
        
        sub import {
-               hook(type => "sessioncgi", id => "justlogin", call => \&sessioncgi);
-               hook(type => "auth", id => "justlogin", call => \&auth);
+               hook(type => "sessioncgi", id => "justlogin", call => \&sessioncgi);
        }
        
        sub sessioncgi ($$) {
                my $q=shift;
                my $session=shift;
        
-               debug("jl sessioncgi1 running.");                        
-       
-               if ($q->param('do') eq 'justlogin') {
-                       debug("Justlogin do=justlogin running.");
-                       if (! defined $session->param("name") ) {
-                               debug("Justlogin param!defined running.");
-                               $session->param(postsignin => $ENV{HTTP_REFERER} );
-                               $session->param("do" => "justgoback" );
-                               IkiWiki::cgi_savesession($session);
-                               IkiWiki::cgi_signin($q, $session);
-                               exit;
-                       } 
-               } elsif ($session->param('do') eq 'justgoback') {
-                       debug("jl justgoback running.");
-                       if (! defined $session->param("name")) {
-                               debug("Justlogin redir running.");
-                               my $page=IkiWiki::possibly_foolish_untaint($q->param('postsignin'));
-                               $session->clear("postsignin");
-                               $session->clear("do");
-                               IkiWiki::cgi_savesession($session);
-                               IkiWiki::redirect($q, $page);
-                       }
-               }
-       }
-       
-       sub auth ($$) {                 
-               # While this hook is not currently used, it needs to exist
-               # so ikiwiki knows that the wiki supports logins, and will
-               # enable the Preferences page.
+               debug("jl sessioncgi1 running.");
+       
+               if ($q->param("do") eq "justlogin") {
+                       debug("jl do=justlogin running.");
+                       if (! defined $session->param("name") ) {
+                               debug("jl param!defined running.");
+                               $session->param("postsignin" => $ENV{HTTP_REFERER} );
+                               $session->param("do" => "justgoback" );
+                               IkiWiki::cgi_signin($q, $session);
+                               IkiWiki::cgi_savesession($session);
+                       }
+                       exit;
+               } elsif ($session->param("do") eq "justgoback") {
+                       debug("jl justgoback running.");
+                       my $page=$q->param("postsignin");
+                       $session->clear("postsignin");
+                       $session->clear("do");
+                       IkiWiki::cgi_savesession($session);
+                       IkiWiki::redirect($q, $page);
+                       exit;
+               }
        }
-                   
        
        1