Файл: Luxe-Shop v6.0/application/controllers/admin/users.php
Строк: 51
<?php
class users extends Admin_Controler {
function __Construct() {
parent::__construct();
$this->load->model('sitesecurity');
$this->load->model('security_model');
$this->load->model('user_model');
}
public function index()
{
$this->data['ips'] = $this->security_model->get();
$this->data['subview'] = 'admin/users/index';
$this->load->view('admin/layout_main',$this->data);
}
public function edit($id=NULL)
{
if($id) {
$this->data['users'] = $this->users->get($id);
count($this->data['users']) || $this->data['errors'][] = 'Страница не найдена';
}
else {
$this->data['users'] = $this->users->get_new();
}
$rules = $this->users->rules;
$this->form_validation->set_rules($rules);
if($this->form_validation->run() == TRUE) {
$data = $this->users->array_from_post(array('id','email','password','name','group'));
$this->users->save($data,$id);
redirect('admin/users');
}
$this->data['subview'] = 'admin/users';
$this->load->view('admin/layout_main',$this->data);
}
public function settings()
{
if ($this->input->post('submit'))
{
$rules = $this->sitesecurity->rules;
$this->form_validation->set_rules($rules);
$this->form_validation->set_rules('old_password', 'Текущий пароль', 'required|callback__check_pass');
$this->form_validation->set_rules('password', 'Пароль', 'required|matches[password1]');
$this->form_validation->set_rules('password1', 'Повтор пароля', 'required');
if($this->form_validation->run() == TRUE)
{
$data = $this->sitesecurity->array_from_post(array('old_password','password','password1'));
if ($this->user_model->save_pass($data['password'])) $this->data['ok']=TRUE;
}
}
$this->data['ips'] = $this->security_model->get();
$this->data['subview'] = 'admin/users/settings';
$this->load->view('admin/layout_main',$this->data);
}
public function delete($id) {
$this->security_model->delete($id);
redirect('admin/users');
}
function _check_pass($password)
{
if (!$this->user_model->get_by(array('id'=>$this->session->userdata('id'),'password'=>$this->user_model->hash($password))))
{
$this->form_validation->set_message('_check_pass', '<div class="alert alert-error">Ошибка ввода текущего пароля</div>');
return FALSE;
}
else
{
return TRUE;
}
}
}
?>