blob: 23b8288444b5a089cc948162c409bb6f9e025284 (
plain) (
tree)
|
|
<?php
require_once "model/common.mod.php";
require_once "class/user.class.php";
require_once "class/form.class.php";
require_once "class/setting.class.php";
class AuthModel extends CommonModel
{
/*
* Default action
*/
function deflt()
{
$userTbl = new User();
if (count($userTbl->getAllUsers_orderByName()) == 0)
{
$this->noaccounts = true;
$this->activeTab['signup'] = "in active";
$this->tabSwap = false;
}
else
{
$this->activeTab['login'] = "in active";
$this->tabSwap = Setting::allowPublicSignup();
}
}
/*
* Attempt to register a new account
*/
function signup($input)
{
$userTbl = new User();
if (!Setting::allowPublicSignup() && count($userTbl->getAllUsers_orderByName()) > 0)
{
$this->logError("You may not signup at this time");
return;
}
$form = new Form();
$form->field_text("username");
$form->field_text("password", null, false);
$form->field_text("cPassword", null, false);
if (!$form->populate($input))
{
$this->logFormErrors($form);
return;
}
if ($form->password != $form->cPassword)
{
$this->logError("Passwords do not match");
return;
}
$user = new User();
if (!$user->createNewUser($form->username, $form->password))
{
$this->logError("Your requested username is already in use");
return;
}
$this->setCurrentUser($user);
$this->redirectTo($this->ap() . "/");
}
/*
* Attempt to login
*/
function login($input)
{
$form = new Form();
$form->field_text("username");
$form->field_text("password", null, false);
if (!$form->populate($input))
{
$this->logFormErrors($form);
return;
}
$user = new User();
if (!($user->initByUsername($form->username) && $user->validatePassword($form->password)))
{
$this->logError("Username or password is incorrect");
return;
}
$this->setCurrentUser($user);
$this->redirectTo($this->ap() . "/");
}
}
?>
|