Example #1
0
 public function salvar()
 {
     $is_unique = $this->input->post('idusuario') > 0 ? '' : '|is_unique[usuario.email]';
     $this->form_validation->set_rules('nome', 'Nome', 'trim|required|min_length[3]|max_length[50]');
     $this->form_validation->set_rules('email', 'Email', 'trim|required|valid_email|max_length[60]' . $is_unique, array('is_unique' => 'Este email já foi cadastrado, tente outro.'));
     if (!$this->input->post('idusuario')) {
         $this->form_validation->set_rules('senha', 'Senha', 'trim|required|max_length[50]|md5');
     }
     $this->form_validation->set_rules('sexo', 'Sexo', 'required', array('required' => 'Selecione uma opção.'));
     $this->form_validation->set_rules('idnivel', 'Nivel', 'required', array('required' => 'Selecione uma opção.'));
     if ($this->form_validation->run() == FALSE) {
         $this->view('cadastro');
     } else {
         $usuario_model = new Usuario_model();
         $usuario_model->setId($this->input->post('idusuario'));
         $usuario_model->nome = $this->input->post('nome');
         $usuario_model->email = $this->input->post('email');
         $usuario_model->senha = $this->input->post('senha');
         $usuario_model->sexo = $this->input->post('sexo');
         $usuario_model->idnivel = $this->input->post('idnivel');
         $fields = array('id', 'nome', 'email', 'sexo', 'idnivel');
         if (!$this->input->post('idusuario')) {
             $fields[] = 'senha';
         }
         $usuario_model->set_fields_update_only($fields);
         if ($usuario_model->salvar(FALSE)) {
             $this->session->set_flashdata('alerta', 'success_save');
             redirect('admin/usuario/conta/editar/' . $usuario_model->getId());
         } else {
             $this->session->set_flashdata('alerta', 'error_save');
             redirect('cadastro');
         }
     }
 }
Example #2
0
 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);
     }
 }
Example #3
0
 public function update($post_array, $id)
 {
     $u = new Usuario_model($id);
     $u->nome = $post_array['nome'];
     $u->situacao_id = $post_array['situacao_id'];
     $u->email = $post_array['email'];
     $u->tipo_usuario_id = $post_array['tipo_usuario_id'];
     return $u->save();
 }
Example #4
0
 public function datos($email)
 {
     Usuario_model::datos($email);
     $query = $this->db->get_where('Clientes', array('Email' => $email));
     $cliente = $query->result();
     return $cliente[0];
 }
Example #5
0
 function entrar()
 {
     //obter o usuário e a senha e tentar efetuar o login
     $usuario = isset($_POST['username']) ? $_POST['username'] : '';
     $senha = isset($_POST['password']) ? $_POST['password'] : '';
     //validar
     if ($usuario == "" || $senha == "") {
         $var = array('success' => false, 'message' => htmlentities('Dados do usuário não informados'));
         echo json_encode($var);
         return false;
     }
     $this->load->model('usuario_model');
     $u = new Usuario_model();
     $u->where('login', $usuario);
     //      @todo: permitir ao usuário trocar o hash padrão
     $u->where('senha', md5($senha));
     //      @todo: Recuperar da configuração do sistema
     //      $u->where('situacao_id', 2);
     $u->get(1);
     if ($u->result_count() != 1) {
         $var = array('success' => false, 'message' => htmlentities('Usuário não localizado'));
         echo json_encode($var);
         return false;
     }
     //        @todo: recuperar do sistema
     switch ($u->situacao_id) {
         case 1:
             //Novo
         //Novo
         case 4:
             //Expirado
             $this->trocar_senha($u);
             break;
         case 2:
             //Ativo
             break;
         case 3:
             //Inativo
         //Inativo
         default:
             //@todo: dar mensagem e voltar a tela de login
             return false;
             break;
     }
     // insere data e hora do ultimo login
     $u->update('ultimo_acesso', date("Y-m-d H:i:s"));
     /* salva na session o usuário, o cooke só guarda 4KB, 
      * talvez seja necessário salvar apenas o id do usuario
      */
     $usuario = array('id' => $u->id, 'nome' => $u->nome, 'login' => $u->login, 'email' => $u->email, 'tipo_usuario_id' => $u->tipo_usuario_id, 'situacao_id' => $u->situacao_id, 'senha' => $u->senha, 'ultima_troca' => $u->ultima_troca, 'ultimo_acesso' => $u->ultimo_acesso);
     $this->session->set_userdata('usuario_logado', $usuario);
     $var = array('success' => true, 'usuario' => array('login' => $usuario['login'], 'nome' => $usuario['nome']));
     echo json_encode($var);
     return TRUE;
 }
Example #6
0
 /**
  * Funcion para loguearse
  */
 function index()
 {
     if ($this->session->userdata('usuario_id')) {
         redirect("/login/access");
     }
     if (isset($_POST['login']) && isset($_POST['password'])) {
         if ($this->Usuario_model->login($_POST['login'], $_POST['password'])) {
             $usuario = $this->Usuario_model->findByField('login', $_POST['login']);
             $this->session->set_userdata(array('usuario_nombre' => Usuario_model::nombreCompleto($usuario), 'usuario_id' => $usuario->id, 'usuario_tipo' => $usuario->tipo, 'token' => md5(rand())));
             $this->session->set_flashdata('notice', "Usted a ingresado correctamente");
             redirect("/login/access");
         } else {
             $this->session->set_flashdata('error', "Usted a ingresado un usuario o contraseña inválidos");
         }
     }
     $data['template'] = 'login/index';
     $this->load->view('layouts/application', $data);
 }
Example #7
0
 public function index()
 {
     $this->load->view("template/header");
     $this->load->helper('form');
     $this->load->library("UsuarioFactory");
     if ($this->input->post()) {
         $usuario = new Usuario_model();
         $usuario->set_id($this->input->post('id'));
         $usuario->set_cpf($this->input->post('senha'));
         $usuario->set_nome($this->input->post('username'));
         $usuario->set_email($this->input->post('email'));
         if (isset($_SESSION['LOGIN'])) {
             $acao = 'atualizado';
         } else {
             $acao = 'cadastrado';
         }
         if ($usuario->commit()) {
             $data['mensagem'] = 'Usuario ' . $acao . ' com sucesso!';
         } else {
             $data['mensagem'] = 'Usuario não foi' . $acao . ' com sucesso!';
         }
         $_SESSION['LOGIN'] = $this->input->post('username');
     }
     if (isset($_SESSION['LOGIN'])) {
         //caso usuario logado
         //mostra a view pra ele ver seus dados
         //carregar dados do usuario e enviar para view
         $data['h1'] = "Seu Perfil";
         //carregar usuario logado
         $data['users'] = $this->usuariofactory->getUsuarioByUsername($_SESSION['LOGIN']);
         //enviar usuario logado para view
         $this->load->view("usuario_perfil", $data);
     } else {
         //mostra tela de login
         $this->load->view("usuario_login");
     }
     $this->load->view("template/footer");
 }
 public function actualizar($email)
 {
     $aux = FALSE;
     $usuario = new Usuario_model();
     $usuario->datos($email);
     if ($usuario->actualizar($email)) {
         if ($this->input->post('cargo') != '') {
             $this->Cargo = $this->input->post('cargo');
         }
         if ($this->input->post('salario') != '') {
             $this->Salario = $this->input->post('salario');
         } else {
             $this->Salario = NULL;
         }
         if ($this->input->post('fechaContratacion') != '') {
             $this->FechaContratacion = $this->input->post('fechaContratacion');
         } else {
             $this->FechaContratacion = NULL;
         }
         if ($this->input->post('fechaFinContrato') != '') {
             $this->FechaFinContrato = $this->input->post('fechaFinContrato');
         } else {
             $this->FechaFinContrato = NULL;
         }
         $this->db->set('Cargo', $this->Cargo);
         $this->db->set('Salario', $this->Salario);
         $this->db->set('FechaContratacion', $this->FechaContratacion);
         $this->db->set('FechaFinContrato', $this->FechaFinContrato);
         $this->db->where('Email', $email);
         if ($this->db->update('Empleado')) {
             $aux = TRUE;
         }
     }
     return $aux;
 }
Example #9
0
 public function sincronizar()
 {
     if (empty($_POST)) {
         redirect('404');
     } else {
         $nombre = $_POST['id'];
         $pusher = array('texto' => $_POST['texto'], 'id' => $_POST['id'], 'usuario' => $this->session->userdata('email'), 'empleados' => Usuario_model::admin());
         $this->pusher->trigger('editor', 'sincronizacion', $pusher);
     }
 }
 function editarUsuario(Usuario_model $usuario)
 {
     //print_r($usuario); die();
     $data = array('cpf' => $usuario->getCpf(), 'email' => $usuario->getEmail(), 'nome' => $usuario->getNome(), 'senha' => $usuario->getSenha(), 'data_nascimento' => $usuario->getData_nascimento(), 'instituicao' => $usuario->getInstituicao(), 'telefone' => $usuario->getTelefone(), 'endereco' => $usuario->getEndereco());
     $this->db->where('id', $usuario->getId());
     $this->db->set($data);
     $this->db->update('usuario');
 }
Example #11
0
 public function validar($email)
 {
     $this->pagina = 'mensaje';
     $this->carpeta = 'cliente';
     $this->titulo = 'validar cliente';
     $this->estilo = $this->pagina;
     $this->javascript = array('tamanyo', 'confirmacion');
     $email = urldecode($email);
     if (Usuario_model::existe($email)) {
         $usuario = new Usuario_model();
         $usuario->datos($email);
         $act = array('Validado' => 1);
         $usuario->actualizar($email, $act);
         $datos['mensaje'] = '<div class="alert alert-success span9">
                 <button type="button" class="close" data-dismiss="alert">&times;</button>
                 <h4>Éxito</h4>
                 Se ha validado correctamente su cuenta.
                 </div>';
     } else {
         $datos['mensaje'] = '<div class="alert alert-error span9">
                 <button type="button" class="close" data-dismiss="alert">&times;</button>
                 <h4>Error</h4>
                 El proceso de validación no se ha realizado satisfactoriamente, por favor inténtelo de nuevo más tarde
                 </div>';
     }
     $this->mostrar($datos);
 }
Example #12
0
 function recuperar_senha()
 {
     try {
         $login = isset($_POST['login']) ? $_POST['login'] : '';
         $email = isset($_POST['email']) ? $_POST['email'] : '';
         $usuario = new Usuario_model();
         $usuario->where('login', $login);
         $usuario->where('email', $email);
         $usuario->get(1);
         if ($usuario->result_count() != 1) {
             $var = array('success' => false, 'message' => htmlentities('Usuário informado não localizado'));
             echo json_encode($var);
             return false;
         }
         $this->enviar_email($usuario->email, $usuario->senha);
         $var = array('success' => true);
         echo json_encode($var);
         return true;
     } catch (Exception $e) {
         $var = array('success' => false, 'message' => htmlentities($e->getMessage()));
         echo json_encode($var);
         return false;
     }
 }
Example #13
0
 function alterar_senha()
 {
     try {
         $login = isset($_POST['login']) ? $_POST['login'] : '';
         $password = isset($_POST['password']) ? $_POST['password'] : '';
         $password_new_1 = isset($_POST['password_new_1']) ? $_POST['password_new_1'] : '';
         $password_new_2 = isset($_POST['password_new_2']) ? $_POST['password_new_2'] : '';
         //salvando o hash da senha
         $password_hash = md5($password);
         $password_new_hash = md5($password_new_1);
         /*
          * validar entradas do usuário
          */
         if (strlen($login) == 0) {
             $var = array('success' => false, 'message' => htmlentities('Login do usuário não informado!'));
             echo json_encode($var);
             return false;
         } else {
             if (strlen($password) == 0) {
                 $var = array('success' => false, 'message' => htmlentities('Senha atual do usuário não informada!'));
                 echo json_encode($var);
                 return false;
             } else {
                 if (strlen($password_new_1) == 0) {
                     $var = array('success' => false, 'message' => htmlentities('Nova senha não informada!'));
                     echo json_encode($var);
                     return false;
                 } else {
                     if (strlen($password_new_2) == 0) {
                         $var = array('success' => false, 'message' => htmlentities('Confirmação de nova senha não informada!'));
                         echo json_encode($var);
                         return false;
                     } else {
                         if ($password_new_1 !== $password_new_2) {
                             $var = array('success' => false, 'message' => htmlentities('Confirmação de senha não confere com a nova senha informada!'));
                             echo json_encode($var);
                             return false;
                         }
                     }
                 }
             }
         }
         /*
          * localizar usuário pelo login e senha 
          */
         $usuario = new Usuario_model();
         $u = $usuario->where('login', $login)->where('senha', $password_hash)->get(1);
         if (count($u->all) == 0) {
             $var = array('success' => false, 'message' => htmlentities('Usuário informado não encontrado ou a senha informada não é a senha atual de acesso!'));
             echo json_encode($var);
             return false;
         } else {
             /*
              * testar se a nova senha é igual a uma das últimas
              * senhas informadas pelo usuário, se for
              * não permitir seu uso. 
              */
             if ($password_new_hash == $password_hash) {
                 $var = array('success' => false, 'message' => htmlentities('A senha não pode ser identica a senha atual!'));
                 echo json_encode($var);
                 return false;
             }
             if ($password_new_hash == $u->senha_anterior1 || $password_new_hash == $u->senha_anterior2 || $password_new_hash == $u->senha_anterior3) {
                 $var = array('success' => false, 'message' => htmlentities('A senha não pode ser identica as últimas 3 já informadas!'));
                 echo json_encode($var);
                 return false;
             }
             /*
              * obter a situação de usuário ativo 
              */
             $situacao = new Situacao_usuario_model();
             $s = $situacao->where('descricao', 'Ativo')->get(1);
             if (count($s->all) == 0) {
                 throw new Exception('Situação "Ativo" não existente!');
             }
             /*
              * efetuar a troca de senha do usuário 
              */
             $u->senha_anterior3 = $u->senha_anterior2;
             $u->senha_anterior2 = $u->senha_anterior1;
             $u->senha_anterior1 = $u->senha;
             $u->senha = md5($password_new_1);
             $u->ultima_troca = date('Y-m-d H:i:s');
             $u->ultimo_acesso = date('Y-m-d H:i:s');
             $u->situacao_usuario_id = $s->id;
             $u->save();
             /*
              * incluir o usuário na session 
              */
             $usuario = array('id' => $u->id, 'nome' => $u->nome, 'login' => $u->login, 'email' => $u->email, 'tipo_usuario_id' => $u->tipo_usuario_id, 'situacao_id' => $u->situacao_id, 'senha' => $u->senha, 'ultima_troca' => $u->ultima_troca, 'ultimo_acesso' => $u->ultimo_acesso);
             $this->session->set_userdata('usuario_logado', $usuario);
             /*
              * direcionar para página principal do sistema 
              */
             $var = array('success' => true, 'url' => site_url('welcome'), 'message' => htmlentities('Troca efetuada com sucesso!'));
             echo json_encode($var);
             return true;
         }
     } catch (Exception $ex) {
         $var = array('success' => false, 'message' => htmlentities($ex->getMessage()));
         echo json_encode($var);
         return false;
     }
 }
Example #14
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);
     }
 }
Example #15
0
<?php 
echo link_to("Nuevo usuario", '/usuarios/create', array('class' => 'new'));
?>
<table class="decorated">
  <tr>
    <th>Nombre completo</th>
    <th>Usuario</th>
    <th>Email</th>
    <th>Usuario</th>
  </tr>
  <?php 
foreach ($usuarios->result() as $usuario) {
    ?>
  <tr>
    <td><?php 
    echo Usuario_model::nombreCompleto($usuario);
    ?>
</td>
    <td><?php 
    echo $usuario->login;
    ?>
</td>
    <td><?php 
    echo $usuario->email;
    ?>
</td>
    <td><?php 
    echo link_to('editar', 'usuarios/edit/' . $usuario->id);
    ?>
</td>
  </tr>
Example #16
0
 public function confirmarPassword($email)
 {
     $aux = $this->existeUsuario($email);
     if ($aux) {
         $usuario = new Usuario_model();
         if (md5($this->input->post('pass')) != $usuario->pass($email)) {
             $act = array('Email' => $email, 'NumeroIntentos' => $usuario->numeroIntentos($email) + 1, 'FechaUltimoIntento' => date('Y/m/d H:i:s'));
             $usuario->actualizar($email, $act);
             $aux = FALSE;
         }
     }
     return $aux;
 }