コード例 #1
0
ファイル: ebasic.helper.php プロジェクト: eliasrosa/eJoomla
 /**
  * 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;
 }
コード例 #2
0
 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;
 }
コード例 #3
0
ファイル: campos.php プロジェクト: eliasrosa/eJoomla
 function deletar()
 {
     $cids = JRequest::getVar('cid', array(0), 'request', 'array');
     foreach ($cids as $id) {
         // abre o compo da tabela do componente
         $campo = new JCRUD(ECOMP_TABLE_CAMPOS, array('id' => $id));
         // abre a tabela de componentes
         $componente = new JCRUD(ECOMP_TABLE_COMPONENTES, array('id' => $campo->idcomponente));
         // deleta a coluna do componente
         JCRUD::query("ALTER TABLE `" . ECOMP_TABLE_COMPONENTES . "_{$componente->alias}` DROP `{$campo->alias}`");
         // deleta o campo
         $campo->delete();
     }
     // retorna msg de ok para o usuário
     return true;
 }
コード例 #4
0
ファイル: categorias.php プロジェクト: eliasrosa/eJoomla
 function deletar()
 {
     $cids = JRequest::getVar('cid', array(0), 'request', 'array');
     foreach ($cids as $id) {
         // abre o compo da tabela
         $registro = new JCRUD(ECOMP_TABLE_CATEGORIAS, array('id' => $id));
         // abre a tabela de relacionamentos
         $relacionamentos = new JCRUD(ECOMP_TABLE_CADASTROS_CATEGORIAS);
         $relacionamentos = $relacionamentos->busca("WHERE idcategoria = {$id}");
         foreach ($relacionamentos as $relacionamento) {
             $relacionamento->delete();
         }
         // deleta o campo
         $registro->delete();
     }
     // retorna msg de ok para o usuário
     return true;
 }
コード例 #5
0
ファイル: manager.menu.php プロジェクト: eliasrosa/eJoomla
 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));
 }
コード例 #6
0
ファイル: imagens.php プロジェクト: eliasrosa/eJoomla
 function deletar()
 {
     $cids = JRequest::getVar('cid', array(0), 'post', 'array');
     foreach ($cids as $id) {
         // carrega os dados
         $imagem = new JCRUD(ECOMP_TABLE_CADASTROS_IMAGENS, array('id' => $id));
         // apaga as imagens
         @unlink(ECOMP_PATH_IMAGENS . DS . $imagem->file);
         //@unlink(ECOMP_PATH_IMAGENS.DS.str_replace('.', '_800x600.', $imagem->file));
         //@unlink(ECOMP_PATH_IMAGENS.DS.str_replace('.', '_640x480.', $imagem->file));
         //@unlink(ECOMP_PATH_IMAGENS.DS.str_replace('.', '_320x240.', $imagem->file));
         @unlink(ECOMP_PATH_IMAGENS . DS . str_replace('.', '_p.', $imagem->file));
         @unlink(ECOMP_PATH_IMAGENS . DS . str_replace('.', '_m.', $imagem->file));
         // deleta o componente
         $imagem->delete();
     }
     return true;
 }
コード例 #7
0
ファイル: cadastros.php プロジェクト: eliasrosa/eJoomla
 function publish($valor)
 {
     $cids = JRequest::getVar('cid', array(0), 'request', 'array');
     foreach ($cids as $id) {
         $idcomponente = JRequest::getVar('idcomponente', 0);
         // abre a tabela de componentes do ecomp
         $componente = new JCRUD(ECOMP_TABLE_COMPONENTES, array('id' => $idcomponente));
         // abre a tabela de cadastro
         $cadastro = new JCRUD(ECOMP_TABLE_COMPONENTES . "_{$componente->alias}", array('id' => $id));
         //
         $cadastro->published = $valor;
         $cadastro->update();
     }
 }
コード例 #8
0
ファイル: produtos.php プロジェクト: eliasrosa/eJoomla
 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;
 }
コード例 #9
0
ファイル: edesktop.class.php プロジェクト: eliasrosa/eJoomla
 private function permissoes()
 {
     // Carrega os dados do usuário
     $u = new JCRUD("jos_users", array('id' => $this->user->id));
     // Carrega os dados do grupo
     $g = new JCRUD("jos_edesktop_usuarios_grupos", array('id' => $u->id_grupo));
     // Grava na sessão os dados do usuário
     $_SESSION['eDesktop.usuario'] = $u->get_dados();
     // Grava na sessão os dados do grupo do usuário
     $_SESSION['eDesktop.usuario.grupo'] = $g->get_dados();
     // Separa as permissões em um array e grava na sessão
     $_SESSION['eDesktop.usuario.grupo.permissoes'] = $g->permissoes != '' ? explode("\n", $g->permissoes) : array();
 }
コード例 #10
0
ファイル: grupos.salvar.php プロジェクト: eliasrosa/eJoomla
    $dados['status'] = 1;
}
// remove a var limit
unset($dados['limit']);
// permissoes
$permissoes = '';
$permissoes_novas = JRequest::getvar('permissoes', array());
$permissoes_total = count($permissoes_novas);
$permissoes_count = 0;
foreach ($permissoes_novas as $permissao) {
    $permissoes_count++;
    $permissoes .= $permissoes_count != $permissoes_total ? "{$permissao}\n" : $permissao;
}
$dados['permissoes'] = $permissoes;
// abre a tabela com os novo dados
$grupo = new JCRUD('jos_edesktop_usuarios_grupos', $dados);
// verifica se o registro já existe
if ($grupo->id) {
    // verifica se o usuario logado tem permissão
    jAccess('grupos.editar');
    // atualiza os dados do registro
    $grupo->update();
    // carrega as vars de retorno
    $retorno = 'updateOk';
    $msg = 'Dados do grupo de usuário foram atualizados com sucesso!';
} else {
    // verifica se o usuario logado tem permissão
    jAccess('grupos.adicionar');
    // cadastra o novo registro
    $grupo->insert();
    // carrega as vars de retorno
コード例 #11
0
ファイル: usuarios.salvar.php プロジェクト: eliasrosa/eJoomla
        $groups_aro_map->update('aro_id');
    }
    // carrega as vars de retorno
    $retorno = 'updateOk';
    $msg = 'Dados do usuário foram atualizados com sucesso!';
} else {
    // verifica se o usuario logado tem permissão
    jAccess('usuarios.adicionar');
    // adiciona a data de registro
    $usuario->registerDate = date("Y-m-d H:i:s");
    // cadastra o novo registro
    $usuario->insert();
    // adiciona valores na tabela jos_core_acl_aro
    $aro = new JCRUD("jos_core_acl_aro");
    $aro->section_value = 'users';
    $aro->value = $usuario->id;
    $aro->order_value = 0;
    $aro->name = $usuario->name;
    $aro->hidden = 0;
    $aro->insert();
    // adiciona valores na tabela jos_core_acl_groups_aro_map
    $groups_aro_map = new JCRUD("jos_core_acl_groups_aro_map");
    $groups_aro_map->group_id = $usuario->gid;
    $groups_aro_map->section_value = '';
    $groups_aro_map->aro_id = $aro->id;
    $groups_aro_map->insert();
    // carrega as vars de retorno
    $retorno = 'insertOk';
    $msg = 'Usuário cadastrado com sucesso!';
}
jexit(json_encode(array('msg' => $msg, 'retorno' => $retorno, 'id' => $usuario->id)));
コード例 #12
0
ファイル: router.php プロジェクト: eliasrosa/eJoomla
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;
}
コード例 #13
0
ファイル: pedidos.php プロジェクト: eliasrosa/eJoomla
 function adicionarItem($item)
 {
     $i = new JCRUD('jos_edesktop_loja_pedidos_itens', $item);
     return $i->insert();
 }
コード例 #14
0
ファイル: cadastro.php プロジェクト: eliasrosa/eJoomla
         $rels = $rel->busca("WHERE published = '1' ORDER BY ordering, {$campo->alias} ASC");
         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>';
コード例 #15
0
ファイル: componentes.php プロジェクト: eliasrosa/eJoomla
 function deletar()
 {
     $cids = JRequest::getVar('cid', array(0), 'post', 'array');
     foreach ($cids as $id) {
         // abre a tabela de componentes do ecomp
         $componente = new JCRUD(ECOMP_TABLE_COMPONENTES);
         $componente = $componente->busca_por_id($id);
         // abre a tabela de menu/componentes
         $menu = new JCRUD(ECOMP_TABLE_JCOMPONENTS);
         // apaga o menu
         $menu->delete($componente->idmenuadmin);
         // busca todas as tags
         $tags = new JCRUD(ECOMP_TABLE_TAGS);
         $tags = $tags->busca("WHERE idcomponente = '{$componente->id}'");
         foreach ($tags as $tag) {
             // apaga todos os relacionamento com a tag
             JCRUD::query("DELETE FROM " . ECOMP_TABLE_CADASTROS_TAGS . " WHERE idtag = '{$tag->id}'");
             // apaga a tag
             $tag->delete();
         }
         // busca todas as categorias
         $categorias = new JCRUD(ECOMP_TABLE_CATEGORIAS);
         $categorias = $categorias->busca("WHERE idcomponente = '{$componente->id}'");
         foreach ($categorias as $categoria) {
             // apaga todos os relacionamento com a categoria
             JCRUD::query("DELETE FROM " . ECOMP_TABLE_CADASTROS_CATEGORIAS . " WHERE idcategoria = '{$categoria->id}'");
             // apaga o categoria
             $categoria->delete();
         }
         // apaga os campos
         JCRUD::query("DELETE FROM " . ECOMP_TABLE_CAMPOS . " WHERE idcomponente = '{$componente->id}'");
         // apaga todas as imagens
         JCRUD::query("DELETE FROM " . ECOMP_TABLE_CADASTROS_IMAGENS . " WHERE idcomponente = '{$componente->id}'");
         // deleta a tabela do banco
         JCRUD::query("DROP TABLE " . ECOMP_TABLE_COMPONENTES . "_{$componente->alias}");
         // apaga a pasta de imagen caso exista
         if (JFolder::exists(ECOMP_PATH_IMAGENS . DS . $componente->id)) {
             JFolder::delete(ECOMP_PATH_IMAGENS . DS . $componente->id);
         }
         // apaga a pasta de uploads
         if (JFolder::exists(ECOMP_PATH_UPLOADS . DS . $componente->id)) {
             JFolder::delete(ECOMP_PATH_UPLOADS . DS . $componente->id);
         }
         // deleta o componente
         $componente->delete();
     }
     return true;
 }