diff options
author | Evan Prodromou <evan@controlyourself.ca> | 2009-08-04 13:10:37 -0400 |
---|---|---|
committer | Evan Prodromou <evan@controlyourself.ca> | 2009-08-04 13:10:37 -0400 |
commit | 8f122dd71efcc54b820629bc4c39efe91b8e8726 (patch) | |
tree | a3fd54baeddcf0e3a64dd7cae07d99723a34f232 | |
parent | 9421b36498f856ca7f29c3b803b99521590d58c5 (diff) |
new action for when we redirect to login page
-rw-r--r-- | EVENTS.txt | 4 | ||||
-rw-r--r-- | lib/settingsaction.php | 10 |
2 files changed, 10 insertions, 4 deletions
diff --git a/EVENTS.txt b/EVENTS.txt index ef4c2cffa..25d95fe06 100644 --- a/EVENTS.txt +++ b/EVENTS.txt @@ -223,3 +223,7 @@ EndRegistrationTry: after saving a new user (note: no profile or user object!) StartNewQueueManager: before trying to start a new queue manager; good for plugins implementing new queue manager classes - $qm: empty queue manager to set + +RedirectToLogin: event when we force a redirect to login (like when going to a settings page on a remembered login) +- $action: action object being shown +- $user: current user diff --git a/lib/settingsaction.php b/lib/settingsaction.php index 17d3a2f64..4cf9b80c4 100644 --- a/lib/settingsaction.php +++ b/lib/settingsaction.php @@ -77,10 +77,12 @@ class SettingsAction extends CurrentUserDesignAction // _all_ our settings are important common_set_returnto($this->selfUrl()); $user = common_current_user(); - if ($user->hasOpenID()) { - common_redirect(common_local_url('openidlogin'), 303); - } else { - common_redirect(common_local_url('login'), 303); + if (Event::handle('RedirectToLogin', array($this, $user))) { + if ($user->hasOpenID()) { + common_redirect(common_local_url('openidlogin'), 303); + } else { + common_redirect(common_local_url('login'), 303); + } } } else if ($_SERVER['REQUEST_METHOD'] == 'POST') { $this->handlePost(); |