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; } }