public static function validar_acceso($email, $password)
 {
     $u = Doctrine::getTable('UsuarioBackend')->findOneByEmail($email);
     if ($u) {
         // this mutates (encrypts) the input password
         $u_input = new UsuarioBackend();
         $u_input->setPasswordWithSalt($password, $u->salt);
         // password match (comparing encrypted passwords)
         if ($u->password == $u_input->password) {
             unset($u_input);
             return TRUE;
         }
         unset($u_input);
     }
     // login failed
     return FALSE;
 }
示例#2
0
 public function editar_form($usuario_id = null)
 {
     if ($usuario_id) {
         $usuario = Doctrine::getTable('UsuarioBackend')->find($usuario_id);
     } else {
         $usuario = new UsuarioBackend();
     }
     $this->form_validation->set_rules('email', 'Correo Electrónico', 'required|valid_email');
     $this->form_validation->set_rules('nombre', 'Nombre', 'required');
     $this->form_validation->set_rules('apellidos', 'Apellidos', 'required');
     $this->form_validation->set_rules('cuenta_id', 'Cuenta', 'required');
     $this->form_validation->set_rules('rol', 'Rol', 'required');
     if (!$usuario->id) {
         $this->form_validation->set_rules('password', 'Contraseña', 'required|min_length[6]|matches[password_confirm]');
     }
     if ($this->input->post('password')) {
         $this->form_validation->set_rules('password', 'Contraseña', 'required|min_length[6]|matches[password_confirm]');
         $this->form_validation->set_rules('password_confirm', 'Confirmar contraseña', 'required');
     }
     $respuesta = new stdClass();
     if ($this->form_validation->run() == true) {
         $usuario->email = $this->input->post('email');
         $usuario->nombre = $this->input->post('nombre');
         $usuario->apellidos = $this->input->post('apellidos');
         $usuario->Cuenta = Doctrine::getTable('Cuenta')->find($this->input->post('cuenta_id'));
         $usuario->rol = implode(",", $this->input->post('rol'));
         if ($this->input->post('password')) {
             $usuario->setPasswordWithSalt($this->input->post('password'));
         }
         $usuario->save();
         $this->session->set_flashdata('message', 'Usuario guardado con éxito.');
         $respuesta->validacion = true;
         $respuesta->redirect = site_url('manager/usuarios');
     } else {
         $respuesta->validacion = false;
         $respuesta->errores = validation_errors();
     }
     echo json_encode($respuesta);
 }
示例#3
0
 public function backend_usuario_editar_form($usuario_id = NULL)
 {
     $usuario = NULL;
     if ($usuario_id) {
         $usuario = Doctrine::getTable('UsuarioBackend')->find($usuario_id);
         if ($usuario->cuenta_id != UsuarioBackendSesion::usuario()->cuenta_id) {
             echo 'Usuario no tiene permisos para editar este usuario.';
             exit;
         }
     }
     if (!$usuario) {
         $this->form_validation->set_rules('email', 'E-Mail', 'required|valid_email|callback_check_existe_usuario_backend');
         $this->form_validation->set_rules('password', 'Contraseña', 'required|min_length[6]|matches[password_confirm]');
     }
     if ($this->input->post('password')) {
         $this->form_validation->set_rules('password', 'Contraseña', 'required|min_length[6]|matches[password_confirm]');
         $this->form_validation->set_rules('password_confirm', 'Confirmar contraseña');
     }
     $this->form_validation->set_rules('nombre', 'Nombre', 'required');
     $this->form_validation->set_rules('apellidos', 'Apellidos', 'required');
     $this->form_validation->set_rules('rol', 'Rol', 'required');
     $respuesta = new stdClass();
     if ($this->form_validation->run() == TRUE) {
         if (!$usuario) {
             $usuario = new UsuarioBackend();
             $usuario->email = $this->input->post('email');
         }
         if ($this->input->post('password')) {
             $usuario->setPasswordWithSalt($this->input->post('password'));
         }
         $usuario->nombre = $this->input->post('nombre');
         $usuario->apellidos = $this->input->post('apellidos');
         $usuario->rol = $this->input->post('rol');
         $usuario->cuenta_id = UsuarioBackendSesion::usuario()->cuenta_id;
         $usuario->save();
         $respuesta->validacion = TRUE;
         $respuesta->redirect = site_url('backend/configuracion/backend_usuarios');
     } else {
         $respuesta->validacion = FALSE;
         $respuesta->errores = validation_errors();
     }
     echo json_encode($respuesta);
 }