/** *validLogin *@return boolean | string * Validação do login e senha */ public function validLogin(usuariosModel $usuariosModel) { $this->db->clear(); $this->db->setTabela('sys_usuarios as A, funcionarios as B, nivel_acesso AS C'); $this->db->setCondicao('A.login_usuario = "' . $usuariosModel->getLogin() . '" AND A.status_usuario = "' . status::ATIVO . '" AND B.status_funcionario = "' . status::ATIVO . '" AND A.id_nivel_acesso = C.id_nivel_acesso AND A.id_funcionario = B.id_funcionario'); if ($this->db->select()) { $res = $this->db->result(); if (Bcrypt::check($usuariosModel->getSenha(), $res['senha_usuario'])) { $this->load->model('funcionarios/funcionariosModel'); $this->load->model('configuracoes/niveis_acesso/niveisAcessoModel'); //funcionario $funcionarios = new funcionariosModel(); $funcionarios->setId($res['id_funcionario']); $funcionarios->setNome($res['nome_funcionario']); $funcionarios->setSobrenome($res['sobrenome_funcionario']); $funcionarios->setFoto($res['foto_funcionario']); //nivel de acesso $nivelAcesso = new niveisAcessoModel(); $nivelAcesso->setId($res['id_nivel_acesso']); // $nivelAcesso->setPermissoes($res['permissoes']); $nivelAcesso->setIndice($res['index_access_db_name']); $usuariosModel->setId($res['id_usuario']); $usuariosModel->setEmail($res['email_usuario']); $usuariosModel->setId($res['id_usuario']); $usuariosModel->setFuncionario($funcionarios); $usuariosModel->setNivelAcesso($nivelAcesso); $usuariosModel->setHash($this->updateHashAcesso($usuariosModel)); return $usuariosModel; } else { return null; } } else { return null; } }
public function consultar(IUsuarios $iusuario, usuariosModel $usuario, $status) { $result = $iusuario->consultar($this->db, $usuario, $status); if ($result != null) { //niveis de acesso $nivelAcessoModel = new niveisAcessoModel(); $nivelAcessoModel->setId($result['id_nivel_acesso']); //usuarios $usuariosModel = new usuariosModel(); $usuariosModel->setId($result['id_usuario']); $usuariosModel->setNivelAcesso($nivelAcessoModel); $usuariosModel->setLogin($result['login_usuario']); $usuariosModel->setEmail($result['email_usuario']); $usuariosModel->setStatus(status::getAttribute($result['status_usuario'])); $funcionariosModel = new funcionariosModel(); $funcionariosModel->setId($result['id_funcionario']); $usuariosModel->setFuncionario($funcionariosModel); return $usuariosModel; } else { return null; } }
private function getPermissoes($_permissoes, niveisAcessoModel $niveisAcessoModel) { $this->load->model('configuracoes/modulos/modulosModel'); $this->load->model('configuracoes/modulos/paginasModel'); $this->load->model('configuracoes/modulos/actionsModel'); $this->load->model('configuracoes/niveis_acesso/permissoesAcessoModel'); //$permissoesAcessoModel = new permissoesAcessoModel(); //obtendo modulos // echo '<pre>'; // print_r($_permissoes); // echo '</pre>'; foreach ($_permissoes as $idMod => $modulo) { $modulosModel = new modulosModel(); $modulosModel->setId($idMod); //obtendo submodulos foreach ($modulo['submodulos'] as $idSubMod => $subModulo) { $submodulosModel = new modulosModel(); $submodulosModel->setId($idSubMod); //obtendo paginas foreach ($subModulo as $idPagina => $paginas) { $paginasModel = new paginasModel(); $paginasModel->setId($idPagina); //obtendo actions foreach ($paginas as $idAction => $actions) { $actionsModel = new actionsModel(); $actionsModel->setId($idAction); $paginasModel->addAction($actionsModel); } $submodulosModel->addPagina($paginasModel); } $modulosModel->addModulo($submodulosModel); } //Obtendo paginas foreach ($modulo['paginas'] as $idPagina => $paginas) { $paginasModel = new paginasModel(); $paginasModel->setId($idPagina); //Obtendo actions foreach ($paginas as $idAction => $actions) { $actionsModel = new actionsModel(); $actionsModel->setId($idAction); $paginasModel->addAction($actionsModel); } $modulosModel->addPagina($paginasModel); } $niveisAcessoModel->addPermissoes($modulosModel); } // echo '<pre>'; // print_r($niveisAcessoModel); // echo '</pre>'; return $niveisAcessoModel; }
/** *Atualiza um grupo de permissão de acesso */ public function atualizar(niveisAcessoModel $niveisAcessoModel) { try { $noDeleteModulos = array(); $noDeletePaginas = array(); $noDeleteActions = array(); if (!empty($niveisAcessoModel->getPermissoes())) { foreach ($niveisAcessoModel->getPermissoes() as $modulos) { if (!in_array($modulos->getId(), $noDeleteModulos)) { array_push($noDeleteModulos, $modulos->getId()); } foreach ($modulos->getModulos() as $modulo) { if (!in_array($modulo->getId(), $noDeleteModulos)) { array_push($noDeleteModulos, $modulo->getId()); } foreach ($modulo->getPaginas() as $paginas) { if (!in_array($paginas->getId(), $noDeletePaginas)) { array_push($noDeletePaginas, $paginas->getId()); } foreach ($paginas->getActions() as $actions) { if (!in_array($actions->getId(), $noDeleteActions)) { array_push($noDeleteActions, $actions->getId()); } } } } foreach ($modulos->getPaginas() as $paginas) { if (!in_array($paginas->getId(), $noDeletePaginas)) { array_push($noDeletePaginas, $paginas->getId()); } foreach ($paginas->getActions() as $actions) { if (!in_array($actions->getId(), $noDeleteActions)) { array_push($noDeleteActions, $actions->getId()); } } } } } $this->atualizaAcessoModulos($niveisAcessoModel->getId(), $noDeleteModulos); $this->atualizaAcessoPaginas($niveisAcessoModel->getId(), $noDeletePaginas); $this->atualizaAcessoAction($niveisAcessoModel->getId(), $noDeleteActions); return true; } catch (dbException $e) { return $e->getMessageError(); } }
/** * Cadastro de um novo registro */ public function inserir() { $id_nivel = isset($_POST['id_nivel']) ? intval($_POST['id_nivel']) : ''; $nome = isset($_POST['nome']) ? filter_var(trim($_POST['nome'])) : ''; $permissoes = (isset($_POST['permissoes']) and $_POST['permissoes'] != '{}') ? $_POST['permissoes'] : ''; $validate = new DataValidator(); $validate->set('Nome do grupo', $nome, 'nome')->is_required()->min_length(2); $validate->set('Permissões', $permissoes, 'permissoes')->is_required(); if ($validate->validate()) { $this->load->model('funcionarios/gruposFuncionariosModel'); $gruposFuncionariosModel = new gruposFuncionariosModel(); $gruposFuncionariosModel->setNome($nome); $gruposFuncionariosModel->setPermissao($permissoes); $this->load->model('configuracoes/niveis_acesso/niveisAcessoModel'); $niveisAcessoModel = new niveisAcessoModel(); $niveisAcessoModel->setId($id_nivel); $gruposFuncionariosModel->setNivel($niveisAcessoModel); $this->load->dao('funcionarios/gruposFuncionariosDao'); $gruposFuncionariosDao = new gruposFuncionariosDao(); echo $gruposFuncionariosDao->inserir($gruposFuncionariosModel); } else { $todos_erros = $validate->get_errors(); echo json_encode($todos_erros); } }
/** * Ação do editar */ public function atualizar() { $id_usuario = (int) $this->http->getRequest('id_usuario'); $nivel = $this->http->getRequest('nivel'); $funcionario = $this->http->getRequest('funcionario'); $email = $this->http->getRequest('email'); //validação dos dados $this->load->library('dataValidator', null, true); $this->load->dataValidator->set('Nível de acesso', $nivel, 'nivel')->is_required(); // $this->load->dataValidator->set('Funcionário', $funcionario, 'funcionario')->is_required(); $this->load->dataValidator->set('Email', $email, 'email')->is_required()->is_email(); if ($this->load->dataValidator->validate()) { $this->load->model('configuracoes/niveis_acesso/niveisAcessoModel'); $nivelAcesso = new niveisAcessoModel(); $nivelAcesso->setId($nivel); //USUARIO $this->load->model('funcionarios/usuariosModel'); $usuariosModel = new usuariosModel(); $usuariosModel->setId($id_usuario); $usuariosModel->setNivelAcesso($nivelAcesso); $usuariosModel->setEmail($email); //USUARIO DAO $this->load->dao('funcionarios/usuariosDao'); $usuariosDao = new usuariosDao(); $this->http->response($usuariosDao->atualizar($usuariosModel)); } else { $todos_erros = $this->load->dataValidator->get_errors(); $this->http->response(json_encode($todos_erros)); } }