function salvar() { // chama o class util require_once ECOMP_PATH_CLASS . DS . 'ebasic.util.php'; $dados = JRequest::get('post'); $dados['alias'] = eUtil::texto_limpo($dados['alias'], true) ? eUtil::texto_limpo($dados['alias'], true) : eUtil::texto_limpo($dados['nome'], true); return parent::salvar($dados); }
/** * Retorna uma string de ids separados por ', ' dos registros * * @param integer $idcomponente * @param integer $idstart * @param boolean $filhas * @param string [categorias | tags] * @return string */ function busca_registros_relacionados($idcomponente, $idstart = 0, $filhas = true, $tabela = 'categorias') { $ids = eHelper::busca_categorias_tags($idcomponente, $idstart, $filhas, $tabela); $ids = eUtil::joinCampo($ids); if ($tabela == 'categorias') { $tabela = ECOMP_TABLE_CADASTROS_CATEGORIAS; $campo = 'idcategoria'; } else { $tabela = ECOMP_TABLE_CADASTROS_TAGS; $campo = 'tdtag'; } $t = new JCRUD($tabela); $c = $t->busca("WHERE idcomponente = '{$idcomponente}' AND {$campo} IN ({$ids})"); $r = count($c) ? eUtil::joinCampo($c, 'idcadastro') : ''; return $r; }
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; } }
function salvar() { require_once ECOMP_PATH_CLASS . DS . 'ebasic.util.php'; require_once ECOMP_PATH_CLASS . DS . 'wideimage' . DS . 'lib' . DS . 'WideImage.inc.php'; $idcomponente = JRequest::getVar('idcomponente', 0); $post = $_POST; $dados = array('id' => $post['id'], 'published' => $post['published'], 'ordering' => $post['ordering']); foreach ($post['dados'] as $idcampo => $v) { // abre o campo $campo = new JCRUD(ECOMP_TABLE_CAMPOS, array('id' => $idcampo)); $coluna = key($v); $valor = str_replace('$id', $post['id'], stripslashes($v[$coluna])); $dados[$coluna] = $valor; //data if ($campo->idtipo == 6) { $dados[$coluna] = eUtil::converteData($valor); } } // abre o componente $componente = new JCRUD(ECOMP_TABLE_COMPONENTES, array('id' => $idcomponente)); // abre o cadastro $cadastro = new JCRUD(ECOMP_TABLE_COMPONENTES . "_{$componente->alias}", $dados); // apaga o relacionamento antigo com as tags e categorias JCRUD::query("DELETE FROM " . ECOMP_TABLE_CADASTROS_TAGS . " WHERE idcomponente = '{$idcomponente}' AND idcadastro = {$cadastro->id}"); JCRUD::query("DELETE FROM " . ECOMP_TABLE_CADASTROS_CATEGORIAS . " WHERE idcomponente = '{$idcomponente}' AND idcadastro = {$cadastro->id}"); // if ($cadastro->id) { $cadastro->update(); } else { $cadastro->insert(); } // cadastra as tags $tags = new JCRUD(ECOMP_TABLE_CADASTROS_TAGS); if (isset($post['tags'])) { foreach ($post['tags'] as $tag) { $tags->id = null; $tags->idcomponente = $idcomponente; $tags->idcadastro = $cadastro->id; $tags->idtag = $tag; $tags->insert(); } } // cadastra as categorias $categorias = new JCRUD(ECOMP_TABLE_CADASTROS_CATEGORIAS); if (isset($post['categorias'])) { foreach ($post['categorias'] as $cat) { $categorias->id = null; $categorias->idcomponente = $idcomponente; $categorias->idcadastro = $cadastro->id; $categorias->idcategoria = $cat; $categorias->insert(); } } //////////////////////////////////////////////////// // uploads //////////////////////////////////////////////////// $uploads = count($_FILES['dados']) ? $_FILES['dados'] : array(); foreach ($uploads['name'] as $idcampo => $coluna) { $campo = new JCRUD(ECOMP_TABLE_CAMPOS, array('id' => $idcampo)); $coluna = key($coluna); $tipo = new JCRUD(ECOMP_TABLE_TIPOS, array('id' => $campo->idtipo)); parse_str($tipo->params, $params1); parse_str($campo->params, $params2); $params = array_merge($params1, $params2); //upload de imagem if ($campo->idtipo == 11 && $uploads['error'][$idcampo][$coluna] != 4) { $path_dest = ECOMP_PATH_UPLOADS . DS . $idcomponente . DS . $cadastro->id; $file = $uploads; $file_ext = strtolower(JFile::getExt($file['name'][$idcampo][$coluna])); $file_name = $coluna . '.' . $file_ext; $file_tmp = $file['tmp_name'][$idcampo][$coluna]; $file_dest = $path_dest . DS . $file_name; if (strpos($params['ext'], $file_ext) !== false) { // eLoad - Salva o caminho da pasta cache atual if (file_exists($file_dest)) { $cache_dir = ECOMP_PATH_CACHE_ELOAD . DS . substr(sha1_file($file_dest), 0, 10); } if (JFile::upload($file_tmp, $file_dest)) { // eLoad - Apaga a pasta cache anterior if (isset($cache_dir) && is_dir($cache_dir)) { JFolder::delete($cache_dir); } // apaga o arquivo if ($cadastro->{$coluna} != $file_name) { @unlink($path_dest . DS . $cadastro->{$coluna}); } if ($params['resize'] == 1) { if ($file_ext != 'gif' || $file_ext == 'gif' && $params['resize_gif'] == 1) { $imagem = wiImage::load($file_dest); if ($imagem->getWidth() > $params['width'] || $imagem->getHeight() > $params['height']) { wiImage::load($file_dest)->resize($params['width'], $params['height'], $params['fit'], $params['scale'])->saveToFile($file_dest, null, 90); } // Cria imagem 800x600 //$file_800 = $path_dest.DS.$coluna.'800x600.'.$file_ext; //ecompHelper::redimensionaImg($file_dest, $file_800, 800, 600, $params['fit'], $params['scale'], 90); // Cria imagem 640x480 //$file_640 = $path_dest.DS.$coluna.'640x480.'.$file_ext; //ecompHelper::redimensionaImg($file_dest, $file_640, 640, 480, $params['fit'], $params['scale'], 90); // Cria imagem 320x240 //$file_320 = $path_dest.DS.$coluna.'320x240.'.$file_ext; //ecompHelper::redimensionaImg($file_dest, $file_320, 320, 240, $params['fit'], $params['scale'], 90); } } // altera o nome da imagem $cadastro->{$coluna} = $file_name; } } } //upload if ($campo->idtipo == 4 && $uploads['error'][$idcampo][$coluna] != 4) { $path_dest = ECOMP_PATH_UPLOADS . DS . $idcomponente . DS . $cadastro->id; $file = $uploads; $file_ext = strtolower(JFile::getExt($file['name'][$idcampo][$coluna])); $file_name = $coluna . '.' . $file_ext; $file_tmp = $file['tmp_name'][$idcampo][$coluna]; $file_dest = $path_dest . DS . $file_name; // apaga o arquivo @unlink($path_dest . DS . $cadastro->{$coluna}); if (JFile::upload($file_tmp, $file_dest)) { // altera o nome da imagem $cadastro->{$coluna} = $file_name; } } // salva os dados $cadastro->update(); } return true; }
$value = @$this->row->{$alias}; echo $editor->display($name, $value, $params['width'], $params['height'], '60', '20', false, $params_editor); } // Upload if ($campo->idtipo == 4) { echo sprintf('<input type="file" name="%s" /> Tamanho máximo: %s', $name, ini_get('upload_max_filesize')); } // Boolean if ($campo->idtipo == 5) { $value = @$this->row->{$alias}; echo sprintf('<input type="radio" name="%s" value="0" %s />Não<input type="radio" name="%s" value="1" %s />Sim', $name, !$value ? 'checked="checked"' : '', $name, $value ? 'checked="checked"' : ''); } // Data if ($campo->idtipo == 6) { $date_scripts[] = "myCal{$campo->id} = new Calendar({ date{$campo->id}: 'd/m/Y' });\n"; echo sprintf('<input class="text_area datas" type="text" name="%s" size="12" maxlength="10" value="%s" />', $name, eUtil::converteData(htmlspecialchars(@$this->row->{$alias}))); } // Data / Hora if ($campo->idtipo == 7) { echo sprintf('<input class="text_area" type="text" name="%s" size="100" maxlength="100" value="%s" />', $name, htmlspecialchars(@$this->row->{$alias})); } // Relacionamento if ($campo->idtipo == 8) { $campo = new JCRUD(ECOMP_TABLE_CAMPOS, array('id' => $params['idcampo'])); $componente = new JCRUD(ECOMP_TABLE_COMPONENTES, array('id' => $params['idcomponente'])); if ($campo->id && $componente->id) { echo '<select name="' . $name . '">'; $rel = new JCRUD(ECOMP_TABLE_COMPONENTES . '_' . $componente->alias); $rels = $rel->busca("WHERE published = '1' ORDER BY ordering, {$campo->alias} ASC"); foreach ($rels as $rel) { $campo_alias = $campo->alias;
function salvar() { // chama o class util require_once ECOMP_PATH_CLASS . DS . 'ebasic.util.php'; // abre o banco $db =& JFactory::getDBO(); // 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']); // captura o nome da nova tabela $tabela_nova = eUtil::texto_limpo($dados['nome']); // abre a tabela de componentes do ecomp $componente = new JCRUD(ECOMP_TABLE_COMPONENTES, $dados); // abre a tabela de menu/componentes $menu = new JCRUD(ECOMP_TABLE_JCOMPONENTS); // se o id não existir, inseri! if (!$componente->id) { // verifica se a tabela ja existe if ($this->existe_tabela($tabela_nova)) { return false; } // cria a nova tabela JCRUD::query("\r\n\t\t\t\tCREATE TABLE IF NOT EXISTS " . ECOMP_TABLE_COMPONENTES . "_{$tabela_nova}(\r\n\t\t\t\t `id` int(11) NOT NULL AUTO_INCREMENT,\r\n\t\t\t\t `published` int(11) NOT NULL DEFAULT '1',\r\n\t\t\t\t `ordering` int(11) NOT NULL DEFAULT '0',\r\n\t\t\t\t `trashed` int(11) NOT NULL DEFAULT '0',\r\n\t\t\t\t `view_item` int(11) NOT NULL DEFAULT '0',\r\n\t\t\t\t `view_lista` int(11) NOT NULL DEFAULT '0',\r\n\t\t\t\t `view_busca` int(11) NOT NULL DEFAULT '0',\r\n\t\t\t\t PRIMARY KEY (`id`)\r\n\t\t\t\t) ENGINE=MyISAM DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC AUTO_INCREMENT=1;\r\n\t\t\t"); // inseri o registro if ($componente->insert()) { // busca o id do menu ecomp $ecomp_menu = $menu->busca_por_sql("SELECT * FROM @tabela@ WHERE name = 'eComp' AND admin_menu_alt = 'eComp'"); // cadastra um novo menu $menu->enabled = 1; $menu->admin_menu_link = "option=com_ecomp&view=cadastros&idcomponente={$componente->id}"; $menu->parent = $ecomp_menu[0]->id; $menu->ordering = -1; $menu->iscore = 1; $menu->name = $componente->nome; $menu->admin_menu_alt = $componente->nome; $menu->insert(); $componente->idmenuadmin = $menu->id; $componente->alias = $tabela_nova; $componente->update(); return true; } } else { // captura o nome da tabela velha $tabela_velha = $componente->alias; // se o nome da tabela mudou if ($tabela_nova != $tabela_velha) { // verifica se a tabela ja existe if ($this->existe_tabela($tabela_nova)) { return false; } // altera o nome da tabela JCRUD::query("RENAME TABLE " . ECOMP_TABLE_COMPONENTES . "_{$tabela_velha} TO " . ECOMP_TABLE_COMPONENTES . "_{$tabela_nova}"); // atualiza o alias do regitro $componente->alias = $tabela_nova; } // atualiza o registro if ($componente->update()) { $menu->id = $componente->idmenuadmin; $menu->name = $componente->nome; $menu->admin_menu_alt = $componente->nome; // atualiza o menu $menu->update(); return true; } } }
require_once ECOMP_PATH_CLASS . DS . 'ebasic.helper.php'; // inicia o smarty $smarty = new Smarty(); $smarty->template_dir = ECOMP_PATH_SMARTY_TEMPLATE; $smarty->compile_dir = ECOMP_PATH_SMARTY_COPILE; $smarty->cache_dir = ECOMP_PATH_SMARTY_CACHE; // envia todas as constantes para o smarty foreach ($_SESSION['ECOMP_VARS'] as $k => $v) { $smarty->assign($k, $v); } // id do componente $idcomponente = $params->getValue('idcomponente'); // inicio do nome do arquivo $file = eUtil::texto_limpo($module->title, true); // pasta do arquivo $path = eUtil::texto_limpo($module->position); // file php $file_php = ECOMP_PATH_TEMPLATES_MOD . DS . $path . DS . $file . '.php'; // file smarty $file_smarty = ECOMP_PATH_TEMPLATES_MOD . DS . $path . DS . $file . '.html'; // tabela do componente $tabela = eHelper::componente_tabela_nome($idcomponente); // id componente $smarty->assign('idcomponente', $idcomponente); // abre o arquivo if (file_exists($file_php)) { require_once $file_php; } else { echo "Arquivo {$file_php} não foi encontrado!"; } // exibe o template do modulo