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); } }
/** * 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; }
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); } }