function menu_produtos($ref = "", $subref = 0, $nivel = 0)
{
    $con = BDConexao::__Abrir();
    $con2 = BDConexao::__Abrir();
    if ($ref == "") {
        $con->executar("SELECT * FROM `grupos` WHERE grp_classif LIKE '1.01.01.05.001%' OR grp_classif LIKE '1.01.01.03.001.004%' GROUP BY grp_classif ORDER BY grp_classif ASC");
    }
    $ordem = 0;
    $idPai = str_replace(".", "", str_replace(" ", "", $ref));
    $lPC = new ListaProdutoCategorias();
    while ($row = $con->getRegistro()) {
        $ordem++;
        $id = str_replace(".", "", str_replace(" ", "", $row['grp_classif']));
        $lPC->condicoes("", $id, ListaProdutoCategorias::ID);
        if ($lPC->getTotal() > 0) {
            $pC = $lPC->listar();
            $pC->nome = Strings::__PrimeirasLetrasMaiusculas($row['grp_descricao']);
            $pC->getURL()->setURL(URL::cleanURL($pC->nome));
            $pC->ordem = $ordem;
            $pC->subreferencia = $row['grp_classif'];
            $lPC->alterar($pC);
        } else {
            $con2->executar("INSERT INTO " . Sistema::$BDPrefixo . "produtos_categorias (id, categoriapai) VALUES('" . $id . "','" . $idPai . "')");
            $lPC->condicoes("", $id, ListaProdutoCategorias::ID);
            $pC = $lPC->listar();
            $pC->nome = Strings::__PrimeirasLetrasMaiusculas($row['grp_descricao']);
            $pC->getURL()->setURL(URL::cleanURL($pC->nome));
            $pC->ordem = $ordem;
            $pC->disponivel = 1;
            $pC->subreferencia = $row['grp_classif'];
            $lPC->alterar($pC);
        }
        //if($nivel == 0){
        //	menu_produtos($row['grp_classif'], 0, $nivel+1);
        //}
    }
}
         $t = new Traducao();
         $t->conteudo = $p->tipoUnidade;
         $t->traducao = $_POST['itipoUnidade'][$i->getId()];
         $t->setIdConteudo($p->getId());
         $t->setCampoConteudo(ListaProdutos::TIPOUNIDADE);
         $t->setTabelaConteudo($lP->getTabela());
         $i->addTraducao($t);
     }
 }
 $con = BDConexao::__Abrir();
 $con->deletar(Sistema::$BDPrefixo . "relacionamento_produtos_categorias", "WHERE produto = '" . $p->getId() . "'");
 $lPC = new ListaProdutoCategorias();
 if (!empty($_POST['categoriasSelecionadas'])) {
     foreach ($_POST['categoriasSelecionadas'] as $valor) {
         $lPC->condicoes('', $valor, ListaProdutoCategorias::ID);
         if ($lPC->getTotal() > 0) {
             $pC = $lPC->listar();
             $p->addCategoria($pC);
         }
     }
 }
 if (!empty($_POST['remover'])) {
     $lI = new ListaImagens();
     $lI->caminhoEscrita = Sistema::$caminhoDiretorio . Sistema::$caminhoDataProdutos;
     $lI->caminhoLeitura = $lI->caminhoEscrita;
     foreach ($_POST['remover'] as $id) {
         $lI->condicoes('', $id, ListaImagens::ID);
         if ($lI->getTotal() > 0) {
             $img = $lI->listar();
             $lI->deletar($img);
         }
 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;
             }
         }
     }
 }