]> git.mxchange.org Git - quix0rs-gnu-social.git/blobdiff - actions/logout.php
Improved type-hint for following methods:
[quix0rs-gnu-social.git] / actions / logout.php
index 298b2a484b58088a76e7bf334a2dc55c746b7dd2..6edbbdf293da8dc5fd7cd17d7d4df1fc57656de1 100644 (file)
@@ -32,8 +32,6 @@ if (!defined('STATUSNET') && !defined('LACONICA')) {
     exit(1);
 }
 
-require_once INSTALLDIR.'/lib/openid.php';
-
 /**
  * Logout action class.
  *
@@ -46,13 +44,12 @@ require_once INSTALLDIR.'/lib/openid.php';
  */
 class LogoutAction extends Action
 {
-
     /**
      * This is read only.
      *
      * @return boolean true
      */
-    function isReadOnly($args)
+    function isReadOnly(array $args=array())
     {
         return false;
     }
@@ -64,10 +61,11 @@ class LogoutAction extends Action
      *
      * @return nothing
      */
-    function handle($args)
+    function handle(array $args=array())
     {
         parent::handle($args);
         if (!common_logged_in()) {
+            // TRANS: Error message displayed when trying to perform an action that requires a logged in user.
             $this->clientError(_('Not logged in.'));
         } else {
             if (Event::handle('StartLogout', array($this))) {
@@ -75,7 +73,13 @@ class LogoutAction extends Action
             }
             Event::handle('EndLogout', array($this));
 
-            common_redirect(common_local_url('public'), 303);
+            if (common_config('singleuser', 'enabled')) {
+                $user = User::singleUser();
+                common_redirect(common_local_url('showstream',
+                                                 array('nickname' => $user->nickname)));
+            } else {
+                common_redirect(common_local_url('public'), 303);
+            }
         }
     }
 
@@ -85,5 +89,4 @@ class LogoutAction extends Action
         common_real_login(false); // not logged in
         common_forgetme(); // don't log back in!
     }
-
 }