summaryrefslogtreecommitdiff
path: root/modules/gallery/helpers
diff options
context:
space:
mode:
Diffstat (limited to 'modules/gallery/helpers')
-rw-r--r--modules/gallery/helpers/auth.php (renamed from modules/gallery/helpers/login.php)29
1 files changed, 27 insertions, 2 deletions
diff --git a/modules/gallery/helpers/login.php b/modules/gallery/helpers/auth.php
index cb961604..9c69cecd 100644
--- a/modules/gallery/helpers/login.php
+++ b/modules/gallery/helpers/auth.php
@@ -17,8 +17,8 @@
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA.
*/
-class login_Core {
- static function get_form($url) {
+class auth_Core {
+ static function get_login_form($url) {
$form = new Forge($url, "", "post", array("id" => "g-login-form"));
$form->set_attr('class', "g-narrow");
$group = $form->group("login")->label(t("Login"));
@@ -28,4 +28,29 @@ class login_Core {
$group->submit("")->value(t("Login"));
return $form;
}
+
+ static function login($user) {
+ if (identity::is_writable()) {
+ $user->login_count += 1;
+ $user->last_login = time();
+ $user->save();
+ }
+ identity::set_active_user($user);
+ log::info("user", t("User %name logged in", array("name" => $user->name)));
+ module::event("user_login", $user);
+ }
+
+ static function logout() {
+ $user = identity::active_user();
+ if (!$user->guest) {
+ try {
+ Session::instance()->destroy();
+ } catch (Exception $e) {
+ Kohana::log("error", $e);
+ }
+ module::event("user_logout", $user);
+ }
+ log::info("user", t("User %name logged out", array("name" => $user->name)),
+ html::anchor("user/$user->id", html::clean($user->name)));
+ }
} \ No newline at end of file