load->database();
$this->load->model('user');
}
function index()
{
$this->load->helper('url');
$users = $this->user->get_all();
if ($users)
$data['users'] = $users;
if (count($this->err))
$data['err'] = $this->err;
$this->load->view('register', $data);
$this->load->library('session');
echo 'id: ' . $this->session->userdata('id') . "
\n" .
'hash: ' . $this->session->userdata('hash') . "
\n";
}
function add_user()
{
if (isset($_POST['login']) && isset($_POST['passwd'])) {
// проверим логин на допустимые символы
if (!preg_match('/^[a-zA-Z0-9_]+$/', $_POST['login'])) {
$this->err[] = 'Логин может состоять только из букв английского алфавита и цифр.';
}
// проверим логин на корректную длину
$tmp = strlen($_POST['login']);
if ($tmp < 3 || $tmp > 30) {
$this->err[] = 'Логин должен быть не меньше 3-х и не больше 30 символов.';
}
// проверяем, не существует ли пользователь с таким именем
$tmp = $this->user->get_by_login($_POST['login']);
if ($tmp) {
$this->err[] = 'Пользователь с таким логином уже существует в базе.';
}
// проверим пароль на корректную длину
$tmp = strlen($_POST['passwd']);
if ($tmp < 3 || $tmp > 30) {
$this->err[] = 'Пароль должен быть не меньше 3-х и не больше 30 символов.';
}
// если нет ошибок, то добавляем данные в базу
if (!count($this->err)) {
$login = $_POST['login'];
$passwd = sha1(trim($_POST['passwd']));
$this->user->add($login, $passwd);
}
} else {
$this->err[] = 'Не найдены значения для добавления пользователя.';
}
// передадим управление индексному контроллеру
$this->index();
}
function del_user($id_user = NULL)
{
if ($id_user && settype($id_user, 'integer')) {
$this->user->del($id_user);
} else {
$this->err[] = 'Не найден идентификатор пользователя для удаления.';
}
// передадим управление индексному контроллеру
$this->index();
}
}