/** * Método inicial do controle */ function inicial() { $this->passarProximoControle(definicaoEntidade::controle('CControleAcesso', 'verPrincipal')); $imprimir = false; $c = conexao::criar(); $persistentes = $this->classes(); if ($imprimir) { echo '<pre>'; foreach ($persistentes as $nomePersistente) { $persistente = new $nomePersistente($c); $nome = str_pad($nomePersistente, 40, "--", STR_PAD_LEFT); echo "\n\n" . str_pad($nome, 80, "--", STR_PAD_RIGHT) . "\n"; echo $persistente->comandoDestruicaoCompleto(); echo $persistente->comandoCriacaoCompleto(); } if ($persistente instanceof persistentePadraoPG) { echo persistentePadraoPG::gerarComandoAccentRemove(); } } else { foreach ($persistentes as $nomePersistente) { $persistente = new $nomePersistente($c); $persistente->recriar(); } if ($persistente instanceof persistentePadraoPG) { $persistente->plAccentRemove(); } CUtilitario_importadorXML::importarXml(file_get_contents('dados.xml')); } if ($imprimir) { die; } $this->registrarComunicacao("Base de dados recriada."); }
/** * Método inicial do controle */ public function inicial() { try { $this->passarProximoControle(definicaoEntidade::controle($this, 'verSelecionarAcessos')); $negocio = definicaoEntidade::negocio($this); $conexao = conexao::criar(); $conexao->iniciarTransacao(); $negocio = new $negocio($conexao); $negocio->passarIdUsuario($_POST['idUsuario']); $negocio->carregarAcessos(); $negocio->coAcessos->excluir(); $negocio = new $negocio($conexao); foreach ($_POST['controle'] as $index => $controle) { $nAcesso = new NAcesso($conexao); $nAcesso->passarIdUsuario($_POST['idUsuario']); $nAcesso->passarNmAcesso($controle); $negocio->coAcessos->{$index} = $nAcesso; } $negocio->coAcessos->gravar(); $this->sessao->registrar('negocio', $negocio); $this->registrarComunicacao($this->inter->pegarMensagem('gravarSucesso')); $conexao->validarTransacao(); $this->passarProximoControle(definicaoEntidade::controle($this, 'verPesquisa')); } catch (erro $e) { $conexao->desfazerTransacao(); throw $e; } }
public function inicial() { try { $_GET['ajax'] = 1; if (!isset($_GET['negocio'])) { throw new erroNegocio('Não foi definido a entidade de negócio a ser validada!'); } $conexao = conexao::criar(); $conexao->iniciarTransacao(); $negocio = new $_GET['negocio']($conexao); if (isset($_GET['controle'])) { eval("{$_GET['controle']}::montarNegocio(\$negocio);"); } else { parent::montarNegocio($negocio); } $negocio = new NPessoa(); if ($negocio->valorChave()) { $negocioAnterior = new $_GET['negocio']($conexao); $negocioAnterior->ler($negocio->valorChave()); $negocio->verificarAntesAlterar($negocioAnterior); } else { $negocio->verificarAntesInserir(); } $conexao->desfazerTransacao(); } catch (Exception $e) { $conexao->desfazerTransacao(); throw $e; } }
public static function gerarFonte(visualizacao $visualizacao, $dadosGerador) { CUtilitario_geradorGerarFonte::$entidade = $dadosGerador; CUtilitario_geradorGerarFonte::$entidade['ng_nome'] = array_map('caracteres::RetiraAcentos', CUtilitario_geradorGerarFonte::$entidade['ng_nome']); CUtilitario_geradorGerarFonte::$entidade['bd_campo'] = array_map('caracteres::RetiraAcentos', CUtilitario_geradorGerarFonte::$entidade['bd_campo']); $arNome = explode(' ', strtolower(caracteres::RetiraAcentos(CUtilitario_geradorGerarFonte::$entidade['entidade']))); $nome = array_shift($arNome); $arNome = array_map("ucFirst", $arNome); array_unshift($arNome, $nome); CUtilitario_geradorGerarFonte::$nomeEntidade = implode('', $arNome); CUtilitario_geradorGerarFonte::$nomeNegocio = 'N' . ucFirst(CUtilitario_geradorGerarFonte::$nomeEntidade); CUtilitario_geradorGerarFonte::$nomeTabela = caracteres::RetiraAcentos(CUtilitario_geradorGerarFonte::$entidade['nomeTabela']); CUtilitario_geradorGerarFonte::$nomeSequence = caracteres::RetiraAcentos(CUtilitario_geradorGerarFonte::$entidade['nomeSequence'] ? CUtilitario_geradorGerarFonte::$entidade['nomeSequence'] : "sq_{CUtilitario_geradorGerarFonte::{$nomeTabela}}"); if (!is_dir(CUtilitario_geradorGerarFonte::$nomeEntidade)) { mkdir(CUtilitario_geradorGerarFonte::$nomeEntidade, 0777); } chmod(CUtilitario_geradorGerarFonte::$nomeEntidade, 2777); if (!is_dir(CUtilitario_geradorGerarFonte::$nomeEntidade . "/classes")) { mkdir(CUtilitario_geradorGerarFonte::$nomeEntidade . "/classes", 0777); } chmod(CUtilitario_geradorGerarFonte::$nomeEntidade . "/classes", 2777); if (!is_dir(CUtilitario_geradorGerarFonte::$nomeEntidade . "/xml")) { mkdir(CUtilitario_geradorGerarFonte::$nomeEntidade . "/xml", 0777); } chmod(CUtilitario_geradorGerarFonte::$nomeEntidade . "/xml", 2777); if (!is_dir(CUtilitario_geradorGerarFonte::$nomeEntidade . "/html")) { mkdir(CUtilitario_geradorGerarFonte::$nomeEntidade . "/html", 0777); } chmod(CUtilitario_geradorGerarFonte::$nomeEntidade . "/html", 2777); umask(0111); $visualizacao->entidade = CUtilitario_geradorGerarFonte::$entidade['entidade']; $visualizacao->pacote = CUtilitario_geradorGerarFonte::$entidade['entidade']; $visualizacao->classe = 'class'; CUtilitario_geradorGerarFonte::montarArquivoDefinicaoXML($visualizacao); CUtilitario_geradorGerarFonte::montarArquivoInternacionalizacaoXML($visualizacao); CUtilitario_geradorGerarFonte::montarPersistente($visualizacao); CUtilitario_geradorGerarFonte::montarNegocio($visualizacao); CUtilitario_geradorGerarFonte::montarInternacionalizacao($visualizacao); CUtilitario_geradorGerarFonte::montarControleExcluir($visualizacao); CUtilitario_geradorGerarFonte::montarControleGravar($visualizacao); //CUtilitario_geradorGerarFonte::montarControleMudarPagina($visualizacao); //CUtilitario_geradorGerarFonte::montarControlePesquisar($visualizacao); CUtilitario_geradorGerarFonte::montarControleVerEdicao($visualizacao); CUtilitario_geradorGerarFonte::montarControleVerPesquisa($visualizacao); CUtilitario_geradorGerarFonte::montarTemplateVerEdicao($visualizacao); CUtilitario_geradorGerarFonte::montarTemplateVerPesquisa($visualizacao); exec("chmod -R 777 " . CUtilitario_geradorGerarFonte::$nomeEntidade); if (CUtilitario_geradorGerarFonte::$debug) { die; } if (isset(CUtilitario_geradorGerarFonte::$entidade['recriarBase'])) { $persistente = definicaoEntidade::persistente(CUtilitario_geradorGerarFonte::$nomeNegocio); $conexao = conexao::criar(); $obPersistente = new $persistente($conexao); $obPersistente->recriar(); } }
/** * Método inicial do controle */ function inicial() { $this->criarVisualizacaoPadrao(); $this->registrarInternacionalizacao($this, $this->visualizacao); $this->gerarMenus(); $conexao = conexao::criar(); $persistente = new PUtilitario($conexao); $this->visualizacao->listagem = $persistente->lerTabelas(); $this->visualizacao->action = ''; parent::inicial(); }
/** * Método inicial do controle */ public function inicial() { $this->passarProximoControle(definicaoEntidade::controle($this, 'listarEntidade')); $conexao = conexao::criar(); $persistente = new PUtilitario($conexao); $this->tabelas = $persistente->lerTabelas(); foreach ($this->tabelas as $tabela) { $arTabela = $persistente->lerTabela($tabela); $arDadosGerador = $this->prepararDados($tabela, $arTabela); CUtilitario_geradorGerarFonte::gerarFonte($this->visualizacao, $arDadosGerador); } }
/** * Método inicial do controle */ function inicial() { $this->visualizacao = new visualizacaoPadrao($this); $this->inter = new IUtilitario(); $this->criarVisualizacaoPadrao(); $d = dir("."); $pUtilitario = new PUtilitario(conexao::criar()); $negocios = new colecao(); $controles = new colecao(); $tabelas = new colecao(); $sequencias = new colecao(); $classesNegocio = new colecao(); $camposDefinidos = new colecao(); $camposExistentes = new colecao(); $diferencas = new colecao(); while (false !== ($arquivo = $d->read())) { if (is_dir($arquivo) && $arquivo[0] !== '.') { if (is_file($arquivo . '/classes/N' . ucfirst($arquivo) . '.php')) { $negocio = 'N' . ucfirst($arquivo); $obNegocio = new $negocio(); if ($obNegocio instanceof negocioPadrao) { $negocios->{$arquivo} = $obNegocio->pegarInter()->pegarNome(); $tabelas->{$arquivo} = $obNegocio->pegarPersistente()->pegarNomeTabela(); $sequencias->{$arquivo} = $obNegocio->pegarPersistente()->pegarNomeSequencia(); $classesNegocio->{$arquivo} = 'N' . ucfirst($arquivo); $camposDefinidos->{$arquivo} = count($obNegocio->pegarMapeamento()); $camposExistentes->{$arquivo} = count($pUtilitario->lerCampos($obNegocio->pegarPersistente()->pegarNomeTabela())); $diferencas->{$arquivo} = $camposDefinidos->{$arquivo} - $camposExistentes->{$arquivo} ? 'difereça' : ''; $controles->{$arquivo} = 'C' . ucfirst($arquivo) . '_verPesquisa'; } } } } $d->close(); asort($negocios->itens); $this->gerarMenus(); $this->registrarInternacionalizacao($this, $this->visualizacao); $this->visualizacao->listagem = $negocios->itens; $this->visualizacao->controles = $controles->itens; $this->visualizacao->tabelas = $tabelas->itens; $this->visualizacao->sequencias = $sequencias->itens; $this->visualizacao->negocios = $classesNegocio->itens; $this->visualizacao->camposDefinidos = $camposDefinidos->itens; $this->visualizacao->camposExistentes = $camposExistentes->itens; $this->visualizacao->diferencas = $diferencas->itens; $this->visualizacao->action = ''; parent::inicial(); }
/** * Método de montagem da tabela */ function montarTabela() { $json = new json(); $conexao = conexao::criar(); $persistente = new PUtilitario($conexao); $desc = $persistente->lerTabela($_GET['tabela']); $sequences = $persistente->lerSequenciasDoBanco($_GET['tabela']); $sequences = array_merge(array('' => ' '), $sequences); if ($sequences) { $this->visualizacao->nomeSequence = VComponente::montar('select', 'nomeSequence', null, null, $sequences); } $mapNegocio['bd']['nomeTabela'] = $_GET['tabela']; $mapNegocio['bd']['nomeSequencia'] = '«Nome da sequência???»'; $mapNegocio['bd']['chavePrimaria'] = ''; $mapNegocio['bd']['ordem'] = array('1' => ''); $mapNegocio['inter']['nome'] = '«Nome da entidade??»'; $mapNegocio['inter']['titulo'] = ''; $mapNegocio['inter']['tituloSistema'] = ''; $mapNegocio['inter']['subtituloSistema'] = ''; foreach ($desc as $indice => $campo) { $tipoDeDado = $campo['tipo_de_dado']; switch ($campo['tipo_de_dado']) { case 'numerico': $campo['tamanho'] = $campo['tamanho'] > 30 ? 20 : $campo['tamanho']; $componente = 'numerico'; break; case 'data': $campo['tamanho'] = ''; $componente = 'data'; break; default: $componente = 'caixa de entrada'; } switch (true) { case $campo['campo_pk']: $mapNegocio['bd']['chavePrimaria'] = $campo['campo_pk']; $componente = 'oculto'; $chaveEstrangeira = false; break; case $campo['campo_fk']: $componente = 'caixa de combinacao'; $chaveEstrangeira = array('tabela' => $campo['esquema_fk'] . '.' . $campo['tabela_fk'], 'campo' => $campo['campo_fk']); break; default: $tipoDeDado = $campo['tipo_de_dado'] == 'numerico' ? 'tnumerico' : $campo['tipo_de_dado']; $chaveEstrangeira = false; } $mapNegocio['entidade'][$indice]['negocio']['propriedade'] = str_replace(' ', '', ucwords(str_replace('_', ' ', $campo['campo']))); $mapNegocio['entidade'][$indice]['negocio']['propriedade'][0] = strtolower($mapNegocio['entidade'][$indice]['negocio']['propriedade'][0]); $mapNegocio['entidade'][$indice]['negocio']['tipo'] = $tipoDeDado; $mapNegocio['entidade'][$indice]['negocio']['campo'] = $campo['campo']; $mapNegocio['entidade'][$indice]['negocio']['obrigatorio'] = $campo['obrigatorio'] ? 'sim' : ''; $mapNegocio['entidade'][$indice]['negocio']['indiceUnico'] = ''; $mapNegocio['entidade'][$indice]['negocio']['dominio'] = ''; $mapNegocio['entidade'][$indice]['negocio']['descritivo'] = ''; $mapNegocio['entidade'][$indice]['negocio']['classeAssociativa'] = $chaveEstrangeira ? '«Classe de Negocio ???»' : ''; $mapNegocio['entidade'][$indice]['negocio']['metodoLeitura'] = $chaveEstrangeira ? 'lerTodos' : ''; $mapNegocio['entidade'][$indice]['controle']['componente'] = $componente; $mapNegocio['entidade'][$indice]['controle']['tamanho'] = ''; $mapNegocio['entidade'][$indice]['controle']['tipo'] = $campo['tipo_de_dado']; $mapNegocio['entidade'][$indice]['controle']['obrigatorio'] = $campo['obrigatorio'] ? 'sim' : ''; $mapNegocio['entidade'][$indice]['controle']['pesquisa'] = ''; $mapNegocio['entidade'][$indice]['controle']['valores'] = array(); $mapNegocio['entidade'][$indice]['controle']['classeAssociativa'] = $chaveEstrangeira ? 'Classe de Negocio ???' : ''; $mapNegocio['entidade'][$indice]['controle']['metodoLeitura'] = $chaveEstrangeira ? 'lerTodos' : ''; $mapNegocio['entidade'][$indice]['controle']['listagem'] = $campo['campo_pk'] ? '1' : ''; $mapNegocio['entidade'][$indice]['controle']['hyperlink'] = $campo['campo_pk'] ? 'sim' : ''; $mapNegocio['entidade'][$indice]['controle']['largura'] = $campo['campo_pk'] ? '10%' : ''; $mapNegocio['entidade'][$indice]['controle']['ordem'] = $campo['campo_pk'] ? 1 : ''; $mapNegocio['entidade'][$indice]['controle']['campoPersonalizado'] = ''; $mapNegocio['entidade'][$indice]['persistente']['nome'] = $campo['campo']; $mapNegocio['entidade'][$indice]['persistente']['tipo'] = $tipoDeDado; $mapNegocio['entidade'][$indice]['persistente']['tamanho'] = $campo['tamanho']; $mapNegocio['entidade'][$indice]['persistente']['obrigatorio'] = ''; $mapNegocio['entidade'][$indice]['persistente']['operadorDeBusca'] = 'igual'; $mapNegocio['entidade'][$indice]['persistente']['chaveEstrangeira'] = $chaveEstrangeira; $mapNegocio['entidade'][$indice]['persistente']['ordem'] = $campo['campo_pk'] ? '1' : ''; $mapNegocio['entidade'][$indice]['inter']['nome'] = ucfirst(str_replace('_', ' ', $campo['campo'])); $mapNegocio['entidade'][$indice]['inter']['abreviacao'] = ucwords(str_replace('_', ' ', $campo['campo'])); $mapNegocio['entidade'][$indice]['inter']['descricao'] = $campo['descricao']; $mapNegocio['entidade'][$indice]['inter']['dominio'] = ''; } $this->visualizacao->dados = $json->pegarJson(array($mapNegocio)); $this->visualizacao->campos = $mapNegocio; $this->visualizacao->acesso = 'Carga de tabela do banco'; $this->visualizacao->travarSugestaoDeNomesPersistente = 'true'; }
/** * Montar listagem * @return string retorno da listagem */ function montarListagem(controlePadraoPDF $controlePDF) { if ($this->colecao->possuiItens() && is_array($this->campos)) { $conexao = conexao::criar(); $chaves = array_keys($this->campos); sort($chaves); foreach ($chaves as $chave) { $campo = $this->campos[$chave]; $tamanho = $campo['tamanho'] ? self::calcularLargura($campo['tamanho']) : '30'; $controlePDF->celula($tamanho, 4, $campo['titulo'], 1, 0, $campo['alinhamento']); } $controlePDF->ln(4); $x = 0; if ($this->colecao->possuiItens()) { $item = $this->colecao->retornarItem(); $mapeador = controlePadrao::pegarEstrutura($item); while ($item = $this->colecao->avancar()) { $corFundo = $this->definirCorFundo($controlePDF, ++$x); foreach ($chaves as $chave) { $campo = $this->campos[$chave]; $tamanho = $campo['tamanho'] ? self::calcularLargura($campo['tamanho']) : '30'; switch (true) { case isset($campo['campoPersonalizado']): $controlePDF->celula($tamanho, 4, call_user_func($campo['campoPersonalizado'], $item), 1, 0, $campo['alinhamento'], 1); break; case isset($campo['campoLink']): $controle = definicaoEntidade::controle($item, 'verEdicao'); $pegar = 'pegar' . ucfirst($campo['campoLink']); $link = sprintf("?c=%s&chave=%s", $controle, $item->valorChave()); switch (true) { case $mapeador['campos'][$campo['campoLink']]['classeAssociativa']: $classeAssociativa = new $mapeador['campos'][$campo['campoLink']]['classeAssociativa']($conexao); $classeAssociativa->ler($item->{$pegar}()); $valorDoCampo = $classeAssociativa->valorDescricao(); break; case $mapeador['campos'][$campo['campoLink']]['valores']: $valorDoCampo = $mapeador['campos'][$campo['campoLink']]['valores'][$item->{$pegar}()]; break; default: $valorDoCampo = $item->{$pegar}(); if (is_object($valorDoCampo)) { $valorDoCampo = $valorDoCampo->__toString(); } } $controlePDF->celula($tamanho, 4, $valorDoCampo, 1, 0, $campo['alinhamento'], 1, $link); break; default: $pegar = 'pegar' . ucfirst($campo['campo']); switch (true) { case $mapeador['campos'][$campo['campo']]['classeAssociativa']: $classeAssociativa = new $mapeador['campos'][$campo['campo']]['classeAssociativa']($conexao); $classeAssociativa->ler($item->{$pegar}()); $valorDoCampo = $classeAssociativa->valorDescricao(); break; case $mapeador['campos'][$campo['campo']]['valores']: $valorDoCampo = $mapeador['campos'][$campo['campo']]['valores'][$item->{$pegar}()]; break; default: $valorDoCampo = $item->{$pegar}(); if (is_object($valorDoCampo)) { $valorDoCampo = $valorDoCampo->__toString(); } } $controlePDF->celula($tamanho, 4, $valorDoCampo, 1, 0, $campo['alinhamento'], 1); break; } } $controlePDF->ln(4); } } else { $mensagem = $this->inter->pegarMensagem('registrosNaoEncontrados'); $controlePDF->celula(190, 4, $mensagem, 1, 0, 'C'); } } }