diff options
Diffstat (limited to 'modules')
-rw-r--r-- | modules/user/controllers/logout.php | 7 | ||||
-rw-r--r-- | modules/user/helpers/user.php | 16 |
2 files changed, 17 insertions, 6 deletions
diff --git a/modules/user/controllers/logout.php b/modules/user/controllers/logout.php index 19a8450b..60f9ee50 100644 --- a/modules/user/controllers/logout.php +++ b/modules/user/controllers/logout.php @@ -19,12 +19,7 @@ */ class Logout_Controller extends Controller { public function index() { - try { - Session::instance()->destroy(); - module::event("user_logout", $user); - } catch (Exception $e) { - Kohana::log("error", $e); - } + user::logout(); if ($this->input->get("continue")) { url::redirect($this->input->get("continue")); } diff --git a/modules/user/helpers/user.php b/modules/user/helpers/user.php index 387e0e3e..962db8a7 100644 --- a/modules/user/helpers/user.php +++ b/modules/user/helpers/user.php @@ -187,6 +187,22 @@ class user_Core { user::set_active($user); module::event("user_login", $user); + log::add("user", "User $user->name logged in", + log::INFO, html::anchor("user/$user->id", $user->name)); + } + + public static function logout() { + $user = user::active(); + if (!$user->guest) { + try { + Session::instance()->destroy(); + } catch (Exception $e) { + Kohana::log("error", $e); + } + module::event("user_logout", $user); + log::add("user", "User $user->name logged out", + log::INFO, html::anchor("user/$user->id", $user->name)); + } } /** |