private function _obtener_mensaje($nuevos = FALSE) { $usuario = new Usuario_model(); $fechaAcceso = $usuario->fechaUltimoAcceso($this->session->userdata('email')); if ($nuevos) { $mensajes = Chat_model::obtener_mensajes_nuevos($fechaAcceso, $this->session->userdata('email')); } else { $mensajes = Chat_model::obtener_mensajes($fechaAcceso); } if (count($mensajes) > 0) { $chat = '<ul>'; foreach ($mensajes as $mensaje) { $empleado = new Empleado_model(); $foto = $empleado->foto($mensaje->EmailEmpleado); if ($foto == '') { $foto = base_url() . 'images/indice.jpeg'; } $span_class = $this->session->userdata('email') == $mensaje->EmailEmpleado ? 'class="usuario_actual"' : ''; $chat .= '<li>' . '<img src="' . $foto . '" alt="foto usuario">' . '<div class="encabezado">' . '<span ' . $span_class . '>' . $mensaje->Nombre . ' ' . $mensaje->ApellidoP . ' ' . $mensaje->ApellidoM . '</span> el ' . date('d-m-Y', strtotime($mensaje->Fecha)) . ' a las ' . date('H:i:s', strtotime($mensaje->Fecha)) . ':' . '</div>' . '<div class="contenido">' . $mensaje->Mensaje . '</div>' . '</li>'; } $chat .= '</ul>'; $resultado = array('estado' => 'ok', 'contenido' => $chat); return json_encode($resultado); } else { $resultado = array('estado' => 'ok', 'contenido' => ''); return json_encode($resultado); } }
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">×</button> <h4>Error</h4> No puedes acceder al sistema desde aquí. </div>'; } } $this->mostrar($datos); }