summaryrefslogtreecommitdiff
path: root/modules
diff options
context:
space:
mode:
authorTim Almdal <tnalmdal@shaw.ca>2008-11-12 21:42:40 +0000
committerTim Almdal <tnalmdal@shaw.ca>2008-11-12 21:42:40 +0000
commit74216a3c636673fd49e82a7c31c0c9ed1de60e7f (patch)
treea09449d8944175fc9a612bf207d350c98572de5a /modules
parent2a9f8b5bcd6de819e461583bde1641aad3055d27 (diff)
The login processing is starting to take shape. Login_Form is gone. The html for the login form is retrieve via an ajax call when the user clicks on login. Can't login with a valid id yet, but you certainly get error messages when things are wrong :-)
Diffstat (limited to 'modules')
-rw-r--r--modules/user/controllers/login.php29
-rw-r--r--modules/user/libraries/Login_Form.php44
-rw-r--r--modules/user/views/login.html.php41
3 files changed, 43 insertions, 71 deletions
diff --git a/modules/user/controllers/login.php b/modules/user/controllers/login.php
index e6f10ec8..991fa73b 100644
--- a/modules/user/controllers/login.php
+++ b/modules/user/controllers/login.php
@@ -19,24 +19,41 @@
*/
class Login_Controller extends Controller {
public function index() {
- $this->template->title = "User Login";
+ Kohana::log("debug", "Login_Controller/index");
+ $form = new Forge();
+ $form->input("username")->rules("required|length[4,32]");
+ $form->password("password")->rules("required|length[5,40]");
+ $form->submit("Login");
+ print $form->render("login.html", true);
+ }
+
+ public function process() {
+ Kohana::log("debug", "Login_Controller/process");
- $form = new Login_Form();
+ Kohana::log("debug", print_r($_POST, true));
+ $form = new Forge("login.html", true);
+ $form->input("username")->rules("required|length[4,32]");
+ $form->password("password")->rules("required|length[5,40]");
+ $form->submit("Login");
+ $response = array();
if ($form->validate()) {
// Load the user
$user = ORM::factory("user")->where("name", $form->username->value)->find();
if (!$user->loaded) {
- $form->error_message = "Invalid username or password";
+ $response["error_message"] = "Invalid username or password";
} else {
if (user::is_correct_password($user,$form->password->value)) {
user::login($user);
- url::redirect("user/success.html");
+ $response["error_message"] = "";
} else {
- $form->error_message = "Invalid username or password";
+ $response["error_message"] = "Invalid username or password";
}
}
+ } else {
+ $response["error_message"] = "Invalid username or password";
}
- $form->render();
+
+ print json_encode($response);
}
} \ No newline at end of file
diff --git a/modules/user/libraries/Login_Form.php b/modules/user/libraries/Login_Form.php
deleted file mode 100644
index 6874cbd4..00000000
--- a/modules/user/libraries/Login_Form.php
+++ /dev/null
@@ -1,44 +0,0 @@
-<?php defined("SYSPATH") or die("No direct script access.");
-/**
- * Gallery - a web based photo album viewer and editor
- * Copyright (C) 2000-2008 Bharat Mediratta
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or (at
- * your option) any later version.
- *
- * This program is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * 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_Form_Core extends Forge {
- protected $error_message;
-
- public static function factory() {
- return new Login_Form();
- }
-
- public function __construct() {
- parent::__construct("login.html");
- $this->legend="Login";
- $this->input("username")->rules("required|length[4,32]");
- $this->password("password")->rules("required|length[5,40]");
- $this->submit("Login");
- }
-
- public function render($template = 'login.html', $custom = true) {
- $form = parent::render($template, $custom);
- $form->error_message = $this->error_message;
- return $form;
- }
-
- public function __set($key, $value) {
- $this->$key = $value;
- }
-} \ No newline at end of file
diff --git a/modules/user/views/login.html.php b/modules/user/views/login.html.php
index 58df6024..fb770f3f 100644
--- a/modules/user/views/login.html.php
+++ b/modules/user/views/login.html.php
@@ -1,24 +1,23 @@
<? defined("SYSPATH") or die("No direct script access."); ?>
-<fieldset id="gLogin">
- <legend>Login</legend>
- <ul>
- <li>
- <label for="username">Username</label>
- <input type="text" class="text" id="username" />
- </li>
- <li>
- <label for="password">Password</label>
- <input type="password" class="password" id="password" />
- </li>
- <li>
- <input type="submit" class="submit" value="<?= _("Login")?>" />
- </li>
- <? if (!empty($error_message)): ?>
+<form id="gLogin" action="<?= url::site("login/process") ?>">
+ <fieldset>
+ <legend>Login</legend>
+ <ul>
<li>
- <p class="error" id="login_message">
- <?= $error_message ?>
- </p>
+ <label for="username">Username</label>
+ <input type="text" id="gUsername" />
</li>
- <? endif;?>
- </ul>
-</fieldset>
+ <li>
+ <label for="password">Password</label>
+ <input type="password" id="gPassword" />
+ </li>
+ <li>
+ <input type="submit" class="submit" value="<?= _("Login")?>" />
+ </li>
+ </ul>
+ </fieldset>
+ <fieldset>
+ <div class="gStatus gError gDisplayNone" id="gLoginMessage">
+ </div>
+ </fieldset>
+</form>