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; }
function navigateToCategory(ProdutoCategoria $pC) { $array['navegador'] = $pC->getNavegador(); if ($pC->getSubCategorias()->getTotal() > 0) { $array['filhos'] = new ArrayObject(); while ($sPC = $pC->getSubCategorias()->listar('ASC', ListaProdutoCategorias::NOME)) { $array['filhos']->append(navigateToCategory($sPC)); } } else { $array['produtos'] = new ArrayObject(); while ($p = $pC->getProdutos()->listar("ASC", ListaProdutos::NOME)) { $array['produtos']->append($p); } } return $array; }
public function listar($ordem = "ASC", $campo = self::ID) { $info = parent::listar($ordem, $campo); if (!empty($info)) { parent::resgatarObjetos($info); $temp = new ProdutoCategoria($info[self::ID]); $temp->nome = $info[self::NOME]; $temp->ordem = $info[self::ORDEM]; $temp->disponivel = $info[self::DISPONIVEL] == self::VALOR_DISPONIVEL_TRUE ? true : false; $temp->visaoUnica = $info[self::VISAOUNICA] == self::VALOR_VISAOUNICA_TRUE ? true : false; $temp->descricaoPequena = $info[self::DESCRICAOPEQUENA]; $temp->descricao = $info[self::DESCRICAO]; $temp->subreferencia = $info[self::SUBREFERENCIA]; if (!empty($info[self::IMAGEM])) { $temp->setImagem(new Image(new Arquivos(Sistema::$caminhoURL . Sistema::$caminhoDataProdutoCategorias . $info[self::IMAGEM]))); } $temp->setURL($info[parent::URL]); $temp->setIdCategoriaPai($info[self::CATEGORIAPAI]); return $temp; } }
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; } } } }
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() . "')"); } }
} $lPC = new ListaProdutoCategorias(); $iLPC->createRepeticao("repetir->ProdutoCategorias"); if (!empty($_GET['busca'])) { $lPC->condicoes('', "%" . $_GET['busca'] . "%", 'empresa', 'LIKE'); } $iLPC->condicao("condicaoBusca", !empty($_SESSION['nivel'])); if (!empty($_GET['categoria'])) { $lPC->condicoes('', $_GET['categoria'], ListaProdutoCategorias::ID); if ($lPC->getTotal() > 0) { $cP = $lPC->listar(); } else { $cP = new ProdutoCategoria(); } } else { $cP = new ProdutoCategoria(); } $lPC = $cP->getSubCategorias(); if (isset($_GET['json'])) { $cond = array(); 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;
$i->addTraducao($t); } $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);