From 41f6c9d8cfe467293a1847f403225c338f15ab4f Mon Sep 17 00:00:00 2001 From: Zach Copley Date: Fri, 15 May 2009 21:41:41 +0000 Subject: Added event handlers to logout action --- EVENTS.txt | 6 ++++++ actions/logout.php | 16 +++++++++++++--- 2 files changed, 19 insertions(+), 3 deletions(-) diff --git a/EVENTS.txt b/EVENTS.txt index 5edf59245..d689f0be6 100644 --- a/EVENTS.txt +++ b/EVENTS.txt @@ -103,3 +103,9 @@ EndPublicGroupNav: At the end of the public group nav menu RouterInitialized: After the router instance has been initialized - $m: the Net_URL_Mapper that has just been set up +StartLogout: Before logging out +- $action: the logout action + +EndLogout: After logging out +- $action: the logout action + diff --git a/actions/logout.php b/actions/logout.php index 9f3bfe247..c34b10987 100644 --- a/actions/logout.php +++ b/actions/logout.php @@ -70,10 +70,20 @@ class LogoutAction extends Action if (!common_logged_in()) { $this->clientError(_('Not logged in.')); } else { - common_set_user(null); - common_real_login(false); // not logged in - common_forgetme(); // don't log back in! + if (Event::handle('StartLogout', array($this))) { + $this->logout(); + } + Event::handle('EndLogout', array($this)); + common_redirect(common_local_url('public'), 303); } } + + function logout() + { + common_set_user(null); + common_real_login(false); // not logged in + common_forgetme(); // don't log back in! + } + } -- cgit v1.2.3-54-g00ecf