paginas publicas restantes
This commit is contained in:
@@ -0,0 +1,83 @@
|
||||
<?php
|
||||
include("db.php");
|
||||
|
||||
$nombre_archivo = "productos.csv";
|
||||
$archivo = fopen($nombre_archivo, "r");
|
||||
|
||||
if ($archivo !== FALSE) {
|
||||
|
||||
fgetcsv($archivo, 1000, ";");
|
||||
|
||||
$importados = 0;
|
||||
$errores = 0;
|
||||
$fila = 1;
|
||||
|
||||
while (($datos = fgetcsv($archivo, 1000, ";")) !== FALSE) {
|
||||
$fila++;
|
||||
|
||||
//CAPTURA DE DATOS
|
||||
$id = trim($datos[0]);
|
||||
$nombre = trim($datos[1]);
|
||||
$precio = trim($datos[2]);
|
||||
$categoria = trim($datos[3]);
|
||||
$imagen = trim($datos[4]);
|
||||
$activo = isset($datos[5]) ? trim($datos[5]) : 1;
|
||||
$stock = (isset($datos[6]) && trim($datos[6]) !== '') ? trim($datos[6]) : 0;
|
||||
|
||||
// --- VALIDACIONES DE DATOS ---
|
||||
|
||||
if (empty($nombre) || empty($categoria)) {
|
||||
echo "Error en fila $fila: El nombre o la categoría están vacíos.<br>";
|
||||
$errores++;
|
||||
continue;
|
||||
}
|
||||
|
||||
if (!is_numeric($precio) || (float)$precio <= 0) {
|
||||
echo "Error en fila $fila: El precio '$precio' no es un número válido.<br>";
|
||||
$errores++;
|
||||
continue;
|
||||
}
|
||||
|
||||
if (!is_numeric($stock) || (int)$stock < 0) {
|
||||
echo "Error en fila $fila: El stock '$stock' debe ser un número entero mayor o igual a cero.<br>";
|
||||
$errores++;
|
||||
continue;
|
||||
}
|
||||
$stock = (int)$stock;
|
||||
|
||||
$stmt = $conexion->prepare("
|
||||
INSERT INTO productos (id, nombre, precio, categoria, imagen, activo, stock)
|
||||
VALUES (?, ?, ?, ?, ?, ?, ?)
|
||||
ON DUPLICATE KEY UPDATE
|
||||
nombre = VALUES(nombre),
|
||||
precio = VALUES(precio),
|
||||
categoria = VALUES(categoria),
|
||||
imagen = VALUES(imagen),
|
||||
activo = VALUES(activo),
|
||||
stock = VALUES(stock)
|
||||
");
|
||||
|
||||
$stmt->bind_param("isdssii", $id, $nombre, $precio, $categoria, $imagen, $activo, $stock);
|
||||
|
||||
if ($stmt->execute()) {
|
||||
$importados++;
|
||||
} else {
|
||||
echo "Error de BD en fila $fila: " . $conexion->error . "<br>";
|
||||
$errores++;
|
||||
}
|
||||
}
|
||||
|
||||
fclose($archivo);
|
||||
|
||||
echo "<hr>";
|
||||
echo "<h3>Resumen del proceso:</h3>";
|
||||
echo "Productos procesados (Nuevos o Actualizados): $importados <br>";
|
||||
if ($errores > 0) {
|
||||
echo "Filas con errores: $errores <br>";
|
||||
}
|
||||
echo "<br><a href='productos.php'>Ver catálogo en la web</a>";
|
||||
|
||||
} else {
|
||||
echo "No se pudo encontrar el archivo $nombre_archivo";
|
||||
}
|
||||
?>
|
||||
@@ -0,0 +1,234 @@
|
||||
<?php
|
||||
session_start();
|
||||
|
||||
if (isset($_SESSION['rol']) && $_SESSION['rol'] === 'admin') {
|
||||
header("Location: admin/dashboard.php");
|
||||
exit();
|
||||
}
|
||||
?>
|
||||
<!DOCTYPE html>
|
||||
<html lang="es">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>La Pecosa - Rotisería</title>
|
||||
<link rel="stylesheet" href="diseño.css">
|
||||
<link rel="stylesheet" href="css/all.min.css">
|
||||
<link rel="icon" href="imagenes/favicon.png" type="image/png">
|
||||
<meta name="theme-color" content="#e02828">
|
||||
<meta property="og:title" content="La Pecosa - Rotisería">
|
||||
<meta property="og:image" content="imagenes/logo-pecosa.png">
|
||||
</head>
|
||||
|
||||
<body>
|
||||
|
||||
<header>
|
||||
<nav class="navbar">
|
||||
<div class="info-contacto">
|
||||
<a href="https://www.google.com/maps/search/?api=1&query=México+571+Paraná" target="_blank" style="color:white; text-decoration:none;">
|
||||
<i class="fa-solid fa-location-dot"></i> México 571
|
||||
</a>
|
||||
<a href="tel:+543434231400" style="color:white; text-decoration:none;">
|
||||
<i class="fa-solid fa-phone"></i> 0343 423-1400
|
||||
</a>
|
||||
</div>
|
||||
|
||||
<ul class="nav-links">
|
||||
<?php if(isset($_SESSION['usuario'])): ?>
|
||||
<li>
|
||||
<span class="user-name-nav">
|
||||
<i class="fa-solid fa-user"></i> <?php echo htmlspecialchars($_SESSION['usuario']); ?>
|
||||
</span>
|
||||
</li>
|
||||
<li><a href="logout.php">SALIR</a></li>
|
||||
<?php else: ?>
|
||||
<li><a href="login.php">LOGIN</a></li>
|
||||
<?php endif; ?>
|
||||
|
||||
<li class="dropdown">
|
||||
<a href="javascript:void(0);" class="dropbtn" onclick="toggleDropdown(event)">
|
||||
CATEGORÍAS <i class="fa-solid fa-chevron-down" style="font-size:0.75rem; margin-left:4px;"></i>
|
||||
</a>
|
||||
<div class="dropdown-content" id="myDropdown">
|
||||
<a href="productos.php?cat=Todos">Todos los productos</a>
|
||||
<a href="productos.php?cat=Carne">Carne</a>
|
||||
<a href="productos.php?cat=Verdura">Verdura</a>
|
||||
<a href="productos.php?cat=Vinoteca">Vinoteca</a>
|
||||
<a href="productos.php?cat=Bebidas">Bebidas</a>
|
||||
<a href="productos.php?cat=Lacteos">Lácteos</a>
|
||||
<a href="productos.php?cat=Panaderia">Panadería</a>
|
||||
<a href="productos.php?cat=Limpieza">Limpieza</a>
|
||||
<a href="productos.php?cat=Almacen">Almacén</a>
|
||||
</div>
|
||||
</li>
|
||||
|
||||
<li><a href="#nosotros">NOSOTROS</a></li>
|
||||
<li><a href="ayuda.php">AYUDA</a></li>
|
||||
<li><a href="#" onclick="toggleMapa(); return false;">UBICACIÓN</a></li>
|
||||
</ul>
|
||||
</nav>
|
||||
</header>
|
||||
|
||||
<main>
|
||||
|
||||
<?php if (isset($_GET['exito']) && $_GET['exito'] == 1): ?>
|
||||
<div style="background:#f0fdf4; color:#166534; border:1px solid #bbf7d0; padding:14px 20px; margin:20px 5%; border-radius:10px; font-weight:600; font-size:0.9rem; display:flex; align-items:center; gap:8px;">
|
||||
<i class="fa-solid fa-circle-check"></i> ¡Pedido realizado con éxito! Ya estamos preparándolo.
|
||||
</div>
|
||||
<?php endif; ?>
|
||||
|
||||
<!-- HERO -->
|
||||
<section class="hero"></section>
|
||||
|
||||
<!-- SLIDER -->
|
||||
<div class="product-banner-slider">
|
||||
<div class="product-slider-wrapper" id="slider">
|
||||
<div class="product-slide"><img src="imagenes/imagen1.jpg" alt="Producto"></div>
|
||||
<div class="product-slide"><img src="imagenes/imagen2.jpg" alt="Producto"></div>
|
||||
<div class="product-slide"><img src="imagenes/imagen3.jpg" alt="Producto"></div>
|
||||
<div class="product-slide"><img src="imagenes/imagen19.jpg" alt="Producto"></div>
|
||||
<div class="product-slide"><img src="imagenes/imagen25.jpg" alt="Producto"></div>
|
||||
<div class="product-slide"><img src="imagenes/imagen23.jpg" alt="Producto"></div>
|
||||
<div class="product-slide"><img src="imagenes/imagen55.jpg" alt="Producto"></div>
|
||||
<div class="product-slide"><img src="imagenes/imagen56.jpg" alt="Producto"></div>
|
||||
<div class="product-slide"><img src="imagenes/imagen57.jpg" alt="Producto"></div>
|
||||
<div class="product-slide"><img src="imagenes/imagen54.jpg" alt="Producto"></div>
|
||||
<div class="product-slide"><img src="imagenes/imagen53.jpg" alt="Producto"></div>
|
||||
<div class="product-slide"><img src="imagenes/imagen52.jpg" alt="Producto"></div>
|
||||
<div class="product-slide"><img src="imagenes/imagen51.jpg" alt="Producto"></div>
|
||||
<div class="product-slide"><img src="imagenes/imagen50.jpg" alt="Producto"></div>
|
||||
<div class="product-slide"><img src="imagenes/imagen49.jpg" alt="Producto"></div>
|
||||
<div class="product-slide"><img src="imagenes/imagen24.jpg" alt="Producto"></div>
|
||||
<div class="product-slide"><img src="imagenes/imagen25.jpg" alt="Producto"></div>
|
||||
<div class="product-slide"><img src="imagenes/imagen10.jpg" alt="Producto"></div>
|
||||
<div class="product-slide"><img src="imagenes/imagen8.jpg" alt="Producto"></div>
|
||||
<div class="product-slide"><img src="imagenes/imagen30.jpg" alt="Producto"></div>
|
||||
<div class="product-slide"><img src="imagenes/imagen14.jpg" alt="Producto"></div>
|
||||
<div class="product-slide"><img src="imagenes/imagen9.jpg" alt="Producto"></div>
|
||||
<div class="product-slide"><img src="imagenes/imagen47.jpg" alt="Producto"></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- NOSOTROS + HORARIOS -->
|
||||
<section class="seccion-info">
|
||||
<div id="nosotros" class="clean-card">
|
||||
<div class="clean-card-icon">
|
||||
<i class="fa-solid fa-store"></i>
|
||||
</div>
|
||||
<h2>Nosotros</h2>
|
||||
<div class="clean-card-body">
|
||||
<p>Nació como una pequeña verdulería de barrio. Con el pasar de los años, en <span class="highlight-red">1971</span> fue fundada y bautizada como</p>
|
||||
<p style="font-size:1.15rem; font-weight:700; color:#e02828;">"La Pecosa"</p>
|
||||
<p>Convirtiéndose en una rotisería familiar, con recetas caseras, con el objetivo de llevar comida rica y abundante a cada mesa.</p>
|
||||
<p style="margin-top:18px;"><span class="highlight-red">Dueños:</span> Edgardo y Daniel Picarella.</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="horarios" class="clean-card">
|
||||
<div class="clean-card-icon">
|
||||
<i class="fa-solid fa-clock"></i>
|
||||
</div>
|
||||
<h2>Horarios</h2>
|
||||
<div class="clean-card-body">
|
||||
<p><span class="highlight-red">Lunes a Sábado</span></p>
|
||||
<p style="font-size:1.1rem; font-weight:600; color:#333;">08:30 – 13:30 · 17:30 – 21:00</p>
|
||||
<p style="margin-top:18px;"><span class="highlight-red">Domingos</span></p>
|
||||
<p style="font-size:1.1rem; font-weight:600; color:#333;">08:30 – 13:30</p>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<!-- MODAL MAPA -->
|
||||
<div id="modal-mapa" class="modal">
|
||||
<div class="modal-content">
|
||||
<span onclick="toggleMapa()" style="position:absolute; top:14px; right:18px; font-size:22px; cursor:pointer; color:#aaa; line-height:1;">×</span>
|
||||
<h2 style="margin-bottom:20px; color:#222; font-size:1.3rem;">Nuestra ubicación</h2>
|
||||
<div style="border-radius:12px; overflow:hidden; margin-bottom:18px; border:1px solid #eee;">
|
||||
<iframe
|
||||
src="https://www.google.com/maps/embed?pb=!1m18!1m12!1m3!1d3392.235941865985!2d-60.5255476!3d-31.7367851!2m3!1f0!2f0!3f0!3m2!1i1024!2i768!4f13.1!3m3!1m2!1s0x95b45262fbc9ca09%3A0x61de87bb770beff1!2sM%C3%A9xico%20571%2C%20E3100%20Paran%C3%A1%2C%20Entre%20R%C3%ADos!5e0!3m2!1ses-419!2sar!4v1710795000000!5m2!1ses-419!2sar"
|
||||
width="100%" height="320" style="border:0;" allowfullscreen="" loading="lazy">
|
||||
</iframe>
|
||||
</div>
|
||||
<p style="font-size:14px; color:#666;">
|
||||
<i class="fa-solid fa-location-dot" style="color:#e02828;"></i> México 571, Paraná.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- MODAL HORARIOS VISUAL (nuevo) -->
|
||||
<div id="modal-horarios-visual" class="modal">
|
||||
<div class="modal-content" style="max-width:400px; text-align:center;">
|
||||
<span onclick="cerrarModal('modal-horarios-visual')" style="position:absolute; top:14px; right:18px; font-size:22px; cursor:pointer; color:#aaa; line-height:1;">×</span>
|
||||
<h2 style="margin-bottom:16px; color:#222; font-size:1.3rem;">Nuestros Horarios</h2>
|
||||
<img src="imagenes/im4.jpg" alt="Horarios" style="width:100%; border-radius:10px; margin-bottom:14px;">
|
||||
<p style="font-size:14px; color:#666;">¡Te esperamos en México 571!</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- MODAL NOVEDADES (nuevo) -->
|
||||
<div id="modal-novedades" class="modal">
|
||||
<div class="modal-content" style="max-width:400px; text-align:center;">
|
||||
<span onclick="cerrarModal('modal-novedades')" style="position:absolute; top:14px; right:18px; font-size:22px; cursor:pointer; color:#aaa; line-height:1;">×</span>
|
||||
<h2 style="margin-bottom:16px; color:#222; font-size:1.3rem;">🍎 Novedades</h2>
|
||||
<img src="imagenes/im1.jpg" alt="Novedades de la semana" style="width:100%; border-radius:10px; margin-bottom:14px;">
|
||||
<p style="font-size:14px; color:#666;">¡No te pierdas nuestras promociones y platos especiales de esta semana!</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</main>
|
||||
|
||||
<!-- BARRA INFERIOR -->
|
||||
<footer class="bottom-bar">
|
||||
<div class="footer-text">© LA PECOSA — Paraná, Entre Ríos.</div>
|
||||
<a href="carrito.php" class="btn-red">
|
||||
<i class="fa-solid fa-utensils"></i>
|
||||
<span>PEDIDO</span>
|
||||
<span id="cart-count">
|
||||
<?php echo isset($_SESSION['carrito']) ? array_sum($_SESSION['carrito']) : 0; ?>
|
||||
</span>
|
||||
</a>
|
||||
</footer>
|
||||
|
||||
<!-- CHATBOT -->
|
||||
<div id="chat-circle" onclick="toggleChat()">
|
||||
<i class="fa-solid fa-comments"></i>
|
||||
</div>
|
||||
|
||||
<div class="chat-box" id="chat-box">
|
||||
<div class="chat-box-header">
|
||||
<span>La Pecosa Asistente Virtual 🍎</span>
|
||||
<span onclick="toggleChat()" style="cursor:pointer; font-size:20px; line-height:1;">×</span>
|
||||
</div>
|
||||
<div class="chat-box-body" id="chat-logs">
|
||||
<div class="chat-msg">
|
||||
<div class="cm-msg-text">¡Hola! Soy el asistente de La Pecosa. ¿En qué puedo ayudarte?</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Input de texto libre (mejora de la compañera) -->
|
||||
<div class="chat-input-wrapper">
|
||||
<input type="text" id="chat-input-text" placeholder="Escribí tu consulta..." autocomplete="off">
|
||||
<button onclick="enviarMensaje()" class="chat-send-btn" aria-label="Enviar">
|
||||
<i class="fa-solid fa-paper-plane"></i>
|
||||
</button>
|
||||
</div>
|
||||
<!--<div class="chat-hints">
|
||||
horarios · ubicación · nosotros · pagos · teléfono · promo · novedades · redes
|
||||
</div>-->
|
||||
</div>
|
||||
|
||||
<!-- Alerta promo flotante -->
|
||||
<div id="alerta-flotante-promo">
|
||||
<button onclick="cerrarAlertaFlotante()" style="position:absolute;top:6px;right:10px;background:none;border:none;font-size:1rem;cursor:pointer;color:#aaa;">×</button>
|
||||
<div style="display:flex; gap:10px; align-items:flex-start; margin-top:4px;">
|
||||
<span style="font-size:1.4rem;">📢</span>
|
||||
<div>
|
||||
<h4 style="margin:0 0 4px 0; color:#e02828; font-size:0.9rem; font-weight:800;">¡MENÚ DEL DÍA!</h4>
|
||||
<p id="texto-alerta-flotante" style="margin:0; font-size:0.875rem; color:#333; line-height:1.4;"></p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<script src="script.js"></script>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,62 @@
|
||||
<?php include("db.php"); ?>
|
||||
<!DOCTYPE html>
|
||||
<html lang="es">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<title>Privacidad - La Pecosa</title>
|
||||
<link rel="stylesheet" href="css/all.min.css">
|
||||
<style>
|
||||
* { margin: 0; padding: 0; box-sizing: border-box; }
|
||||
body {
|
||||
font-family: 'Segoe UI', sans-serif;
|
||||
line-height: 1.6;
|
||||
background-color: #fffef8;
|
||||
color: #333;
|
||||
padding: 40px 20px;
|
||||
}
|
||||
.container {
|
||||
max-width: 800px;
|
||||
margin: 0 auto;
|
||||
background: white;
|
||||
padding: 40px;
|
||||
border-radius: 20px;
|
||||
box-shadow: 0 10px 30px rgba(0,0,0,0.02);
|
||||
}
|
||||
h1 { color: #e02828; margin-bottom: 20px; text-transform: uppercase; letter-spacing: 1px; }
|
||||
h2 { color: #444; margin: 25px 0 10px; font-size: 1.2rem; }
|
||||
p { margin-bottom: 15px; text-align: justify; }
|
||||
.icon-box { color: #e02828; margin-right: 10px; }
|
||||
.back-link {
|
||||
display: inline-block;
|
||||
margin-top: 30px;
|
||||
text-decoration: none;
|
||||
color: #e02828;
|
||||
font-weight: 700;
|
||||
text-transform: uppercase;
|
||||
font-size: 0.9rem;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<div class="container">
|
||||
<h1><i class="fa-solid fa-shield-halved icon-box"></i>Política de Privacidad</h1>
|
||||
<p>En La Pecosa nos tomamos muy en serio la seguridad de tus datos. Esta política explica cómo tratamos tu información.</p>
|
||||
|
||||
<h2>1. Datos que recolectamos</h2>
|
||||
<p>Al registrarte, solicitamos tu nombre, correo electrónico y contraseña. Estos datos son protegidos mediante técnicas de encriptación (hashing) para asegurar que nadie más pueda acceder a ellos.</p>
|
||||
|
||||
<h2>2. Uso de la ubicación</h2>
|
||||
<p>Si optás por utilizar la función de envío a domicilio, el sistema podrá solicitar acceso a tu ubicación. Esta información se utiliza únicamente para facilitar la entrega de tu pedido en la ciudad de Paraná y no será almacenada de forma permanente ni compartida con terceros ajenos a la logística de La Pecosa.</p>
|
||||
|
||||
<h2>3. Consentimiento</h2>
|
||||
<p>Al tildar la casilla de aceptación en el registro, otorgás tu consentimiento expreso para que tratemos estos datos bajo los lineamientos de la Ley 25.326 de Protección de Datos Personales de la República Argentina.</p>
|
||||
|
||||
<h2>4. Tus derechos</h2>
|
||||
<p>Podés solicitar la eliminación o corrección de tus datos en cualquier momento contactándonos a través de nuestros canales oficiales.</p>
|
||||
|
||||
<a href="javascript:history.back()" class="back-link"><i class="fa-solid fa-arrow-left"></i> Volver al registro</a>
|
||||
</div>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,15 @@
|
||||
id;nombre;precio;categoria;imagen;activo;stock
|
||||
1;Asado de Novillo;8500;Carne;img/asado.jpg;1;10
|
||||
2;Vacio Especial;9200;Carne;img/vacio.jpg;0;10
|
||||
3;Pechuga de Pollo x kg;4500;Carne;img/pollo.jpg;1;10
|
||||
4;Tomate Redondo x kg;1200;Verdura;img/tomate.jpg;1;100
|
||||
5;Lechuga Mantecosa;1500;Verdura;img/lechuga.jpg;1;30
|
||||
6;Papa Blanca x kg;800;Verdura;img/papa.jpg;1;100
|
||||
7;Leche Entera 1L;1100;Lacteos;img/leche.jpg;1;30
|
||||
8;Yogur con Cereales;950;Lacteos;img/yogur.jpg;1;2
|
||||
9;Queso Cremoso x kg;6800;Lacteos;img/queso.jpg;1;10
|
||||
10;Malbec;5400;Vinoteca;img/vino1.jpg;1;10
|
||||
11;Fernet 750ml;8200;Bebidas;img/fernet.jpg;0;10
|
||||
12;Pan x kg;1800;Panaderia;img/pan.jpg;1;20
|
||||
13;Detergente 500ml;1200;Limpieza;img/detergente.jpg;1;30
|
||||
14;Arroz Largo Fino;1100;Almacen;img/arroz.jpg;1;30
|
||||
|
Reference in New Issue
Block a user