예제 #1
0
 public function iniciarSesion()
 {
     $this->pagina = 'privado';
     if ($this->uri->segment(1) == 'admin' || $this->uri->segment(1) == 'administrador') {
         $user = '******';
     } else {
         if ($this->uri->segment(1) == 'empleado') {
             $user = '******';
         } else {
             $user = '******';
         }
     }
     $this->carpeta = $user;
     $this->titulo = 'Iniciar sesión';
     $this->javascript = array('jquery.validate.min', 'validarInicioSesion', 'tamanyo');
     if ($user == 'administrador' || $user == 'empleado') {
         $this->estilo = 'login';
         $datos['imagen'] = $this->captcha_model->crear_captcha();
     } else {
         $this->estilo = 'clientes';
     }
     $boton = array('name' => 'button', 'id' => 'boton_sesion', 'value' => 'Enviar', 'class' => 'btn btn-primary');
     $formularioSesion = array('email' => array('label' => array('accesskey' => 'E', 'name' => '<u>E</u>mail'), 'input' => array('class' => 'email', 'name' => 'email', 'id' => 'email', 'maxlength' => '50', 'size' => '20', 'value' => '', 'autofocus' => 'autofocus')), 'password' => array('label' => array('accesskey' => 'D', 'name' => 'Passwor<u>d</u>'), 'input' => array('class' => 'password', 'name' => 'pass', 'id' => 'pass', 'maxlength' => '20', 'size' => '20', 'autocomplete' => 'off')));
     $email = $this->input->post('email');
     $datos['boton'] = $boton;
     $datos['formulario'] = $formularioSesion;
     $datos['formulario']['email']['input']['value'] = $email;
     if ($user == 'administrador' || $user == 'empleado') {
         $datos['formulario']['captcha'] = array('input' => array('class' => 'captcha', 'name' => 'captcha', 'id' => 'captcha', 'maxlength' => '20', 'size' => '20', 'autocomplete' => 'off'));
     }
     if ($this->_validarSesion($user)) {
         $usuario = new Usuario_model();
         $usuario->datos($email);
         if ($user == $usuario->tipo() || $user == 'administrador' && $usuario->tipo() == 'admin') {
             $ultimoAcceso = $usuario->fechaUltimoAcceso();
             $act = array('Email' => $usuario->email(), 'NumeroIntentos' => 0, 'FechaUltimoAcceso' => date('Y/m/d H:i:s'));
             $usuario->actualizar($usuario->email(), $act);
             $datosUsuario = array('nombre' => $usuario->nombre(), 'apellidos' => $usuario->primerApellido() . ' ' . $usuario->segundoApellido(), 'email' => $usuario->email(), 'usuario' => $usuario->tipo(), 'ultimoAcceso' => $ultimoAcceso, 'logged_in' => TRUE);
             $this->session->set_userdata($datosUsuario);
             switch ($usuario->tipo()) {
                 case 'admin':
                     redirect("administrador/novedades");
                     break;
                 case 'empleado':
                     redirect("empleado/novedades");
                     break;
                 case 'cliente':
                     redirect("cliente/inicio");
                     break;
             }
         } else {
             $datos['mensaje'] = '<div class="alert alert-error">
                 <button type="button" class="close" data-dismiss="alert">&times;</button>
                 <h4>Error</h4>
                     No puedes acceder al sistema desde aquí.
                 </div>';
         }
     }
     $this->mostrar($datos);
 }
예제 #2
0
 public function sincronizar()
 {
     if (empty($_POST)) {
         redirect('404');
     } else {
         $nombre = $_POST['id'];
         $aux = explode('-', $nombre);
         $empleados = array();
         $e = new Usuario_model();
         foreach (Proyecto_model::empleadosProyecto($aux[1]) as $empl) {
             if ($e->tipo($empl->EmailEmpleado) == 'empleado') {
                 $empleados[$empl->EmailEmpleado] = 'empleados';
             } else {
                 $empleados[$empl->EmailEmpleado] = $e->tipo($empl->EmailEmpleado);
             }
         }
         $pusher = array('texto' => $_POST['texto'], 'id' => $_POST['id'], 'empleados' => $empleados, 'usuario' => $this->session->userdata('email'));
         $this->pusher->trigger('editor', 'sincronizacion', $pusher);
     }
 }