예제 #1
0
 function salvar()
 {
     // chama o class util
     require_once ECOMP_PATH_CLASS . DS . 'ebasic.util.php';
     // se não existir um nome, retorma erro
     if (empty($_POST['nome'])) {
         return false;
     }
     // carrega do post para a var dados
     $dados = $_POST;
     // apaga variaveis inuteis
     unset($dados['option'], $dados['task'], $dados['view'], $dados['layout']);
     // abre a tabela de campos do ecomp
     $campo = new JCRUD(ECOMP_TABLE_CAMPOS, $dados);
     // abre a tabela de componentes
     $componente = new JCRUD(ECOMP_TABLE_COMPONENTES, array('id' => $campo->idcomponente));
     // abre a tabela de tipos
     $tipo = new JCRUD(ECOMP_TABLE_TIPOS, array('id' => $campo->idtipo));
     // limpa o alias, caso não exista, gera um alias com o nome
     $campo->alias = eUtil::texto_limpo($campo->alias) ? eUtil::texto_limpo($campo->alias) : eUtil::texto_limpo($campo->nome);
     // se o id não existir, inseri!
     if (!$campo->id) {
         // cria um novo campo na tabela do componente
         JCRUD::query("ALTER TABLE `" . ECOMP_TABLE_COMPONENTES . "_{$componente->alias}` ADD `{$campo->alias}` {$tipo->code}");
         // inseri o registro
         $campo->insert();
         // retorna msg de ok para o usuário
         return true;
     } else {
         // se o alias do campo mudou
         $r = $campo->busca_por_id($campo->id);
         if ($campo->alias != $r->alias or $campo->idtipo != $r->idtipo) {
             // altera o campo na tabela do componente
             JCRUD::query("ALTER TABLE `" . ECOMP_TABLE_COMPONENTES . "_{$componente->alias}` CHANGE `{$r->alias}` `{$campo->alias}` {$tipo->code}");
         }
         // atualiza o registro
         $campo->update();
         // retorna msg de ok para o usuário
         return true;
     }
 }