ob_start();
require_once "includes/config.php";
require_once "includes/funcoes.php";
$onde = 'detalhes';
$e1="";
$e2="";
$e3="";
$e4="";
$e5="";
if (!isset($_GET['url_amigavel'])){$_GET['url_amigavel'] = '';}
if (!isset($_GET['id'])){$_GET['id'] = '';}
$url_amigavel = $_GET['url_amigavel'];
$id= (int)$_GET['id'];
if($id!='' AND $id>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= '';}
?>
if (isset($_SESSION['tag_manager_body']) AND $_SESSION['tag_manager_body']!='') {
echo $_SESSION['tag_manager_body'];
}
?>
- Produtos
0){
foreach(DescobrePai($categorias_pai, $conn, $categoria_pai, $url_loja) as $item){
echo $item;
}
}?>
- %}?>
Sob Encomenda