Beispiel #1
0
 /**
  * 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;
 }
Beispiel #3
0
 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));
 }
Beispiel #4
0
 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;
 }
Beispiel #5
0
<?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());
Beispiel #6
0
// 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) {
Beispiel #7
0
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;
}
Beispiel #8
0
         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>';
 }