Esempio n. 1
0
 public static function todosNiveisCategorias(ProdutoCategoria $cate)
 {
     $lC = new ListaProdutoCategorias();
     if (!($cat = $lC->condicoes('', $cate->getId(), ListaProdutoCategorias::ID)->listar())) {
         $cat = new ProdutoCategoria();
     }
     if ($cat->disponivel) {
         if (!empty(self::$condicao)) {
             $cat->getProdutos()->condicoes('', '', '', '', "SELECT * FROM " . Sistema::$BDPrefixo . "relacionamento_produtos_categorias rpc INNER JOIN " . Sistema::$BDPrefixo . "produtos p ON p.id = rpc.produto WHERE rpc.categoria = '" . $cat->getId() . "' " . self::$condicao)->setGroup(ListaProdutos::ID);
         }
         while ($prod = $cat->getProdutos()->listar()) {
             $adicionar = true;
             if (!empty($a)) {
                 foreach ($a as $p) {
                     if ($p->getId() == $prod->getId()) {
                         $adicionar = false;
                         break;
                     }
                 }
             }
             if ($adicionar) {
                 $a[count($a)] = $prod;
             }
         }
         while ($cats = $cat->getSubCategorias()->listar("ASC")) {
             $b = self::todosNiveisCategorias($cats);
             if (!empty($a) && !empty($b)) {
                 foreach ($b as $prod) {
                     $adicionar = true;
                     foreach ($a as $p) {
                         if ($prod->getId() == $p->getId()) {
                             $adicionar = false;
                             break;
                         }
                     }
                     if ($adicionar) {
                         $a[count($a)] = $prod;
                     }
                 }
             } elseif (!empty($b)) {
                 $a = $b;
             }
         }
     }
     if (empty($a)) {
         $a = array();
     }
     return $a;
 }
Esempio n. 2
0
 public static function createNavegador(ProdutoCategoria $pC, Idioma $idioma = null, Templates $tem = null, $separador = " > ")
 {
     $lPC = new ListaProdutoCategorias();
     $lPC->condicoes('', $pC->getIdCategoriaPai(), ListaProdutoCategorias::ID);
     if ($lPC->getTotal() > 0) {
         $cPC = $lPC->listar();
         if ($tem) {
             $tem2 = new Templates(Arquivos::__Create($tem->getArquivo()->arquivo));
             if ($idioma) {
                 $tem->trocar("nome", $idioma->getTraducaoByConteudo($pC->nome)->traducao);
             } else {
                 $tem->trocar("nome", $pC->nome);
             }
             $tem->trocar("url", $pC->getURL()->url);
             $tem->trocar("id", $pC->getId());
             $tem->trocar("ordem", $pC->ordem);
             if ($pC->getId() != '') {
                 return self::createNavegador($cPC, $idioma, $tem2, $separador) . $separador . $tem->concluir();
             }
         } else {
             if ($idioma) {
                 return self::createNavegador($cPC, $idioma, null, $separador) . $separador . $idioma->getTraducaoByConteudo($pC->nome)->traducao;
             } else {
                 return self::createNavegador($cPC, null, null, $separador) . $separador . $pC->nome;
             }
         }
     } else {
         if ($tem) {
             if ($idioma) {
                 $tem->trocar("nome", $idioma->getTraducaoByConteudo($pC->nome)->traducao);
             } else {
                 $tem->trocar("nome", $pC->nome);
             }
             $tem->trocar("url", $pC->getURL()->url);
             $tem->trocar("id", $pC->getId());
             $tem->trocar("ordem", $pC->ordem);
             if ($pC->getId() != '') {
                 return $tem->concluir();
             }
         } else {
             if ($idioma) {
                 return $idioma->getTraducaoByConteudo($pC->nome)->traducao;
             } else {
                 return $pC->nome;
             }
         }
     }
 }
Esempio n. 3
0
 public function addCategoria(ProdutoCategoria $pC)
 {
     if ($pC->getId() != '' && $this->getId() != '') {
         $con = BDConexao::__Abrir();
         $con->executar("INSERT INTO " . Sistema::$BDPrefixo . "relacionamento_produtos_categorias(produto, categoria) VALUES('" . $this->getId() . "','" . $pC->getId() . "')");
     }
 }
    if (!empty($_GET['categoria'])) {
        $rs['id'] = $cP->getIdCategoriaPai();
        $rs['nome'] = 'Voltar';
        $rs['filhos'] = '';
        $cond[] = $rs;
    }
    while ($pC = $lPC->listar()) {
        $rs['id'] = $pC->getId();
        $rs['nome'] = str_replace('"', "'", $pC->getNavegador());
        $rs['filhos'] = $pC->getSubCategorias()->getTotal();
        $cond[] = $rs;
    }
    echo JSON::_Encode($cond);
    exit;
}
$iLPC->trocar("linkCadastrar.ProdutoCategoria", "?p=" . $_GET['p'] . "&a=cadastrarProdutoCategoria&categoria=" . $cP->getId());
while ($pC = $lPC->listar("ASC", ListaProdutoCategorias::ORDEM)) {
    if (!empty($_POST['desabilitar'])) {
        //Desabilitar
        if ($_POST['desabilitar'][$pC->getId()]) {
            $pC->disponivel = true;
        } else {
            $pC->disponivel = false;
        }
        //
        $lPC->alterar($pC);
    }
    $iLPC->repetir();
    $iLPC->enterRepeticao()->condicao("condicaoRemover", !empty($_SESSION['nivel']));
    $bgColor = $lPC->getParametros() % 2 == 0 ? '#FFFFFF' : '#EAEAEA';
    $iLPC->enterRepeticao()->trocar("bgColorEmpresa", $bgColor);
        $lI->resetCondicoes();
        $lI->setParametros(0);
        $_POST = '';
        $javaScript .= Aviso::criar("Categoria salva com sucesso!");
    } else {
        $javaScript .= Aviso::criar($erro);
    }
}
if (!empty($_GET['categoria'])) {
    $lCP = new ListaProdutoCategorias();
    $lCP->condicoes('', $_GET['categoria'], ListaProdutoCategorias::ID);
    $cP = $lCP->listar();
} else {
    $cP = new ProdutoCategoria();
}
$iCPC->trocar("linkVoltar", "?p=" . $_GET['p'] . "&a=listarProdutoCategorias&categoria=" . $cP->getId());
$iCPC->trocar("nome", $_POST['nome']);
$iCPC->trocar("url", $_POST['url']);
$iCPC->trocar("ordem", $_POST['ordem']);
$iCPC->trocar("subreferencia", $_POST['subreferencia']);
$iCPC->trocar("disponivel", $_POST['disponivel']);
$iCPC->trocar("visaoUnica", $_POST['visaoUnica']);
$iCPC->trocar("descricaoPequena", $_POST['descricaoPequena']);
$iCPC->trocar("descricao", $_POST['descricao']);
$iCPC->trocar("id.ProdutoCategoria", $cP->getId());
$sub = "repetir->nome.ProdutoCategorias.Idiomas";
$sub2 = "repetir->descricao.ProdutoCategorias.Idiomas";
$sub3 = "repetir->descricaoPequena.ProdutoCategorias.Idiomas";
$iCPC->createRepeticao($sub);
$iCPC->createRepeticao($sub2);
$iCPC->createRepeticao($sub3);