]> git.mxchange.org Git - quix0rs-gnu-social.git/blobdiff - actions/login.php
Make the OpenID settings work with new framework
[quix0rs-gnu-social.git] / actions / login.php
index 5e4d451491d44fcb935f6017450137f978fc4193..23ab166769519923d38f18b5f77db5546f431aeb 100644 (file)
 
 if (!defined('LACONICA')) { exit(1); }
 
-class LoginAction extends Action {
-
-    function is_readonly() {
+class LoginAction extends Action
+{
+    var $error = null;
+    
+    function isReadOnly()
+    {
         return true;
     }
 
-    function handle($args) {
+    function handle($args)
+    {
         parent::handle($args);
         if (common_is_real_login()) {
-            common_user_error(_('Already logged in.'));
+            $this->clientError(_('Already logged in.'));
         } else if ($_SERVER['REQUEST_METHOD'] == 'POST') {
-            $this->check_login();
+            $this->checkLogin();
         } else {
-            $this->show_form();
+            $this->showForm();
         }
     }
 
-    function check_login() {
+    function checkLogin()
+    {
         # XXX: login throttle
 
         # CSRF protection - token set in common_notice_form()
         $token = $this->trimmed('token');
         if (!$token || $token != common_session_token()) {
-            $this->client_error(_('There was a problem with your session token. Try again, please.'));
+            $this->clientError(_('There was a problem with your session token. Try again, please.'));
             return;
         }
 
@@ -51,7 +56,7 @@ class LoginAction extends Action {
         if (common_check_user($nickname, $password)) {
             # success!
             if (!common_set_user($nickname)) {
-                common_server_error(_('Error setting user.'));
+                $this->serverError(_('Error setting user.'));
                 return;
             }
             common_real_login(true);
@@ -63,7 +68,7 @@ class LoginAction extends Action {
             $url = common_get_returnto();
             if ($url) {
                 # We don't have to return to it again
-                common_set_returnto(NULL);
+                common_set_returnto(null);
             } else {
                 $url = common_local_url('all',
                                         array('nickname' =>
@@ -71,13 +76,13 @@ class LoginAction extends Action {
             }
             common_redirect($url);
         } else {
-            $this->show_form(_('Incorrect username or password.'));
+            $this->showForm(_('Incorrect username or password.'));
             return;
         }
 
         # success!
         if (!common_set_user($user)) {
-            common_server_error(_('Error setting user.'));
+            $this->serverError(_('Error setting user.'));
             return;
         }
 
@@ -91,7 +96,7 @@ class LoginAction extends Action {
         $url = common_get_returnto();
         if ($url) {
             # We don't have to return to it again
-            common_set_returnto(NULL);
+            common_set_returnto(null);
         } else {
             $url = common_local_url('all',
                                     array('nickname' =>
@@ -100,27 +105,49 @@ class LoginAction extends Action {
         common_redirect($url);
     }
 
-    function show_form($error=NULL) {
-        common_show_header(_('Login'), NULL, $error, array($this, 'show_top'));
-        common_element_start('form', array('method' => 'post',
+    function showForm($error=null)
+    {
+       $this->error = $error;
+       $this->showPage();
+    }
+
+    function title()
+    {
+       return _('Login');
+    }
+
+    function showPageNotice()
+    {
+        if ($this->error) {
+            $this->element('p', 'error', $this->error);
+        } else {
+            $instr = $this->getInstructions();
+            $output = common_markup_to_html($instr);
+            $this->raw($output);
+        }
+    }
+    
+    function showContent()
+    {      
+        $this->elementStart('form', array('method' => 'post',
                                            'id' => 'login',
                                            'action' => common_local_url('login')));
-        common_input('nickname', _('Nickname'));
-        common_password('password', _('Password'));
-        common_checkbox('rememberme', _('Remember me'), false,
+        $this->input('nickname', _('Nickname'));
+        $this->password('password', _('Password'));
+        $this->checkbox('rememberme', _('Remember me'), false,
                         _('Automatically login in the future; ' .
                            'not for shared computers!'));
-        common_submit('submit', _('Login'));
-        common_hidden('token', common_session_token());
-        common_element_end('form');
-        common_element_start('p');
-        common_element('a', array('href' => common_local_url('recoverpassword')),
+        $this->submit('submit', _('Login'));
+        $this->hidden('token', common_session_token());
+        $this->elementEnd('form');
+        $this->elementStart('p');
+        $this->element('a', array('href' => common_local_url('recoverpassword')),
                        _('Lost or forgotten password?'));
-        common_element_end('p');
-        common_show_footer();
+        $this->elementEnd('p');
     }
 
-    function get_instructions() {
+    function getInstructions()
+    {
         if (common_logged_in() &&
             !common_is_real_login() &&
             common_get_returnto())
@@ -137,16 +164,4 @@ class LoginAction extends Action {
                      'try [OpenID](%%action.openidlogin%%). ');
         }
     }
-
-    function show_top($error=NULL) {
-        if ($error) {
-            common_element('p', 'error', $error);
-        } else {
-            $instr = $this->get_instructions();
-            $output = common_markup_to_html($instr);
-            common_element_start('div', 'instructions');
-            common_raw($output);
-            common_element_end('div');
-        }
-    }
 }