T.ME/BIBIL_0DAY
CasperSecurity


Server : Apache/2
System : Linux server-15-235-50-60 5.15.0-164-generic #174-Ubuntu SMP Fri Nov 14 20:25:16 UTC 2025 x86_64
User : gositeme ( 1004)
PHP Version : 8.2.29
Disable Function : exec,system,passthru,shell_exec,proc_close,proc_open,dl,popen,show_source,posix_kill,posix_mkfifo,posix_getpwuid,posix_setpgid,posix_setsid,posix_setuid,posix_setgid,posix_seteuid,posix_setegid,posix_uname
Directory :  /home/gositeme/domains/gositeme.com/public_html/demo/robert/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : /home/gositeme/domains/gositeme.com/public_html/demo/robert/menu.html
<!DOCTYPE html>
<html lang="fr">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Menu - Restaurant Zellers</title>
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.0.0/css/all.min.css">
    <link rel="stylesheet" href="css/styles.css">
    <link href="https://fonts.googleapis.com/css2?family=Playfair+Display:wght@400;700&family=Poppins:wght@300;400;500;600&display=swap" rel="stylesheet">
    <style>
        :root {
            --primary-color: #e63946;
            --secondary-color: #ffffff;
            --accent-color: #ff4d4d;
            --text-color: #333333;
            --light-text: #666666;
            --background: #ffffff;
            --light-background: #ffffff;
            --border-radius: 8px;
            --box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
            --transition: all 0.3s ease;
        }

        .menu-hero {
            position: relative;
            height: 60vh;
            min-height: 500px;
            background: linear-gradient(rgba(0, 0, 0, 0.3), rgba(0, 0, 0, 0.3)), url('images/menu/hero-bg.jpg');
            background-size: cover;
            background-position: center;
            display: flex;
            align-items: center;
            justify-content: center;
            text-align: center;
            color: white;
            margin-bottom: 0;
            overflow: hidden;
        }

        .hero-slideshow {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
        }

        .hero-slide {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background-size: cover;
            background-position: center;
            opacity: 0;
            transition: opacity 1s ease-in-out;
        }

        .hero-slide.active {
            opacity: 1;
        }

        .hero-content {
            position: relative;
            z-index: 2;
            padding: 0 20px;
        }

        .hero-title {
            font-size: 4rem;
            margin-bottom: 20px;
            font-family: 'Playfair Display', serif;
            text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.5);
            animation: fadeInUp 1s ease;
        }

        .title-main {
            display: block;
            margin-bottom: 10px;
        }

        .title-sub {
            display: block;
            font-size: 1.5rem;
            font-weight: 300;
            text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.5);
        }

        .menu-hero-content {
            max-width: 800px;
            padding: 0 20px;
        }

        .menu-hero h1 {
            font-size: 4rem;
            margin-bottom: 20px;
            font-family: 'Playfair Display', serif;
            text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.5);
            animation: fadeInUp 1s ease;
        }

        .menu-hero p {
            font-size: 1.4rem;
            margin-bottom: 30px;
            text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.5);
            animation: fadeInUp 1s ease 0.2s;
            opacity: 0;
            animation-fill-mode: forwards;
        }

        .menu-filters {
            background: var(--secondary-color);
            padding: 30px 0;
            position: sticky;
            top: 0;
            z-index: 100;
            box-shadow: 0 2px 15px rgba(230, 57, 70, 0.1);
            border-bottom: 1px solid rgba(230, 57, 70, 0.1);
        }

        .search-box {
            max-width: 600px;
            margin: 0 auto 25px;
            position: relative;
        }

        .search-box input {
            width: 100%;
            padding: 15px 25px;
            border: 2px solid rgba(230, 57, 70, 0.2);
            border-radius: 50px;
            font-size: 16px;
            background: var(--secondary-color);
            color: var(--text-color);
            transition: var(--transition);
        }

        .search-box input:focus {
            border-color: var(--primary-color);
            outline: none;
            box-shadow: 0 0 0 3px rgba(230, 57, 70, 0.1);
        }

        .search-box input::placeholder {
            color: var(--light-text);
        }

        .search-box button {
            position: absolute;
            right: 15px;
            top: 50%;
            transform: translateY(-50%);
            background: none;
            border: none;
            color: var(--primary-color);
            font-size: 18px;
            cursor: pointer;
        }

        .filter-buttons {
            display: flex;
            flex-wrap: wrap;
            justify-content: center;
            gap: 15px;
            margin-bottom: 20px;
        }

        .filter-btn {
            padding: 12px 30px;
            border: 2px solid var(--primary-color);
            border-radius: 50px;
            background: var(--secondary-color);
            color: var(--primary-color);
            font-weight: 500;
            cursor: pointer;
            transition: var(--transition);
            text-transform: uppercase;
            letter-spacing: 1px;
            font-size: 0.9rem;
        }

        .filter-btn:hover, .filter-btn.active {
            background: var(--primary-color);
            color: var(--secondary-color);
            transform: translateY(-2px);
        }

        .dietary-filters {
            display: flex;
            justify-content: center;
            gap: 15px;
        }

        .dietary-btn {
            padding: 8px 20px;
            border: 1px solid rgba(230, 57, 70, 0.2);
            border-radius: 50px;
            background: var(--secondary-color);
            color: var(--text-color);
            font-size: 14px;
            cursor: pointer;
            transition: var(--transition);
        }

        .dietary-btn:hover, .dietary-btn.active {
            background: var(--primary-color);
            color: var(--secondary-color);
            border-color: var(--primary-color);
        }

        .menu-categories {
            padding: 80px 0;
            background: var(--light-background);
        }

        .menu-category {
            margin-bottom: 80px;
        }

        .menu-category h2 {
            text-align: center;
            font-size: 2.5rem;
            margin-bottom: 50px;
            font-family: 'Playfair Display', serif;
            color: var(--text-color);
            position: relative;
            padding-bottom: 20px;
        }

        .menu-category h2::after {
            content: '';
            position: absolute;
            bottom: 0;
            left: 50%;
            transform: translateX(-50%);
            width: 100px;
            height: 3px;
            background: var(--primary-color);
        }

        .menu-grid {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(350px, 1fr));
            gap: 40px;
            padding: 0 20px;
        }

        .menu-item {
            background: var(--secondary-color);
            border: 1px solid rgba(230, 57, 70, 0.1);
            box-shadow: 0 2px 4px rgba(230, 57, 70, 0.05);
            border-radius: 15px;
            overflow: hidden;
            transition: var(--transition);
        }

        .menu-item:hover {
            box-shadow: 0 8px 15px rgba(230, 57, 70, 0.1);
        }

        .menu-item-image {
            width: 100%;
            height: 250px;
            object-fit: cover;
            transition: var(--transition);
        }

        .menu-item:hover .menu-item-image {
            transform: scale(1.05);
        }

        .menu-item-content {
            padding: 25px;
        }

        .menu-item-header {
            display: flex;
            justify-content: space-between;
            align-items: center;
            margin-bottom: 15px;
        }

        .menu-item-title {
            font-size: 1.4rem;
            font-weight: 600;
            color: var(--primary-color);
            font-family: 'Playfair Display', serif;
        }

        .menu-item-price {
            font-size: 1.4rem;
            font-weight: 700;
            color: var(--primary-color);
        }

        .menu-item-description {
            color: var(--text-color);
            margin-bottom: 20px;
            font-size: 1rem;
            line-height: 1.6;
        }

        .menu-item-tags {
            display: flex;
            gap: 10px;
            margin-bottom: 15px;
        }

        .menu-tag {
            padding: 5px 15px;
            border-radius: 50px;
            font-size: 0.9rem;
            font-weight: 500;
        }

        .tag-vegetarian {
            background: #e8f5e9;
            color: #2e7d32;
        }

        .tag-vegan {
            background: #f1f8e9;
            color: #558b2f;
        }

        .tag-spicy {
            background: #ffebee;
            color: #c62828;
        }

        .menu-item-rating {
            display: flex;
            align-items: center;
            gap: 10px;
        }

        .stars {
            color: var(--primary-color);
        }

        .review-count {
            color: var(--text-color);
            font-size: 0.9rem;
        }

        .add-to-cart-btn {
            background: var(--primary-color);
            color: var(--secondary-color);
        }

        .add-to-cart-btn:hover {
            background: var(--accent-color);
        }

        @keyframes fadeInUp {
            from {
                opacity: 0;
                transform: translateY(20px);
            }
            to {
                opacity: 1;
                transform: translateY(0);
            }
        }

        @media (max-width: 768px) {
            .menu-hero h1 {
                font-size: 2.5rem;
            }
            
            .menu-grid {
                grid-template-columns: 1fr;
            }
            
            .filter-buttons {
                gap: 10px;
            }
            
            .filter-btn {
                padding: 8px 15px;
                font-size: 14px;
            }
        }
    </style>
</head>
<body>
    <!-- Header -->
    <header class="header">
        <div class="header-container">
            <div class="logo">
                <a href="index.html">
                    <img src="images/logo.png" alt="Restaurant Zellers Logo">
                </a>
            </div>
            <nav class="main-nav">
                <ul>
                    <li><a href="index.html" data-lang="nav-home">Accueil</a></li>
                    <li><a href="menu.html" class="active" data-lang="nav-menu">Menu</a></li>
                    <li><a href="locations.html" data-lang="nav-locations">Emplacements</a></li>
                </ul>
            </nav>
            <div class="header-actions">
                <button class="menu-toggle">
                    <i class="fas fa-bars"></i>
                </button>
            </div>
            <button class="lang-toggle" id="langToggle">EN</button>
        </div>
    </header>

    <!-- Hero Section with Slideshow -->
    <section class="hero menu-hero">
        <div class="hero-slideshow">
            <!-- Slide 1: Dim Sum -->
            <div class="hero-slide active" style="background-image: url('https://images.unsplash.com/photo-1563245372-f21724e3856d?q=80&w=2070');">
                <div class="hero-content">
                    <h1 class="hero-title">
                        <span class="title-main" data-lang="menu-title-main-1">Dim Sum Artisanal</span>
                        <span class="title-sub" data-lang="menu-subtitle-1">Dumplings et bouchées vapeur faits maison</span>
                    </h1>
                </div>
            </div>

            <!-- Slide 2: Noodles -->
            <div class="hero-slide" style="background-image: url('https://images.unsplash.com/photo-1585032226651-759b368d7246?q=80&w=2070');">
                <div class="hero-content">
                    <h1 class="hero-title">
                        <span class="title-main" data-lang="menu-title-main-2">Nouilles Fraîches</span>
                        <span class="title-sub" data-lang="menu-subtitle-2">Préparées à la main chaque jour</span>
                    </h1>
                </div>
            </div>

            <!-- Slide 3: Seafood -->
            <div class="hero-slide" style="background-image: url('https://images.unsplash.com/photo-1579871494447-9811cf80d66c?q=80&w=2070');">
                <div class="hero-content">
                    <h1 class="hero-title">
                        <span class="title-main" data-lang="menu-title-main-3">Fruits de Mer</span>
                        <span class="title-sub" data-lang="menu-subtitle-3">Sélection fraîche du jour</span>
                    </h1>
                </div>
            </div>

            <!-- Slide 4: Stir Fry -->
            <div class="hero-slide" style="background-image: url('https://images.unsplash.com/photo-1525755662778-989d0524087e?q=80&w=2070');">
                <div class="hero-content">
                    <h1 class="hero-title">
                        <span class="title-main" data-lang="menu-title-main-4">Wok & Sautés</span>
                        <span class="title-sub" data-lang="menu-subtitle-4">Saveurs authentiques et épices traditionnelles</span>
                    </h1>
                </div>
            </div>

            <!-- Slide 5: Rice Dishes -->
            <div class="hero-slide" style="background-image: url('https://images.unsplash.com/photo-1603133872878-684f208fb84b?q=80&w=2070');">
                <div class="hero-content">
                    <h1 class="hero-title">
                        <span class="title-main" data-lang="menu-title-main-5">Plats de Riz</span>
                        <span class="title-sub" data-lang="menu-subtitle-5">Du riz parfumé aux meilleures garnitures</span>
                    </h1>
                </div>
            </div>

            <!-- Slide 6: Soups -->
            <div class="hero-slide" style="background-image: url('https://images.unsplash.com/photo-1582878826629-29b7ad1cdc43?q=80&w=2070');">
                <div class="hero-content">
                    <h1 class="hero-title">
                        <span class="title-main" data-lang="menu-title-main-6">Soupes Maison</span>
                        <span class="title-sub" data-lang="menu-subtitle-6">Bouillons réconfortants et savoureux</span>
                    </h1>
                </div>
            </div>

            <!-- Slide 7: Desserts -->
            <div class="hero-slide" style="background-image: url('https://images.unsplash.com/photo-1541952187701-039ad50a0705?q=80&w=2070');">
                <div class="hero-content">
                    <h1 class="hero-title">
                        <span class="title-main" data-lang="menu-title-main-7">Desserts</span>
                        <span class="title-sub" data-lang="menu-subtitle-7">Douceurs traditionnelles asiatiques</span>
                    </h1>
                </div>
            </div>

            <!-- Slide 8: Vegetarian -->
            <div class="hero-slide" style="background-image: url('https://images.unsplash.com/photo-1512621776951-a57141f2eefd?q=80&w=2070');">
                <div class="hero-content">
                    <h1 class="hero-title">
                        <span class="title-main" data-lang="menu-title-main-8">Plats Végétariens</span>
                        <span class="title-sub" data-lang="menu-subtitle-8">Légumes frais et tofu préparé maison</span>
                    </h1>
                </div>
            </div>

            <!-- Slide 9: Fusion Dishes -->
            <div class="hero-slide" style="background-image: url('https://images.unsplash.com/photo-1547928576-965be7f5f6a6?q=80&w=2070');">
                <div class="hero-content">
                    <h1 class="hero-title">
                        <span class="title-main" data-lang="menu-title-main-9">Cuisine Fusion</span>
                        <span class="title-sub" data-lang="menu-subtitle-9">Le meilleur de l'Est et de l'Ouest</span>
                    </h1>
                </div>
            </div>
        </div>
    </section>

    <!-- Menu Filters -->
    <section class="menu-filters">
        <div class="container">
            <div class="search-box">
                <input type="text" id="menu-search" placeholder="Rechercher un plat..." data-lang="search-placeholder">
                <button type="button"><i class="fas fa-search"></i></button>
            </div>
            <div class="filter-buttons">
                <button class="filter-btn active" data-category="all" data-lang="filter-all">Tout</button>
                <button class="filter-btn" data-category="appetizers" data-lang="filter-appetizers">Entrées</button>
                <button class="filter-btn" data-category="soups" data-lang="filter-soups">Soupes</button>
                <button class="filter-btn" data-category="main-courses" data-lang="filter-main">Plats Principaux</button>
                <button class="filter-btn" data-category="noodles" data-lang="filter-noodles">Nouilles</button>
                <button class="filter-btn" data-category="rice" data-lang="filter-rice">Riz</button>
                <button class="filter-btn" data-category="desserts" data-lang="filter-desserts">Desserts</button>
                <button class="filter-btn" data-category="beverages" data-lang="filter-beverages">Boissons</button>
            </div>
            <div class="dietary-filters">
                <button class="dietary-btn" data-filter="vegetarian" data-lang="filter-vegetarian">Végétarien</button>
                <button class="dietary-btn" data-filter="spicy" data-lang="filter-spicy">Épicé</button>
                <button class="dietary-btn" data-filter="glutenfree" data-lang="filter-gluten-free">Sans Gluten</button>
            </div>
        </div>
    </section>

    <!-- Menu Categories -->
    <section class="menu-categories">
        <div class="container" id="menu-items-container">
            <!-- Menu items will be dynamically inserted here -->
        </div>
    </section>

    <!-- Testimonials -->
    <section class="testimonials">
        <div class="container">
            <h2 class="section-title" data-lang="testimonial-title">Ce Que Disent Nos Clients</h2>
            <div class="testimonial-slider">
                <div class="testimonial">
                    <p class="testimonial-text" data-lang="testimonial-text-1">La meilleure cuisine chinoise que j'ai jamais goûtée ! Les saveurs sont authentiques et le service est excellent.</p>
                    <p class="testimonial-author" data-lang="testimonial-author-1">John Smith</p>
                    <p class="testimonial-role" data-lang="testimonial-role-1">Client Régulier</p>
                </div>
                <div class="testimonial">
                    <p class="testimonial-text" data-lang="testimonial-text-2">Une nourriture incroyable et une excellente atmosphère. Le personnel est très sympathique et les portions sont généreuses.</p>
                    <p class="testimonial-author" data-lang="testimonial-author-2">Sarah Johnson</p>
                    <p class="testimonial-role" data-lang="testimonial-role-2">Blogueuse Culinaire</p>
                </div>
            </div>
        </div>
    </section>

    <!-- Back to Top Button -->
    <button class="back-to-top">
        <i class="fas fa-chevron-up"></i>
    </button>

    <!-- Footer -->
    <footer class="footer">
        <div class="container">
            <div class="footer-content">
                <div class="footer-section">
                    <h3 data-lang="contact">Contactez-nous</h3>
                    <p>450-455-8888</p>
                    <p>info@restaurantzellers.com</p>
                </div>
                <div class="footer-section">
                    <h3 data-lang="hours">Heures d'Ouverture</h3>
                    <p>Lun-Ven: 11h00 - 22h00</p>
                    <p>Sam-Dim: 11h00 - 23h00</p>
                </div>
                <div class="footer-section">
                    <h3 data-lang="follow">Suivez-nous</h3>
                    <div class="social-links">
                        <a href="#"><i class="fab fa-facebook"></i></a>
                        <a href="#"><i class="fab fa-instagram"></i></a>
                        <a href="#"><i class="fab fa-twitter"></i></a>
                    </div>
                </div>
            </div>
            <div class="footer-bottom">
                <p>&copy; 2024 Restaurant Zellers. <span data-lang="copyright">Tous droits réservés</span></p>
            </div>
        </div>
    </footer>

    <!-- Scripts -->
    <script src="js/language.js"></script>
    <script src="js/menu.js"></script>
    <script>
        // Wait for menu.js to load
        window.addEventListener('load', function() {
            // Hero Slider
            const slides = document.querySelectorAll('.hero-slide');
            let currentSlide = 0;
            const totalSlides = slides.length;
            let slideInterval;

            function showSlide(index) {
                slides.forEach(slide => {
                    slide.classList.remove('active');
                    slide.style.opacity = '0';
                });
                
                slides[index].classList.add('active');
                slides[index].style.opacity = '1';
            }

            function nextSlide() {
                currentSlide = (currentSlide + 1) % totalSlides;
                showSlide(currentSlide);
            }

            function startSlideshow() {
                if (slideInterval) {
                    clearInterval(slideInterval);
                }
                showSlide(0);
                slideInterval = setInterval(nextSlide, 3000);
            }

            startSlideshow();

            const heroSection = document.querySelector('.hero');
            heroSection.addEventListener('mouseenter', () => {
                clearInterval(slideInterval);
            });

            heroSection.addEventListener('mouseleave', () => {
                startSlideshow();
            });

            // Menu filtering and other functionality
            const menuContainer = document.getElementById('menu-items-container');
            const categoryButtons = document.querySelectorAll('[data-category]');
            const searchInput = document.getElementById('menu-search');
            const dietaryFilters = document.querySelectorAll('[data-filter]');
            let currentCategory = 'all';
            let currentDietaryFilters = new Set();

            // Category translations
            const categoryTranslations = {
                'appetizers': 'Entrées',
                'soups': 'Soupes',
                'main-courses': 'Plats Principaux',
                'noodles': 'Nouilles',
                'rice': 'Riz',
                'desserts': 'Desserts',
                'beverages': 'Boissons'
            };

            function renderMenuItems(category = 'all', searchTerm = '', dietaryFilters = new Set()) {
                if (!menuContainer || !window.menuData) {
                    console.error('Menu container or menu data not found');
                    return;
                }
                
                menuContainer.innerHTML = '';
                
                Object.entries(window.menuData).forEach(([categoryKey, items]) => {
                    if (category !== 'all' && category !== categoryKey) return;
                    
                    const filteredItems = items.filter(item => {
                        const matchesSearch = !searchTerm || 
                            item.name.toLowerCase().includes(searchTerm.toLowerCase()) ||
                            item.description.toLowerCase().includes(searchTerm.toLowerCase());
                        
                        const matchesDietary = dietaryFilters.size === 0 || 
                            Array.from(dietaryFilters).every(filter => {
                                switch(filter) {
                                    case 'vegetarian': return item.isVegetarian;
                                    case 'spicy': return item.isSpicy;
                                    case 'glutenfree': return item.isGlutenFree;
                                    default: return true;
                                }
                            });
                        
                        return matchesSearch && matchesDietary;
                    });
                    
                    if (filteredItems.length === 0) return;
                    
                    const categorySection = document.createElement('div');
                    categorySection.className = 'menu-category';
                    categorySection.innerHTML = `
                        <h2 data-lang="category-${categoryKey}">
                            ${categoryTranslations[categoryKey] || categoryKey}
                        </h2>
                        <div class="menu-grid">
                            ${filteredItems.map(item => `
                                <div class="menu-item">
                                    <img src="${item.image}" alt="${item.name}" class="menu-item-image">
                                    <div class="menu-item-content">
                                        <div class="menu-item-header">
                                            <h3 class="menu-item-title">${item.name}</h3>
                                            <span class="menu-item-price">${item.price.toFixed(2)} $</span>
                                        </div>
                                        <p class="menu-item-description">${item.description}</p>
                                        <div class="menu-item-tags">
                                            ${item.isVegetarian ? '<span class="menu-tag tag-vegetarian">Végétarien</span>' : ''}
                                            ${item.isSpicy ? '<span class="menu-tag tag-spicy">Épicé</span>' : ''}
                                            ${item.isGlutenFree ? '<span class="menu-tag tag-vegan">Sans Gluten</span>' : ''}
                                        </div>
                                        <div class="menu-item-rating">
                                            <div class="stars">
                                                ${'★'.repeat(Math.floor(item.rating))}${item.rating % 1 ? '½' : ''}${'☆'.repeat(5 - Math.ceil(item.rating))}
                                            </div>
                                            <span class="review-count">(${item.reviewCount})</span>
                                        </div>
                                    </div>
                                </div>
                            `).join('')}
                        </div>
                    `;
                    menuContainer.appendChild(categorySection);
                });
            }

            // Initialize with all items
            renderMenuItems();

            // Category filter
            categoryButtons.forEach(button => {
                button.addEventListener('click', () => {
                    categoryButtons.forEach(btn => btn.classList.remove('active'));
                    button.classList.add('active');
                    currentCategory = button.dataset.category;
                    renderMenuItems(currentCategory, searchInput.value, currentDietaryFilters);
                });
            });

            // Search filter
            searchInput.addEventListener('input', (e) => {
                renderMenuItems(currentCategory, e.target.value, currentDietaryFilters);
            });

            // Dietary filters
            dietaryFilters.forEach(filter => {
                filter.addEventListener('click', () => {
                    filter.classList.toggle('active');
                    if (filter.classList.contains('active')) {
                        currentDietaryFilters.add(filter.dataset.filter);
                    } else {
                        currentDietaryFilters.delete(filter.dataset.filter);
                    }
                    renderMenuItems(currentCategory, searchInput.value, currentDietaryFilters);
                });
            });

            // Back to top functionality
            const backToTop = document.querySelector('.back-to-top');
            window.addEventListener('scroll', () => {
                if (window.pageYOffset > 300) {
                    backToTop.classList.add('visible');
                } else {
                    backToTop.classList.remove('visible');
                }
            });

            backToTop.addEventListener('click', () => {
                window.scrollTo({
                    top: 0,
                    behavior: 'smooth'
                });
            });
        });
    </script>
</body>
</html> 

CasperSecurity Mini