Files
web_work/cite_mebel.php
2025-12-16 01:28:06 +03:00

762 lines
33 KiB
PHP
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<?php
session_start();
// Упрощенная проверка для каталога
if (isset($_GET['action']) && $_GET['action'] == 'go_to_catalog') {
if (!isset($_SESSION['isLoggedIn']) || $_SESSION['isLoggedIn'] !== true) {
// Перенаправляем на вход
header('Location: вход.php?redirect=' . urlencode('catalog.php'));
exit();
} else {
// Если авторизован - пускаем в каталог
header('Location: catalog.php');
exit();
}
}
?>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>AETERNA - Мебель и Интерьер</title>
<link rel="stylesheet/less" type="text/css" href="style_for_cite.less">
<script src="https://cdn.jsdelivr.net/npm/less"></script>
<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/all.min.css">
<style>
/* Стили для профиля пользователя */
.user-profile-dropdown {
position: relative;
display: inline-block;
}
.user-profile-toggle {
display: flex;
align-items: center;
gap: 10px;
cursor: pointer;
padding: 8px 12px;
border-radius: 4px;
transition: all 0.3s ease;
}
.user-profile-toggle:hover {
background-color: rgba(0, 0, 0, 0.05);
}
.user-avatar {
width: 36px;
height: 36px;
border-radius: 50%;
background: linear-gradient(135deg, #617365 0%, #453227 100%);
color: white;
display: flex;
align-items: center;
justify-content: center;
font-weight: bold;
font-size: 16px;
}
.user-info {
display: flex;
flex-direction: column;
}
.user-email {
font-size: 12px;
color: #666;
max-width: 120px;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.user-status {
font-size: 10px;
padding: 2px 8px;
border-radius: 12px;
text-transform: uppercase;
font-weight: bold;
text-align: center;
margin-top: 2px;
}
.user-status.admin {
background-color: #617365;
color: white;
}
.user-status.user {
background-color: #28a745;
color: white;
}
.dropdown-arrow {
font-size: 12px;
color: #666;
}
.user-profile-menu {
display: none;
position: absolute;
top: 100%;
right: 0;
background: white;
min-width: 280px;
border-radius: 8px;
box-shadow: 0 5px 20px rgba(0,0,0,0.15);
z-index: 1000;
margin-top: 10px;
border: 1px solid #e0e0e0;
overflow: hidden;
}
.user-profile-header {
padding: 15px;
background: #f8f9fa;
border-bottom: 1px solid #e0e0e0;
}
.user-profile-name {
font-weight: bold;
margin-bottom: 5px;
color: #333;
display: flex;
align-items: center;
gap: 8px;
}
.user-profile-details {
font-size: 12px;
color: #666;
}
.user-profile-details small {
display: block;
margin-bottom: 3px;
}
.user-profile-details i {
width: 16px;
text-align: center;
}
.user-profile-links {
list-style: none;
padding: 10px 0;
margin: 0;
}
.user-profile-links li {
margin: 0;
}
.user-profile-links a {
display: flex;
align-items: center;
gap: 10px;
padding: 10px 15px;
color: #333;
text-decoration: none;
transition: all 0.3s ease;
border-left: 3px solid transparent;
}
.user-profile-links a:hover {
background-color: #f5f5f5;
border-left-color: #453227;
color: #453227;
}
.user-profile-links i {
width: 20px;
text-align: center;
}
.logout-item {
border-top: 1px solid #e0e0e0;
margin-top: 5px;
padding-top: 5px;
}
.logout-link {
color: #dc3545 !important;
}
.logout-link:hover {
background-color: #ffe6e6 !important;
border-left-color: #dc3545 !important;
}
.cart-icon {
position: relative;
margin-right: 15px;
}
.cart-count {
position: absolute;
top: -8px;
right: -8px;
background: #dc3545;
color: white;
border-radius: 50%;
width: 18px;
height: 18px;
font-size: 11px;
display: flex;
align-items: center;
justify-content: center;
}
/* Стиль для заблокированных ссылок */
.link-disabled {
cursor: not-allowed !important;
opacity: 0.6 !important;
position: relative;
}
.link-disabled:hover::after {
content: "🔒 Требуется авторизация";
position: absolute;
top: -30px;
left: 50%;
transform: translateX(-50%);
background: #333;
color: white;
padding: 5px 10px;
border-radius: 4px;
font-size: 12px;
white-space: nowrap;
z-index: 1000;
}
/* Кнопка каталога с замком */
.catalog-locked {
position: relative;
}
.catalog-locked::before {
content: "🔒";
position: absolute;
top: -5px;
right: -5px;
font-size: 12px;
}
</style>
</head>
<body>
<header class="header">
<div class="header__top">
<div class="container header__top-content">
<div class="logo">AETERNA</div>
<div class="search-catalog">
<div class="catalog-dropdown">
Все категории <span>&#9660;</span>
<div class="catalog-dropdown__menu">
<ul>
<li><a href="javascript:void(0)" onclick="checkAuth('catalog.php?category=1')">Диваны</a></li>
<li><a href="javascript:void(0)" onclick="checkAuth('catalog.php?category=2')">Кровати</a></li>
<li><a href="javascript:void(0)" onclick="checkAuth('catalog.php?category=3')">Шкафы</a></li>
<li><a href="javascript:void(0)" onclick="checkAuth('catalog.php?category=4')">Стулья</a></li>
<li><a href="javascript:void(0)" onclick="checkAuth('catalog.php?category=5')">Столы</a></li>
</ul>
</div>
</div>
<div class="search-box">
<input type="text" placeholder="Поиск товаров" id="searchInput">
<span class="search-icon"><i class="fas fa-search"></i></span>
</div>
</div>
<!-- Вставьте этот код в секцию header__icons--top вместо текущего -->
<!-- Вставьте этот код в секцию header__icons--top вместо текущего -->
<div class="header__icons--top">
<?php if (isset($_SESSION['isLoggedIn']) && $_SESSION['isLoggedIn'] === true): ?>
<!-- Иконка корзины -->
<a href="оформлениеаказа.php" class="icon cart-icon">
<i class="fas fa-shopping-cart"></i>
<span class="cart-count">0</span>
</a>
<!-- Блок профиля с выпадающим меню -->
<div class="user-profile-dropdown">
<div class="user-profile-toggle">
<div class="user-avatar">
<?php
$email = $_SESSION['user_email'] ?? '';
echo !empty($email) ? strtoupper(substr($email, 0, 1)) : 'U';
?>
</div>
<div class="user-info">
<div class="user-email"><?= htmlspecialchars($email) ?></div>
<div class="user-status <?= isset($_SESSION['isAdmin']) && $_SESSION['isAdmin'] ? 'admin' : 'user' ?>">
<?= isset($_SESSION['isAdmin']) && $_SESSION['isAdmin'] ? 'Админ' : 'Пользователь' ?>
</div>
</div>
<i class="fas fa-chevron-down dropdown-arrow"></i>
</div>
<div class="user-profile-menu">
<div class="user-profile-header">
<div class="user-profile-name">
<i class="fas fa-user"></i>
<?= htmlspecialchars($_SESSION['full_name'] ?? $email) ?>
</div>
<div class="user-profile-details">
<small><i class="far fa-envelope"></i> <?= htmlspecialchars($email) ?></small>
<?php if (isset($_SESSION['login_time'])): ?>
<small><i class="far fa-clock"></i> Вошел: <?= date('d.m.Y H:i', $_SESSION['login_time']) ?></small>
<?php endif; ?>
</div>
</div>
<ul class="user-profile-links">
<li>
<a href="профиль.php">
<i class="fas fa-user-cog"></i>
<span>Настройки профиля</span>
</a>
</li>
<li>
<a href="оформлениеаказа.php">
<i class="fas fa-shopping-bag"></i>
<span>Мои заказы</span>
</a>
</li>
<?php if (isset($_SESSION['isAdmin']) && $_SESSION['isAdmin']): ?>
<li>
<a href="catalog_admin.php">
<i class="fas fa-user-shield"></i>
<span>Панель администратора</span>
</a>
</li>
<?php endif; ?>
<li class="logout-item">
<a href="logout.php" class="logout-link">
<i class="fas fa-sign-out-alt"></i>
<span>Выйти из аккаунта</span>
</a>
</li>
</ul>
</div>
</div>
<?php else: ?>
<!-- Если не авторизован -->
<a href="вход.php" class="icon">
<i class="far fa-user"></i>
</a>
<a href="вход.php" style="font-size: 12px; color: #666; margin-left: 5px;">
Войти
</a>
<?php endif; ?>
</div>
</div>
</div>
<div class="header__bottom">
<div class="container header__bottom-content">
<div class="catalog-menu">
<a href="catalog.php"
class="catalog-link <?= (isset($_SESSION['isLoggedIn']) && $_SESSION['isLoggedIn'] === true) ? '' : 'catalog-locked' ?>">
<div class="catalog-icon">
<span class="line"></span>
<span class="line"></span>
<span class="line"></span>
</div>
<span class="catalog-lines">☰</span>
Каталог
</a>
</div>
<nav class="nav">
<ul class="nav-list">
<li><a href="cite_mebel.php" class="active">Главная</a></li>
<li><a href="услуги.php">Услуги</a></li>
<li><a href="Доставка.php">Доставка и оплата</a></li>
<li><a href="Гарантия.php">Гарантия</a></li>
<li><a href="#footer">Контакты</a></li>
</ul>
</nav>
<div class="header-phone">+7(912)999-12-23</div>
</div>
</div>
</header>
<main>
<section class="hero">
<div class="container hero__content">
<div class="hero__image-block">
<div class="hero__circle"></div>
<img src="img/chair.PNG" alt="Кресло и торшер" class="hero__img">
</div>
<div class="hero__text-block">
<h1>ДОБАВЬТЕ ИЗЫСКАННОСТИ В СВОЙ ИНТЕРЬЕР</h1>
<p class="hero__usp-text">Мы создаем мебель, которая сочетает в себе безупречный дизайн, натуральные материалы, продуманный функционал, чтобы ваш день начинался и заканчивался с комфортом.</p>
<?php if (isset($_SESSION['isLoggedIn']) && $_SESSION['isLoggedIn'] === true): ?>
<a href="?action=go_to_catalog" class="btn primary-btn">ПЕРЕЙТИ В КАТАЛОГ</a>
<?php else: ?>
<a href="javascript:void(0)" onclick="checkAuth('catalog.php')" class="btn primary-btn link-disabled">ПЕРЕЙТИ В КАТАЛОГ</a>
<?php endif; ?>
</div>
</div>
</section>
<section class="advantages">
<div class="container">
<div class="advantages__header">
<h2>ПОЧЕМУ <br>ВЫБИРАЮТ НАС?</h2>
<div class="advantages__items">
<div class="advantage-item">
<span class="advantage-item__number">1</span>
<h4>ГАРАНТИЯ ВЫСОЧАЙШЕГО КАЧЕСТВА</h4>
<p>Собственное производство и строгий контроль на всех этапах.</p>
</div>
<div class="advantage-item">
<span class="advantage-item__number">2</span>
<h4>ИСПОЛЬЗОВАНИЕ НАДЕЖНЫХ МАТЕРИАЛОВ</h4>
<p>Гарантия безопасности и долговечности.</p>
</div>
<div class="advantage-item">
<span class="advantage-item__number">3</span>
<h4>ИНДИВИДУАЛЬНЫЙ ПОДХОД И ГИБКОСТЬ УСЛОВИЙ</h4>
<p>Реализуем проекты любой сложности по вашим техническим заданиям.</p>
</div>
</div>
</div>
<div class="promo-images">
<div class="promo-image-col">
<img src="img/спальня.jpg" alt="Кровать и тумба">
<div class="image-overlay-text">
<h4>НОВИНКИ В КАТЕГОРИЯХ <br>МЯГКАЯ МЕБЕЛЬ</h4>
<a href="#" class="overlay-link">ПЕРЕЙТИ</a>
</div>
</div>
<div class="promo-image-col">
<img src="img/диван.jpg" alt="Диван в гостиной">
<div class="image-overlay-text">
<h4>РАСПРОДАЖА <br>ПРЕДМЕТЫ ДЕКОРА</h4>
<a href="#" class="overlay-link">ПЕРЕЙТИ</a>
</div>
</div>
</div>
</div>
</section>
<section class="about">
<div class="container about__content">
<div class="about__column about__column--left">
<div class="about__text-block">
<h2>О НАС</h2>
<p class="text-justified">Компания AETERNA - российский производитель качественной корпусной и мягкой мебели для дома и офиса. С 2015 года мы успешно реализуем проекты любой сложности, сочетая современные технологии, проверенные материалы и классическое мастерство.</p>
</div>
<img src="img/кресло_1.jpg" alt="Фиолетовое кресло" class="about__img about__img--small">
</div>
<div class="about__column about__column--right">
<img src="img/диван_1.jpg" alt="Белый диван с подушками" class="about__img about__img--large">
<p class="about__caption">Наша сеть включает 30+ российских фабрик, отобранных по строгим стандартам качества. Мы сотрудничаем исключительно с лидерами рынка, чья продукция доказала свое превосходство временем.</p>
</div>
</div>
</section>
<section class="solutions">
<div class="container">
<div class="solutions-slider">
<div class="solutions-slider__slides">
<div class="solutions-slider__slide">
<img src="img/слайдер_1.jpg" class="solution-img" alt="Готовое решение для гостиной">
<div class="solution-text-overlay">
<h2>ГОТОВОЕ РЕШЕНИЕ<br>ДЛЯ ВАШЕЙ ГОСТИНОЙ</h2> <br>
<p>УСПЕЙТЕ ЗАКАЗАТЬ СЕЙЧАС</p>
</div>
<a href="#" class="solution-image-link">Подробнее</a>
</div>
<div class="solutions-slider__slide">
<img src="img/слайдер_6.jpg" class="solution-img" alt="Готовое решение для спальни">
<div class="solution-text-overlay">
<h2>ГОТОВОЕ РЕШЕНИЕ<br>ДЛЯ ВАШЕЙ СПАЛЬНИ</h2> <br>
<p>УСПЕЙТЕ ЗАКАЗАТЬ СЕЙЧАС</p>
</div>
<a href="#" class="solution-image-link">Подробнее</a>
</div>
</div>
</div>
</div>
</section>
<section class="stats">
<div class="container">
<div class="stats__items">
<div class="stat-item">
<div class="stat-number">10+</div>
<div class="stat-label">Лет работы</div>
</div>
<div class="stat-item">
<div class="stat-number">30 000+</div>
<div class="stat-label">Довольных покупателей</div>
</div>
<div class="stat-item">
<div class="stat-number">4500+</div>
<div class="stat-label">Реализованных заказов</div>
</div>
</div>
</div>
</section>
<section class="faq" id="faq">
<div class="container">
<h2>ОТВЕТЫ НА ВОПРОСЫ</h2>
<div class="faq__items">
<div class="faq-item">
<span class="number-circle">1</span>
<div class="faq-item__content">
<h4>Сколько времени занимает доставка?</h4>
<p>Доставка готовых позиций занимает 1-3 дня. Мебель на заказ изготавливается от 14 до 45 рабочих дней, в зависимости от сложности. Точные сроки озвучит ваш менеджер при оформлении заказа.</p>
</div>
</div>
<div class="faq-item">
<span class="number-circle">2</span>
<div class="faq-item__content">
<h4>Нужно ли вносить предоплату?</h4>
<p>Да, для запуска заказа в производство необходима предоплата в размере 50-70% от стоимости, в зависимости от изделия. Оставшаяся сумма оплачивается при доставке и приемке мебели.</p>
</div>
</div>
<div class="faq-item">
<span class="number-circle">3</span>
<div class="faq-item__content">
<h4>Предоставляется ли рассрочка или кредит?</h4>
<p>Да, мы сотрудничаем с несколькими банками и предлагаем рассрочку на 6 или 12 месяцев без первоначального взноса, а также кредит на более длительный срок. Все условия уточняйте у вашего менеджера.</p>
</div>
</div>
<div class="faq-item">
<span class="number-circle">4</span>
<div class="faq-item__content">
<h4>Что делать, если мебель пришла с дефектом?</h4>
<p>В этом случае необходимо в течение 7 дней со дня доставки сообщить нам о проблеме, прислать фото/видео дефекта. Мы оперативно решим вопрос о бесплатной замене или ремонте изделия.</p>
</div>
</div>
</div>
<button class="btn primary-btn">Задать вопрос</button>
</div>
</section>
</main>
<footer class="footer" id="footer">
<div class="container footer__content">
<div class="footer__col footer--logo">
<div class="logo">AETERNA</div>
</div>
<div class="footer__col">
<h5>ПОКУПАТЕЛЮ</h5>
<ul>
<li><a href="javascript:void(0)" onclick="checkAuth('catalog.php')">Каталог</a></li>
<li><a href="услуги.php">Услуги</a></li>
</ul>
</div>
<div class="footer__col">
<h5>ПОМОЩЬ</h5>
<ul>
<li><a href="Доставка.php">Доставка и оплата</a></li>
<li><a href="Гарантия.php">Гарантия и возврат</a></li>
<li><a href="cite_mebel.html#faq">Ответы на вопросы</a></li>
<li><a href="#footer">Контакты</a></li>
</ul>
</div>
<div class="footer__col">
<h5>КОНТАКТЫ</h5>
<p>aeterna@mail.ru</p>
<p>+7(912)999-12-23</p>
<div class="social-icons">
<span class="icon"><i class="fab fa-telegram"></i></span>
<span class="icon"><i class="fab fa-instagram"></i></span>
<span class="icon"><i class="fab fa-vk"></i></span>
</div>
</div>
<div class="footer__col">
<h5>ПРИНИМАЕМ К ОПЛАТЕ</h5>
<div class="payment-icons">
<span class="pay-icon"><i class="fab fa-cc-visa"></i></span>
<span class="pay-icon"><i class="fab fa-cc-mastercard"></i></span>
</div>
</div>
</div>
<div class="copyright">
<p>© 2025 AETERNA. Все права защищены.</p>
</div>
</footer>
<!-- Статус пользователя (будет показан после авторизации) -->
<div class="user-status-overlay" id="userStatus" style="display: none; position: fixed; top: 20px; right: 20px; z-index: 1000; background: white; padding: 10px 15px; border-radius: 5px; box-shadow: 0 2px 10px rgba(0,0,0,0.1);">
<div style="display: flex; align-items: center; gap: 10px;">
<i class="fas fa-user" id="statusIcon"></i>
<div>
<div id="statusText" style="font-weight: bold;"></div>
<div id="userEmail" style="font-size: 12px; color: #666;"></div>
</div>
<button onclick="logout()" style="background: none; border: none; color: #666; cursor: pointer; margin-left: 10px;">
<i class="fas fa-sign-out-alt"></i>
</button>
</div>
</div>
<!-- Модальное окно для быстрого входа -->
<div class="quick-login-modal" id="quickLoginModal" style="display: none; position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0,0,0,0.5); z-index: 2000; align-items: center; justify-content: center;">
<div style="background: white; padding: 30px; border-radius: 10px; width: 90%; max-width: 400px; text-align: center;">
<h3 style="margin-bottom: 20px; color: #453227;">
<i class="fas fa-sign-in-alt"></i> Быстрый вход
</h3>
<div style="margin-bottom: 20px;">
<button onclick="quickLogin('admin')" style="width: 100%; padding: 12px; background: #617365; color: white; border: none; border-radius: 4px; margin-bottom: 10px; cursor: pointer;">
<i class="fas fa-user-shield"></i> Войти как Администратор
</button>
<button onclick="quickLogin('user')" style="width: 100%; padding: 12px; background: #28a745; color: white; border: none; border-radius: 4px; cursor: pointer;">
<i class="fas fa-user"></i> Войти как Пользователь
</button>
</div>
<div style="font-size: 12px; color: #666; margin-top: 15px;">
Для полного функционала перейдите на страницу входа
</div>
<div style="margin-top: 20px; display: flex; gap: 10px; justify-content: center;">
<a href="вход.html" class="btn primary-btn" style="padding: 8px 15px; font-size: 14px;">
Полный вход
</a>
<button onclick="hideQuickLogin()" class="btn" style="padding: 8px 15px; font-size: 14px; background: #6c757d; color: white;">
Отмена
</button>
</div>
</div>
</div>
<script>
// Проверка авторизации
function checkAuth(redirectUrl) {
// Просто перенаправляем на страницу с action
window.location.href = 'cite_mebel.php?action=go_to_catalog';
return true;
}
// Проверяем статус при загрузке
$(document).ready(function() {
// Синхронизируем PHP сессию с localStorage
<?php if (isset($_SESSION['isLoggedIn']) && $_SESSION['isLoggedIn'] === true): ?>
if (localStorage.getItem('isLoggedIn') !== 'true') {
localStorage.setItem('isLoggedIn', 'true');
localStorage.setItem('user_email', '<?= addslashes($_SESSION['user_email'] ?? '') ?>');
localStorage.setItem('isAdmin', '<?= isset($_SESSION['isAdmin']) && $_SESSION['isAdmin'] ? 'true' : 'false' ?>');
}
<?php endif; ?>
// Блокируем все ссылки на каталог если не авторизован
const isLoggedIn = localStorage.getItem('isLoggedIn') === 'true';
if (!isLoggedIn) {
// Находим ВСЕ ссылки на каталог
$('a[href*="catalog"]').each(function() {
const originalHref = $(this).attr('href');
if (originalHref && originalHref.includes('catalog')) {
$(this).attr('href', 'javascript:void(0)');
$(this).addClass('link-disabled');
$(this).click(function(e) {
e.preventDefault();
checkAuth(originalHref);
});
}
});
// Блокируем поиск
$('#searchInput').prop('disabled', true).attr('placeholder', 'Войдите для поиска');
}
});
// Быстрый вход для тестирования (можно удалить в продакшене)
function quickLogin(role) {
let email, password;
if (role === 'admin') {
email = 'admin@aeterna.ru';
password = 'admin123';
} else {
email = 'user@test.com';
password = 'user123';
}
$.ajax({
url: 'login_handler.php',
method: 'POST',
data: {
email: email,
password: password
},
success: function(response) {
try {
const result = JSON.parse(response);
if (result.success) {
// Сохраняем в localStorage
localStorage.setItem('isLoggedIn', 'true');
localStorage.setItem('user_email', email);
localStorage.setItem('isAdmin', (role === 'admin').toString());
alert('Вы вошли как ' + (role === 'admin' ? 'администратор' : 'пользователь'));
location.reload();
}
} catch(e) {
console.error(e);
}
}
});
}
</script>
<script>
$(document).ready(function() {
// Открытие/закрытие меню профиля
$('.user-profile-toggle').click(function(e) {
e.stopPropagation();
$('.user-profile-menu').toggle();
});
// Закрытие меню при клике вне его
$(document).click(function() {
$('.user-profile-menu').hide();
});
// Обработка выхода
$('.logout-link').click(function(e) {
if (!confirm('Вы действительно хотите выйти?')) {
e.preventDefault();
}
});
// Обновляем время входа при загрузке страницы
updateLoginTime();
});
function updateLoginTime() {
// Можно добавить AJAX запрос для обновления времени последнего входа
// или использовать время из сессии
}
</script>
<!-- Кнопки быстрого тестирования -->
<div style="position: fixed; bottom: 20px; right: 20px; z-index: 1000; background: white; padding: 10px; border-radius: 5px; box-shadow: 0 2px 10px rgba(0,0,0,0.1);">
<h4 style="margin: 0 0 10px 0; font-size: 14px; color: #453227;">Быстрый вход:</h4>
<button onclick="window.location.href='профиль.php?quick_login=admin'" style="background: #617365; color: white; border: none; padding: 8px 15px; border-radius: 4px; cursor: pointer; margin: 5px; width: 100%;">
<i class="fas fa-user-shield"></i> Войти как Админ
</button>
<button onclick="window.location.href='профиль.php?quick_login=user'" style="background: #28a745; color: white; border: none; padding: 8px 15px; border-radius: 4px; cursor: pointer; margin: 5px; width: 100%;">
<i class="fas fa-user"></i> Войти как Пользователь
</button>
</div>
</body>
</html>