/** * Função que define qual diretório se encontra a classe não definida * @param string Nome da classe */ function definirDiretorio($stClasse) { $definicoes = definicao::pegarDefinicao(); $stEntidade = definicaoEntidade::entidade($stClasse); foreach ($definicoes->xpath('//classes/classe') as $index => $classe) { if (isset($classe['id'])) { $id = strval($classe['id']); $slice = substr($stClasse, 0, strlen($id)); if ($id == $slice) { if (strval($classe['entidade']) == 'sim') { $dir = "{$stEntidade}/" . strval($classe['dir']) . '/'; $tipoBanco = strval($classe['tipoBanco']) == 'sim' ? strval($definicoes->bancos->banco[0]['tipo']) : null; } else { $dir = strval($classe['dir']) . '/'; $tipoBanco = strval($classe['tipoBanco']) == 'sim' ? strval($definicoes->bancos->banco[0]['tipo']) : null; } } } else { $dirPadrao = $classe['dir']; $tipoBanco = strval($classe['tipoBanco']) == 'sim' ? strval($definicoes->bancos->banco[0]['tipo']) : null; } } $stDiretorio = isset($dir) ? $dir : $dirPadrao; if ($tipoBanco) { $stArquivo = "{$stDiretorio}{$stClasse}.{$tipoBanco}.php"; } else { $stArquivo = "{$stDiretorio}{$stClasse}.php"; } return array('stDiretorio' => $stDiretorio, 'stArquivo' => $stArquivo); }
/** * Método construtor que lê os acessos liberados para o usuário logado */ public function __construct() { try { $definicoes = definicao::pegarDefinicao(); $controleDeAcesso = $definicoes->xpath('//controleDeAcesso'); $this->menuLiberado = isset($controleDeAcesso[0]) && strval($controleDeAcesso[0]['liberado']) == 'sim' ? true : false; if (!$this->menuLiberado) { $nUsuario = sessaoSistema::pegar('usuario'); $nAcesso = new NAcesso(); $this->acessosLiberados = array_flip($nAcesso->lerAcessosPorUsuario($nUsuario)->gerarVetorDeAtributo('nmAcesso')); } return true; } catch (erro $e) { return false; } }
/** * Método criado para efetuar a validação de acesso a um controle do sistema * @param string nome do controle acessado */ public static function validarAcesso($controleAcessado) { try { $definicoes = definicao::pegarDefinicao(); if (strval($definicoes->controleDeAcesso['liberado']) == 'sim') { return true; } switch (true) { case !sessaoSistema::tem('usuario'): throw new erroAcesso('Acesso não permitido, usuário não registrado!'); default: $nUsuario = sessaoSistema::pegar('usuario'); $nUsuario->carregarPerfis(); $nAcesso = new NAcesso(); $colecao = $nAcesso->lerAcessosPorUsuario($nUsuario, $controleAcessado); if (!$colecao->contarItens()) { throw new erroAcesso('Acesso Não Permitido!'); } } return true; } catch (erro $e) { throw $e; } }
* @package Sistema * @subpackage Index */ $versao = '5.1.2'; if (phpversion() < $versao) { throw new Exception(sprintf('O Calixto Framework não funciona com versão inferior a %s.', $versao)); } header("Content-type:text/html; charset=utf-8"); date_default_timezone_set('America/Sao_Paulo'); set_time_limit(0); //Lendo o arquivo XML de definições de diretórios e arquivos $definicoes = simplexml_load_file('.sistema/xml/definicoes.xml'); $dirCalixto = strval($definicoes->classes->classe[0]['dir']); //Carrregando as classes de definições e erros include_once $dirCalixto . 'definicoes/include.php'; $definicoes = definicao::pegarDefinicao('.sistema/xml/definicoes.xml'); switch (definicaoSistema::pegarAmbiente()) { case definicaoSistema::homologacao: ini_set('display_errors', 'Off'); break; case definicaoSistema::producao: ini_set('display_errors', 'Off'); break; case definicaoSistema::desenvolvimento: default: ini_set('display_errors', 'On'); break; } error_reporting(E_ALL | E_STRICT); set_error_handler('reportarErro'); /**