0){ $sql = "SELECT url_amigavel FROM produtos WHERE id='".$id."' AND status='a' LIMIT 1"; $query = mysqli_query($conn, $sql); $dados = mysqli_fetch_assoc($query); if (isset($dados['url_amigavel']) AND $dados['url_amigavel']!=''){ echo ""; exit(); } }else{ $sql = "SELECT p.id, p.estrelas_soma, p.avaliacao_qtd, p.quem_avaliou, p.produto, p.preco, p.por, p.qtd_parcela, p.valor_parcela, p.valor_parcela_juros, p.descricao, p.Descricao_seo, p.Titulo_seo, p.palavrasChave_seo, p.qtd_visto, p.qtd, p.qtd_minimo, p.categoria AS id_categoria, c.categoria AS categoria, c.url_amigavel, c.categoria_pai, p.peso, p.altura, p.largura, p.comprimento, p.frete, p.prazo, p.img, p.sku, p.informacoes_adicionais, p.link_compra, p.link_youtube, e.id AS estoque, e.valor, e.tipo, e.operacao FROM categorias AS c RIGHT JOIN produtos AS p ON (p.categoria=c.id) LEFT JOIN estoque AS e ON (p.id=e.produto) WHERE p.url_amigavel='".$url_amigavel."' AND p.status='a' ORDER BY e.tamanho ASC, e.cor ASC, e.id ASC LIMIT 1"; $query = mysqli_query($conn, $sql); } $num_rows = mysqli_num_rows($query); if ($num_rows<1){ echo ""; exit(); } if (isset($_POST['acaoAval']) && $_POST['acaoAval'] === 'acaoAval') { // Sanitização básica $e = isset($_POST['hdnAval']) ? (int) $_POST['hdnAval'] : 0; $pid = isset($_POST['hdnIDP']) ? (int) $_POST['hdnIDP'] : 0; $idc = isset($_SESSION["usr_id_cliente"]) ? (int) $_SESSION["usr_id_cliente"] : 0; // Validação mínima if ($pid <= 0 || $idc <= 0 || $e <= 0) { die('Dados inválidos.'); } // Buscar produto com prepared statement $stmt = $conn->prepare("SELECT quem_avaliou FROM produtos WHERE id = ? LIMIT 1"); $stmt->bind_param("i", $pid); $stmt->execute(); $result = $stmt->get_result(); $dadosProd = $result->fetch_assoc(); if (!$dadosProd) { die('Produto não encontrado.'); } // Processar lista de quem avaliou $arrQuem = []; if (!empty($dadosProd['quem_avaliou'])) { $arrQuem = explode(',', $dadosProd['quem_avaliou']); } // Evitar avaliação duplicada if (!in_array($idc, $arrQuem)) { $arrQuem[] = $idc; } $quemids = implode(',', array_unique($arrQuem)); // Atualizar com segurança $stmt = $conn->prepare(" UPDATE produtos SET estrelas_soma = estrelas_soma + ?, avaliacao_qtd = avaliacao_qtd + 1, quem_avaliou = ? WHERE id = ? "); $stmt->bind_param("isi", $e, $quemids, $pid); $stmt->execute(); // Mensagem $_SESSION['loja_alerta_tem'] = 'sim'; $_SESSION['loja_alerta_tipo'] = 'success'; $_SESSION['loja_alerta_titulo'] = 'AVALIAÇÃO'; $_SESSION['loja_alerta_msg'] = 'Avaliação feita com sucesso!'; // Redirecionamento seguro header("Location: " . $_SERVER['REQUEST_URI']); exit(); } if(mysqli_num_rows($query)==0){ } else{ while ($dados = mysqli_fetch_assoc($query)) { $id_p = $dados['id'] ?? 0; $estrelas = $dados['estrelas_soma'] ?? 0; $avaliacoes = $dados['avaliacao_qtd'] ?? 0; $quemavaliou = $dados['quem_avaliou'] ?? ''; $nome_produto = $dados['produto'] ?? ''; $estoque = (!empty($dados['estoque'])) ? (int)$dados['estoque'] : 0; $valor = (!empty($dados['valor'])) ? (float)$dados['valor'] : 0; $tipo = $dados['tipo'] ?? ''; $operacao = $dados['operacao'] ?? ''; $preco_base = !empty($dados['preco']) ? (float)$dados['preco'] : 0; $por_base = !empty($dados['por']) ? (float)$dados['por'] : 0; $preco = estoque($preco_base, $valor, $tipo, $operacao); $por = estoque($por_base, $valor, $tipo, $operacao); $qtd_parcela = $dados['qtd_parcela'] ?? 0; $valor_parcela = $dados['valor_parcela'] ?? 0; $valor_parcela_juros = $dados['valor_parcela_juros'] ?? 0; $descricao_return = !empty($dados['descricao']) ? base64_decode($dados['descricao']) : ''; $descricao = $descricao_return; $Descricao_seo = $dados['Descricao_seo'] ?? ''; $qtd_visto = $dados['qtd_visto'] ?? 0; $qtd = $dados['qtd'] ?? 0; $qtd_minimo = $dados['qtd_minimo'] ?? 1; $categoria = $dados['categoria'] ?? ''; $id_categoria = $dados['id_categoria'] ?? 0; $categoria_pai = $dados['categoria_pai'] ?? 0; $url_amigavel_categoria = $dados['url_amigavel'] ?? ''; $peso = $dados['peso'] ?? 0; $altura = $dados['altura'] ?? 0; $largura = $dados['largura'] ?? 0; $comprimento = $dados['comprimento'] ?? 0; $frete = $dados['frete'] ?? 0; $imagem = $dados['img'] ?? ''; $img_og = !empty($imagem) ? '/assets/img/produtos/'.$imagem : ''; $titulo_seo = $dados['Titulo_seo']; if ($titulo_seo =='') { $titulo_seo = $nome_produto; } $Descricao_seo = $dados['Descricao_seo']; if ($Descricao_seo=='') { $Descricao_seo = $descricao; } $palavras_seo = $dados['palavrasChave_seo']; $sku = $dados['sku']; $informacoes_adicionais = $dados['informacoes_adicionais']; if (isset($informacoes_adicionais) AND $informacoes_adicionais!=''){ $informacoes_adicionais = base64_decode($informacoes_adicionais); } $link_compra = $dados['link_compra']; $link_youtube = ((isset($dados['link_youtube']) AND $dados['link_youtube']!='')?linkYoutube($dados['link_youtube']):''); mysqli_query($conn, " UPDATE produtos SET qtd_visto = qtd_visto + 1 WHERE id = '$id_p' LIMIT 1 ") or die("Erro ao atualizar visualização"); $dataAtual = date('Y-m-d'); $horaAtual = date('H:i:s'); function getClientIp(): string { if (!empty($_SERVER['HTTP_CF_CONNECTING_IP'])) { return $_SERVER['HTTP_CF_CONNECTING_IP']; } if (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) { $ips = explode(',', $_SERVER['HTTP_X_FORWARDED_FOR']); return trim($ips[0]); } return $_SERVER['REMOTE_ADDR'] ?? '0.0.0.0'; } $dataAtual = date('Y-m-d'); $horaAtual = date('H:i:s'); $origem = $_SERVER['HTTP_REFERER'] ?? ''; $origem = trim($origem) !== '' ? trim($origem) : 'vazio'; $limiteOrigem = 100; $origem = mb_substr($origem, 0, $limiteOrigem); $ip = getClientIp(); $ip = mb_substr($ip, 0, 45); $stmtEstatistica = mysqli_prepare( $conn, "INSERT INTO produtos_estatistica (produto_id, tipo, data, hora, origem, ip, status) VALUES (?, ?, ?, ?, ?, ?, ?)" ); if (!$stmtEstatistica) { die('Erro ao preparar estatística: ' . mysqli_error($conn)); } $tipoEstatistica = 'visto'; $statusEstatistica = 'a'; mysqli_stmt_bind_param( $stmtEstatistica, 'issssss', $id_p, $tipoEstatistica, $dataAtual, $horaAtual, $origem, $ip, $statusEstatistica ); if (!mysqli_stmt_execute($stmtEstatistica)) { die('Erro ao inserir estatística: ' . mysqli_stmt_error($stmtEstatistica)); } mysqli_stmt_close($stmtEstatistica); if ($preco<='0.00' && $por<='0.00') { $preco_produto = 'Consulte-nos'; $exibe_preco = ''.$preco_produto.''; } elseif ($preco > '0.00' && $por <= '0.00') { $preco_produto = $preco; $exibe_preco = 'R$ '.number_format($preco_produto, 2, ',', '.').''; } elseif ($preco <= '0.00' && $por > '0.00') { $preco_produto = $por; $exibe_preco = 'R$ '.number_format($preco_produto, 2, ',', '.').''; } elseif ($preco <= $por) { $preco_produto = $preco; $exibe_preco = 'R$ '.number_format($preco_produto, 2, ',', '.').''; } elseif ($preco > $por) { $exibe_preco = ' R$ '.number_format($preco, 2, ',', '.').'
R$ '.number_format($por, 2, ',', '.').'
'; } else { $preco_produto = $preco; $exibe_preco = 'R$ '.number_format($preco_produto, 2, ',', '.').''; } if (isset($preco) && $preco!='' && $preco!='0.00' && $por!='0.00' && $preco>$por) { $economize = ($preco - $por); $economize_porcentagem = ($preco - $por) / $preco * 100; $economize_porcentagem = round($economize_porcentagem); }else{ $economize_porcentagem = ''; } if (isset($preco) AND $preco>0){ $preco_final = number_format($preco,2,',','.'); } if (isset($por) AND $por>0){ $por_final = number_format($por,2,',','.'); } if ($preco<='0.00' && $por<='0.00') { $preco_produto_carrinho = '0.00'; } elseif($preco>'0.00' && $por<='0.00') { $preco_produto_carrinho = $preco; } elseif($preco<='0.00' && $por>'0.00') { $preco_produto_carrinho = $por; } elseif($preco>$por && $por>'0.00'){ $preco_produto_carrinho = $por; } elseif($preco<$por && $preco>'0.00'){ $preco_produto_carrinho = $preco; } else{ $preco_produto_carrinho = '0.00'; } $img = $imagem; $pagina_referencia = 'produtos'; if ($dados['img']=='') { $imagem = $url_loja.'/assets/img/'.$pagina_referencia.'/sem_imagem.jpg'; } elseif(file_exists('assets/img/'.$pagina_referencia.'/'.$img)){ $imagem = $url_loja.'/assets/img/'.$pagina_referencia.'/'.$img; } else { $imagem = $url_loja."/assets/img/$pagina_referencia/sem_imagem.jpg"; } if ($dados['peso']=='' || $dados['peso']=='0' || $dados['peso']=='0.00'){$vb_catalogo = 'sim';} if ($dados['altura']=='' || $dados['altura']=='0' || $dados['altura']=='0.00'){$vb_catalogo = 'sim';} if ($dados['largura']=='' || $dados['largura']=='0' || $dados['largura']=='0.00'){$vb_catalogo = 'sim';} if ($dados['comprimento']=='' || $dados['comprimento']=='0' || $dados['comprimento']=='0.00'){$vb_catalogo = 'sim';} if (!isset($sku) || $sku==''){ $sku = $id; } } } $query = mysqli_query($conn, "SELECT email, celular, responsavel_nome, sexo, data_nascimento, cep, cidade, estado FROM clientes WHERE id='".$_SESSION['usr_id_cliente']."' AND status='a' LIMIT 1"); if (mysqli_num_rows($query)>0){ $dados = mysqli_fetch_assoc($query); } $email = ((isset($dados['email']) AND $dados['email']!='')?hash('sha256', $dados['email']):''); $celular = ((isset($dados['celular']) AND $dados['celular']!='')?hash('sha256', clean($dados['celular'])):''); if (isset($dados['responsavel_nome']) AND $dados['responsavel_nome']!=''){ $partes_nome = explode(" ", $dados['responsavel_nome']); $nome = $partes_nome[0]; $sobrenome = implode(" ", array_slice($partes_nome, 1)); } $nome = ((isset($nome) AND $nome!='')?hash('sha256', $nome):''); $sobrenome = ((isset($sobrenome) AND $sobrenome!='')?hash('sha256', $sobrenome):''); $sexo = ((isset($dados['sexo']) AND $dados['sexo']!='')?hash('sha256', $dados['sexo']):''); $data_nascimento = ((isset($dados['data_nascimento']) AND $dados['data_nascimento']!='' AND $data_nascimento!='0000-00-00')?hash('sha256', $dados['data_nascimento']):''); $cep = ((isset($dados['cep']) AND $dados['cep']!='')?hash('sha256', clean($dados['cep'])):''); $cidade = ((isset($dados['cidade']) AND $dados['cidade']!='')?hash('sha256', $dados['cidade']):''); $estado = ((isset($dados['estado']) AND $dados['estado']!='')?hash('sha256', $dados['estado']):''); $userAgent = $_SERVER['HTTP_USER_AGENT'] ?? 'unknown'; $pageviewevent = [ "event_name" => "PageView", "event_time" => time(), "user_data" => [ 'client_ip_address' => $_SERVER['REMOTE_ADDR'] ?? '0.0.0.0', 'client_user_agent' => $userAgent, 'em' => $email, 'ph' => $celular, 'fn' => $nome, 'ln' => $sobrenome, 'ge' => $sexo, 'db' => $data_nascimento, 'zp' => $cep, 'ct' => $cidade, 'st' => $estado ], 'event_source_url' => getEventSourceUrl(), "opt_out" => false, "event_id" => generateUniqueEventId(), "action_source" => "website", "data_processing_options" => [], "data_processing_options_country" => 0, "data_processing_options_state" => 0, ]; $events = [$pageviewevent]; $data = [ 'data' => $events, 'test_event_code' => TEST_EVENT_CODE ]; $url = 'https://graph.facebook.com/v16.0/'.PIXEL_ID.'/events?access_token='.ACCESS_TOKEN; $post = json_encode($data); $ch = curl_init($url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_POST, true); curl_setopt($ch, CURLOPT_POSTFIELDS, $post); curl_setopt($ch, CURLOPT_HTTPHEADER, ['Content-Type: application/json']); $response = curl_exec($ch); $categorias_pai = array(); function DescobrePai($categorias_pai, $conn, $id, $url_loja){ $id = (int) $id; $query = mysqli_query($conn, "SELECT id, categoria, url_amigavel, categoria_pai FROM categorias WHERE id='{$id}' AND status='a' LIMIT 1"); if (!$query) { return $categorias_pai; } $sql_cat = mysqli_fetch_assoc($query); if (!$sql_cat) { return $categorias_pai; } $categoria = ucwords((string) ($sql_cat['categoria'] ?? '')); $url_amigavel = (string) ($sql_cat['url_amigavel'] ?? ''); $categoria_pai = (int) ($sql_cat['categoria_pai'] ?? 0); $categorias_pai[] = '
  • '.$categoria.'
  • '; if ($categoria_pai > 0){ return DescobrePai($categorias_pai, $conn, $categoria_pai, $url_loja); } return array_reverse($categorias_pai); } $ratingValue = rand(80, 100); $bestRating = 100; $ratingCount = rand(2, 9999); $ratingValueReview = rand(3, 5); $bestRatingReview = 5; if (isset($titulo_seo) AND $titulo_seo!=''){ $titulo_site = $titulo_seo; } if (isset($Descricao_seo) AND $Descricao_seo!=''){ $descricao_site = mb_strimwidth($Descricao_seo, 0, 155, "..."); } if (isset($palavras_seo) AND $palavras_seo!=''){ $meta_site = $palavras_seo; } if (!isset($titulo_site) || $titulo_site==''){$titulo_site = '';} if (!isset($descricao_site) || $descricao_site==''){$descricao_site = '';} if (!isset($meta_site) || $meta_site==''){$meta_site= '';} ?>
    - %
    Sob Encomenda