summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTim Almdal <tnalmdal@shaw.ca>2009-10-30 09:32:18 -0700
committerTim Almdal <tnalmdal@shaw.ca>2009-10-30 09:32:18 -0700
commit59b5a0549635aa5c8320707cec75612746debdd0 (patch)
treed1a6294420d028fe327a82b2213cbd744ce6fab4
parentddf8734a414e4d426232e6dec9137eac8dcf0bb7 (diff)
Rename the login helper to auth. Create a login and logout helper function to allow for programmically login in and out.
-rw-r--r--modules/gallery/controllers/albums.php2
-rw-r--r--modules/gallery/controllers/login.php15
-rw-r--r--modules/gallery/controllers/logout.php12
-rw-r--r--modules/gallery/helpers/auth.php (renamed from modules/gallery/helpers/login.php)29
-rw-r--r--modules/gallery/views/maintenance.html.php2
5 files changed, 34 insertions, 26 deletions
diff --git a/modules/gallery/controllers/albums.php b/modules/gallery/controllers/albums.php
index d393422e..a430b14d 100644
--- a/modules/gallery/controllers/albums.php
+++ b/modules/gallery/controllers/albums.php
@@ -29,7 +29,7 @@ class Albums_Controller extends Items_Controller {
$view = new Theme_View("page.html", "login");
$view->page_title = t("Log in to Gallery");
$view->content = new View("login_ajax.html");
- $view->content->form = login::get_form("login/auth_html");
+ $view->content->form = auth::get_login_form("login/auth_html");
print $view;
return;
} else {
diff --git a/modules/gallery/controllers/login.php b/modules/gallery/controllers/login.php
index 3978b64f..75ee6b9c 100644
--- a/modules/gallery/controllers/login.php
+++ b/modules/gallery/controllers/login.php
@@ -21,7 +21,7 @@ class Login_Controller extends Controller {
public function ajax() {
$view = new View("login_ajax.html");
- $view->form = login::get_form("login/auth_ajax");
+ $view->form = auth::get_login_form("login/auth_ajax");
print $view;
}
@@ -40,7 +40,7 @@ class Login_Controller extends Controller {
}
public function html() {
- print login::get_form("login/auth_html");
+ print auth::get_login_form("login/auth_html");
}
public function auth_html() {
@@ -55,7 +55,7 @@ class Login_Controller extends Controller {
}
private function _auth($url) {
- $form = login::get_form($url);
+ $form = auth::get_login_form($url);
$valid = $form->validate();
if ($valid) {
$user = identity::lookup_user_by_name($form->login->inputs["name"]->value);
@@ -70,14 +70,7 @@ class Login_Controller extends Controller {
}
if ($valid) {
- 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);
+ auth::login($user);
}
// Either way, regenerate the session id to avoid session trapping
diff --git a/modules/gallery/controllers/logout.php b/modules/gallery/controllers/logout.php
index 1b0364fd..2b93655d 100644
--- a/modules/gallery/controllers/logout.php
+++ b/modules/gallery/controllers/logout.php
@@ -19,17 +19,7 @@
*/
class Logout_Controller extends Controller {
public function index() {
- $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)));
+ auth::logout();
if ($continue_url = $this->input->get("continue")) {
$item = url::get_item_from_uri($continue_url);
if (access::can("view", $item)) {
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
diff --git a/modules/gallery/views/maintenance.html.php b/modules/gallery/views/maintenance.html.php
index 2fdc40a3..6351b6ab 100644
--- a/modules/gallery/views/maintenance.html.php
+++ b/modules/gallery/views/maintenance.html.php
@@ -43,7 +43,7 @@
<p>
<?= t("This site is currently only accessible by site administrators.") ?>
</p>
- <?= login::get_form("login/auth_html") ?>
+ <?= auth::get_login_form("login/auth_html") ?>
</body>
</html>