/** * Sobrecarga da função __autoload do php * Faz o include automaticamente do arquivo da classe * Utiliza o arquivo XML de definições de diretórios e arquivos como base * @param string Nome da classe */ function __autoload($stClasse) { try { switch (true) { case is_file($ar['stArquivo'] = definicaoPasta::tema() . $stClasse . '.php'): include_once $ar['stArquivo']; break; case defined('diretorioPrioritario') && is_file($ar['stArquivo'] = diretorioPrioritario . $stClasse . '.php'): include_once $ar['stArquivo']; break; case defined('diretorioPrioritario') && is_file($ar['stArquivo'] = diretorioPrioritario . $stClasse . '.php'): include_once $ar['stArquivo']; break; default: $ar = definirDiretorio($stClasse); switch (true) { case !is_dir($ar['stDiretorio']): throw new erroInclusao("Diretório [{$ar['stDiretorio']}] inexistente!"); break; case !is_file($ar['stArquivo']): throw new erroInclusao("Arquivo [{$ar['stArquivo']}] inexistente!"); break; case !is_readable($ar['stArquivo']): throw new erroInclusao("Arquivo [{$ar['stArquivo']}] sem permissão de leitura!"); break; default: include_once $ar['stArquivo']; break; } } } catch (erroInclusao $e) { echo $e->__toHtml(); } catch (Exception $e) { if (strtolower(ini_get('display_errors')) == 'on') { $debug = debug_backtrace(); echo "\n\t\t\t\t<link rel='stylesheet' href='.sistema/debug.css' />\n\t\t\t\t<div class='erroNegro'>\n\t\t\t\t\t<table summary='text' class='erroNegro'>\n\t\t\t\t\t\t<tr><th colspan=2 >Tentativa de instanciar uma classe inexistente!</th></tr>\n\t\t\t\t\t\t<tr><td>Classe:</td><td><font size='6px'>{$stClasse} ???</font></td></tr>\n\t\t\t\t\t\t<tr><td>Arquivo:</td><td>{$debug[0]['file']}</td></tr>\n\t\t\t\t\t\t<tr><td>Linha:</td><td>{$debug[0]['line']}</td></tr>\n\t\t\t\t\t</table>\n\t\t\t\t</div>\n\t\t\t\t"; die; } } }
/** * Monta o template de verPesquisa */ public static function montarTemplateVerPesquisa(visualizacao $visualizacao) { $camposControle = array(); foreach (CUtilitario_geradorGerarFonte::$entidade['ng_nome'] as $chave => $valor) { if (CUtilitario_geradorGerarFonte::$entidade['ng_chave_pk'] != $chave) { $camposControle['nome' . ucFirst($valor)] = $valor; } } $visualizacao->nomes = $camposControle; $controle = definicaoEntidade::controle(CUtilitario_geradorGerarFonte::$nomeNegocio); $arNomeTema = explode('/', definicaoPasta::tema()); if (!($nomeTema = array_pop($arNomeTema))) { $nomeTema = array_pop($arNomeTema); } $nomeTema = $nomeTema ? $nomeTema . '_' : null; if (!is_file($visualizacao->template_dir . "{$nomeTema}templateVerPesquisa.html")) { $nomeTema = null; } CUtilitario_geradorGerarFonte::escreverArquivo(CUtilitario_geradorGerarFonte::$nomeEntidade . "/html/{$nomeTema}{$controle}_verPesquisa.html", $visualizacao->pegar("{$nomeTema}templateVerPesquisa.html")); }