/** * Busca o id da categoria/tag PAI * * @param integer $idcomponente * @param integer $idstart * @param boolean $tree * @param string [categorias | tags] * @return object/JCRUD */ function busca_categorias_tags_pai($idcomponente, $idstart = 0, $tabela = 'categorias') { $tb = $tabela == 'categorias' ? ECOMP_TABLE_CATEGORIAS : ECOMP_TABLE_TAGS; $t = new JCRUD($tb); $a = $t->busca("WHERE idcomponente = '{$idcomponente}' AND id = '{$idstart}'"); if ($a->idpai != 0) { $tt = $t->busca("WHERE idcomponente = '{$idcomponente}' AND idpai = '{$idstart}'"); foreach ($tt as $tr) { $a = eHelper::busca_categorias_tags_pai($idcomponente, $tr->id, $tabela); } } return $a->id; }
function getTree($tabela, $idcomponente = 0, $idPai = 0, $where = '') { $tb = new JCRUD($tabela); $dados = $tb->busca("WHERE idpai='{$idPai}' AND idcomponente = '{$idcomponente}' {$where} ORDER BY ordering ASC, nome ASC"); $r = array(); foreach ($dados as $a) { $r[] = $a; $filhos = $this->getTree($tabela, $idcomponente, $a->id, $where); if (count($filhos)) { $r[] = $filhos; } } return $r; }
function exibir() { $u =& JURI::getInstance(); $t = new JCRUD(ECOMP_TABLE_COMPONENTES); $componentes = $t->busca("WHERE exibir_manager = '1' ORDER BY nome ASC"); $query = array('Itemid' => JRequest::getVar('Itemid'), 'funcao' => 'listar', 'idcomponente' => 0); // home echo sprintf('<a href="?%s">Home</a>', $u->buildQuery($query)); // componentes foreach ($componentes as $c) { $query['idcomponente'] = $c->id; echo sprintf('<a href="?%s">%s</a>', $u->buildQuery($query), $c->nome); } // sair $query['funcao'] = 'sair'; unset($query['idcomponente']); echo sprintf('<a href="?%s" class="sair">Sair</a>', $u->buildQuery($query)); }
function busca_por_categorias($ids, $limit = 0) { $produtos = array(); $ids = $ids == '' ? 0 : $ids; // Abre a tabela $c = new JCRUD('jos_edesktop_produtos_categorias_rel'); $where = "WHERE idcategoria IN ({$ids})"; $where = $limit ? "{$where} ORDER BY RAND() LIMIT {$limit}" : $where; if ($this->paginacao) { $this->paginacao = $c->paginacao($where, $this->paginacao); $where = "{$where} LIMIT {$this->paginacao->limit}"; } $pp = $c->busca($where); foreach ($pp as $p) { if (!isset($produtos[$p->idproduto])) { $produtos[$p->idproduto] = $this->busca_por_id($p->idproduto, true); } } return $produtos; }
<?php // recebe todo os dados $dados = $_POST; $msg = ''; if (isset($dados['id']) && $dados['id'] == 1) { $msg .= '- Este grupo de usuário está protegido pelo sistema, não pode ser alterado!<br>'; } if (empty($dados['nome'])) { $msg .= '- O campo \'Nome\' é obrigatório!<br>'; } else { // Nomes duplicados $edit = isset($dados['id']) ? "AND id != '{$dados['id']}'" : ''; $tabela = new JCRUD('jos_edesktop_usuarios_grupos'); $nome = $tabela->busca("WHERE nome = '{$dados['nome']}' {$edit} Limit 0,1"); if (count($nome)) { $msg .= '- O nome do grupo já está registrado.<br>'; } } if (!empty($msg)) { jexit(json_encode(array('tipo' => 'error', 'msg' => 'Preencha corretamente o(s) seguinte(s) campo(s):<br><br>' . $msg))); } // cria a variavel status, caso não exista if (!isset($dados['status']) && !isset($dados['id'])) { $dados['status'] = 1; } // remove a var limit unset($dados['limit']); // permissoes $permissoes = ''; $permissoes_novas = JRequest::getvar('permissoes', array());
// recebe todo os dados $dados = $_POST; $t = new JCRUD('jos_users'); // inicia var msg de erro $msg = ''; // Campo nome é obrigatório if (empty($dados['name'])) { $msg .= '- O campo \'Nome\' é obrigatório!<br>'; } // Campo e-mail é obrigatório if (empty($dados['email'])) { $msg .= '- O campo \'E-mail\' é obrigatório!<br>'; } else { // busca por e-mail duplicado $edit = isset($dados['id']) ? "AND id != '{$dados['id']}'" : ''; $email = $t->busca("WHERE email = '{$dados['email']}' {$edit} Limit 0,1"); if (count($email)) { $msg .= '- O endereço de e-mail já está registrado.<br>'; } } // verifica se o é o user não for admin if (@$dados['id'] != 62) { if (empty($dados['id_grupo'])) { $msg .= '- O campo \'Grupo\' é obrigatório!<br>'; } // Grupos joomla, caso não exista = 18 (registrado) if (!isset($dados['gid'])) { $dados['gid'] = 18; } // Grupos joomla, os grupos não podem ser os ids 29 ou 30 if ($dados['gid'] == 29 || $dados['gid'] == 30) {
function EcompBuildRoute(&$query) { $vars = $query; $menu =& JSite::getMenu(); $item =& $menu->getItem($vars['Itemid']); $params = $menu->getParams($vars['Itemid']); $idcomponente = $params->get('idcomponente'); $idcadastro = isset($vars['id']) ? $vars['id'] : $params->get('idcadastro'); $segments = array(); $values = array(); $conf =& JFactory::getConfig(); // abre a tabela de regras de rotas $r = new JCRUD(ECOMP_TABLE_ROUTERS_RULES); $r = $r->busca("WHERE itemid = '{$item->id}' AND published = '1' AND trashed != '1' ORDER BY ordering ASC"); foreach ($r as $rules) { if ($rules->type == '1') { // nome da tebela do componente $idcomp = $rules->idcomponente > 0 ? $rules->idcomponente : $idcomponente; $tabela = eHelper::componente_tabela_nome($idcomp); $c = new JCRUD($tabela); $x = isset($vars[$rules->get_var]) ? $vars[$rules->get_var] : '0'; $c = $c->busca_por_id($x); if ($c) { $campo = $rules->alias1; if ($campo == '' || JFilterOutput::stringURLSafe($c->{$campo}) == '') { $campo = $rules->alias2; } $segments[] = JFilterOutput::stringURLSafe($c->{$campo}); $values[$rules->get_var] = isset($vars[$rules->get_var]) ? $vars[$rules->get_var] : $rules->get_value; } } if ($rules->type == '2') { $segments[] = JFilterOutput::stringURLSafe($rules->alias1); $values[$rules->get_var] = isset($vars[$rules->get_var]) ? $vars[$rules->get_var] : $rules->get_value; } if ($rules->type == '3') { $s = isset($vars[$rules->get_var]) ? $vars[$rules->get_var] : $rules->get_value; $segments[] = JFilterOutput::stringURLSafe($s); $values[$rules->get_var] = $s; } // categoria if ($rules->type == '4') { $c = new JCRUD(ECOMP_TABLE_CATEGORIAS); $y = (int) $rules->get_value; $x = isset($vars[$rules->get_var]) ? $vars[$rules->get_var] : $y; $c = $c->busca_por_id($x); if ($c) { $campo = 'alias'; if (JFilterOutput::stringURLSafe($c->{$campo}) == '') { $campo = 'nome'; } $segments[] = JFilterOutput::stringURLSafe($c->{$campo}); $values[$rules->get_var] = isset($vars[$rules->get_var]) ? $vars[$rules->get_var] : $rules->get_value; } } // exclui a var caso exista if (isset($query[$rules->get_var])) { unset($query[$rules->get_var]); } } // exclui a var view 'padrao' if (isset($vars['view']) && $vars['view'] == 'padrao') { unset($query['view']); } //////////////////////////////////////////// //// CACHE /////////////////////////////////////////// if (count($segments)) { // verifica se o sef_suffix esta ativado $sef_suffix = $conf->getValue('config.sef_suffix') ? '.html' : ''; $url = join('/', $segments) . $sef_suffix; $params = http_build_query($values, '', '&'); $dados = array('id' => 0, 'itemid' => $item->id, 'url' => $url, 'params' => $params); // adicionao a rota na tabela cache $c = new JCRUD(ECOMP_TABLE_ROUTERS_CACHE, $dados); $cc = $c->busca("WHERE itemid = '{$item->id}' AND url = '{$url}'"); if (count($cc)) { $c->id = $cc[0]->id; $c->update(); } else { $c->insert(); } } return $segments; }
foreach ($rels as $rel) { $campo_alias = $campo->alias; echo sprintf('<option value="%s"%s>%s</option>', $rel->id, @$this->row->{$alias} == $rel->id ? ' selected="selected"' : '', $rel->{$campo_alias}); } echo '</select>'; } else { echo "Parâmetros inválidos!"; } } // Imagens da galeria if ($campo->idtipo == 9) { echo '<select name="' . $name . '">'; $params['idcadastro'] = $params['idcadastro'] ? $params['idcadastro'] : @$this->row->id; $params['idcomponente'] = $params['idcomponente'] ? $params['idcomponente'] : $idcomponente; $rel = new JCRUD(ECOMP_TABLE_CADASTROS_IMAGENS); $rels = $rel->busca("WHERE idcomponente = '{$params['idcomponente']}' AND idcadastro = '{$params['idcadastro']}' AND published = '1' ORDER BY ordering, legenda ASC"); foreach ($rels as $rel) { echo sprintf('<option value="%s"%s>%s</option>', $rel->id, @$this->row->{$alias} == $rel->id ? ' selected="selected"' : '', $rel->id . ' - ' . ($rel->legenda ? $rel->legenda : 'Sem legenda')); } echo '</select>'; } // combo simples if ($campo->idtipo == 10) { $itens = explode('|', $params['itens']); echo '<select name="' . $name . '">'; foreach ($itens as $item) { list($valor, $texto) = explode(';', $item); echo sprintf('<option value="%s"%s>%s</option>', $valor, @$this->row->{$alias} == $valor ? ' selected="selected"' : '', $texto); } echo '</select>'; }