Files
gallery3/modules/user/controllers/login.php
Bharat Mediratta ae7839ffaa Revise the user login code.
* Remove user registration link and popup from the theme; this
  shouldn't be done in a popup. Use ajaxform to simplify the way
  that we load the login popup.

* Create form.html.php, this is a template for Forge based forms.

* Move user validation rules into User_Model and let forms
  populate the rules into their forms as useful.

* Undo r18688's changes regarding the REST code.  We should never
  accept a null resource, this breaks the REST abstraction.

* Change login and user controllers to use Forge which lets us delete
  login.html.php and user.html.php since those now are generated by
  the theme-owned form template
2008-11-15 06:23:09 +00:00

47 lines
1.9 KiB
PHP

<?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_Controller extends Controller {
public function index() {
$form = new Forge("login", "", "post", array("id" => "gLogin"));
$group = $form->group(_("Login"));
$group->input("name")->label(_("Name"))->id("gName")->class(null);
$group->password("password")->label(_("Password"))->id("gPassword")->class(null);
$group->submit(_("Login"));
$form->hidden("continue")->value($this->input->get("continue"));
$group->inputs["name"]->error_messages("invalid_login", _("Invalid name or password"));
if ($form->validate()) {
$user = ORM::factory("user")->where("name", $group->inputs["name"]->value)->find();
if ($user->loaded &&
user::is_correct_password($user, $group->password->value)) {
user::login($user);
$continue = $form->hidden["continue"]->value;
if ($continue) {
url::redirect($form->hidden["continue"]->value);
}
return;
} else {
$group->inputs["name"]->add_error("invalid_login", 1);
}
}
print $form->render("form.html", false);
}
}