示例#1
0
 public function selecinoarVinculo($tipoUsuario = null)
 {
     $usuario = unserialize($_SESSION['usuario']);
     // Se o usuário já estiver com o parâmetro de tipo de usuário ativo
     if ((int) $usuario->get_tipoUsuarioAtivo()->get_idTipoUsuario() > 0) {
         // se o tipo de usuário ativo for igual a algum parâmetro enviado via url, direciona-o a página inicial da Área Restrita
         if ($this->uri->segment(4) == (int) $usuario->get_tipoUsuarioAtivo()->get_idTipoUsuario()) {
             header('location:' . base_url() . 'extranet/home');
             exit;
         }
     }
     // Se houver parâmetro de tipo de usuário definido na url
     if (!is_null($tipoUsuario)) {
         try {
             // pega a pk_usuario_tipo_vin
             $sqlUsuario = new SqlUsuario();
             $result = $sqlUsuario->get_tipo_usuario_vin($usuario->get_idUsuario(), $tipoUsuario);
             $pk_usuario_tipo_vin = $result[0]['pk_usuario_tipo_vin'];
             // cria um loop com a array dos eventuais tipos de usuário que o mesmo está cadastrado
             foreach ($usuario->get_tipoUsuario() as $tipo) {
                 // se o código enviado via url for igual ao código listado no loop de tipo de usuário
                 if ($tipoUsuario == $tipo->get_idTipoUsuario()) {
                     // setamos o tipo de usuário ativo
                     $usuario->set_tipoUsuarioAtivo($tipo);
                     // seta a pk_tipo_usuario_vin
                     $usuario->set_idUsuarioTipoVin($pk_usuario_tipo_vin);
                     // $usuario->set_idUsuarioTipoVin(35308);
                     $_SESSION['idTipoUsuario'] = $tipoUsuario;
                     // gravamos a alteração na sessão de usuário, redirecionamos a página inicial da Área Restrita e abortamos a sequência operação
                     $_SESSION['usuario'] = serialize($usuario);
                     header('location:' . base_url() . 'extranet/home');
                     exit;
                 }
             }
             $this->selecinoarVinculo();
         } catch (Exception $e) {
             // Exibe eventuais erros
             $this->session->set_flashdata('msgErro', $e->getMessage());
             $this->selecinoarVinculo();
             exit;
         }
     } else {
         $data = $this->getParametroVisao();
         $data['page'] = 'selecionarVinculo';
         $data['index'] = true;
         $data['secao'] = false;
         $data['headerUsuario'] = false;
         $data['sidebar'] = false;
         $data['tipoUsuario'] = '<ul id="selecionarV">';
         foreach ($usuario->get_tipoUsuario() as $tipo) {
             $data['tipoUsuario'] .= '<li><a href="' . base_url() . 'usuario/usuario_w/selecinoarVinculo/' . $tipo->get_idTipoUsuario() . '" title="Usuário ' . $tipo->get_nome() . '">' . $tipo->get_nome() . '</a></li>';
         }
         $data['tipoUsuario'] .= '</ul>';
         $this->load->view($this->load->getUrlTema(), $data);
     }
 }
示例#2
0
 /**
  * Método que efetua o login de usuários de acordo com as querys informadas.
  * Método usado somente para login via token
  * @param strin $query A query a ser executada para o login
  * @return booeal Retorna TRUE caso tenha efetuado login ou FALSE em caso de falha
  */
 private function loginTokens($query)
 {
     $ret = FALSE;
     if (is_string($query)) {
         $busca = $this->testeExiste($query);
     } else {
         $busca = FALSE;
     }
     $busca = $this->testeExiste($query);
     if ($busca) {
         $user = $busca->fetchObject();
         $usuario = new Usuario();
         $usuario->setLoginToken(TRUE);
         $usuario->set_login($user->email);
         $usuario->set_senha($user->senha);
         $usuarioLogado = $usuario->loginUsuario(0, 0, 0, Loader::data("config", "site", "ano_letivo"));
         $sqlUsuario = new SqlUsuario();
         if ($usuarioLogado) {
             //Definindo o tipo do vinculo
             $result = $sqlUsuario->get_tipo_usuario_vin($usuarioLogado->get_idUsuario(), $user->fk_tipo_usuario);
             $pkUsuarioTipoVin = $result[0]['pk_usuario_tipo_vin'];
             foreach ($usuarioLogado->get_tipoUsuario() as $tipo) {
                 //Cria um loop com a array dos eventuais tipos de usuário que o mesmo está cadastrado
                 if ($user->fk_tipo_usuario == $tipo->get_idTipoUsuario()) {
                     //Setamos o tipo de usuário ativo
                     $usuarioLogado->set_tipoUsuarioAtivo($tipo);
                     //Seta a pk_tipo_usuario_vin
                     $usuarioLogado->set_idUsuarioTipoVin($pkUsuarioTipoVin);
                     $_SESSION['idTipoUsuario'] = $user->fk_tipo_usuario;
                     //Definindo os dados da sessão
                     $_SESSION['usuario'] = serialize($usuarioLogado);
                     unset($_SESSION['erroUsuarioSenha']);
                     $ret = $usuarioLogado;
                     break;
                 }
             }
         } else {
             $sqlUsuario->log_erro_login($user->email, "via token:" . $user->senha);
         }
     }
     return $ret;
 }
示例#3
0
 public function cadastrar_usuario_tipo_vin()
 {
     $msg = null;
     if ($_SERVER['REQUEST_METHOD'] == "POST") {
         try {
             // View::validarFormAntInjection('cadastrar_usuario_tipo_vin');
             $usuario = new SqlUsuario();
             $pk_usuario_tipo_vin = $usuario->cadastrar_usuario_tipo_vin($this->input->post('pk_usuario'), $this->input->post('pk_tipo_usuario'), 1);
             $usuario_responsavel = new SqlUsuario();
             $pk_usuario_responsavel = $usuario_responsavel->cadastrar_usuario_responsavel($this->input->post('pk_usuario'), 1);
             $this->session->set_userdata('cadastro_responsavel', $this->input->post('pk_usuario'));
             $this->session->set_flashdata('busca_responsavel', 1);
             redirect(base_url() . $this->uri->segment(1) . '/' . $this->uri->segment(2) . '/cadastrar_responsavel_busca/' . $this->input->post('pk_usuario') . '/11/' . $pk_usuario_tipo_vin . '/' . $pk_usuario_responsavel);
             return false;
         } catch (Exception $e) {
             $msg = '<p class="alert erro">' . $e->getMessage() . '</p>';
         }
     }
     $data = $this->getParametroVisao();
     $data['page'] = 'home';
     $data['tema'] != '' ? $this->load->setTheme($data['tema']) : '';
     $data['msg'] = $this->getMsg();
     $data['abaAtiva'] = 5;
     $data['abaPage'] = 'cadastrar_usuario_tipo_vin';
     // Verifica se já tem previlégio do tipo de usuário em questão
     $sqlUsuario = new SqlUsuario();
     $result = $sqlUsuario->get_tipo_usuario_vin($this->uri->segment(4), $this->uri->segment(5));
     // se já não tem a permissão de responsavel
     if (count($result) > 0) {
         $pk_usuario_tipo_vin = $result[0]['pk_usuario_tipo_vin'];
         // se não estiver com o status habilitado
         if ($result[0]['status'] == 0) {
             $sqlUsuario = new SqlUsuario();
             $sqlUsuario->habilita_tipo_usuario_vin($this->uri->segment(4), $this->uri->segment(5));
         }
         // verifica se já tem pk_usuario_responsavel
         $sqlUsuario = new SqlUsuario();
         $result = $sqlUsuario->get_pk_responsavel($this->uri->segment(4));
         if (count($result) > 0) {
             $pk_usuario_responsavel = $result[0]['pk_usuario_responsavel'];
             $sqlUsuario = new SqlUsuario();
             $sqlUsuario->habilita_responsavel($pk_usuario_responsavel);
         } else {
             $sqlUsuario = new SqlUsuario();
             $pk_usuario_responsavel = $sqlUsuario->cadastrar_usuario_responsavel($this->uri->segment(4), 1);
         }
         redirect(base_url() . 'usuario/responsavel/cadastrar_responsavel_busca_dependentes/' . $this->uri->segment(4) . '/' . $this->uri->segment(5) . '/' . $pk_usuario_tipo_vin . '/' . $pk_usuario_responsavel);
     } else {
         $listarTipoUsuario = new SqlUsuario();
         $result = $listarTipoUsuario->listarTipoUsuario($this->uri->segment(5));
         $data['tipo_usuario_nome'] = $result[0]['tipo_usuario_nome'];
         $listarUsuario = new SqlUsuario();
         $result = $listarUsuario->listar_usuario($this->uri->segment(4));
         $data['usuario_nome'] = $result['registros'][0]['nome'];
         $this->load->view($this->load->getUrlTema(), $data);
     }
 }