fix
This commit is contained in:
@@ -4,7 +4,6 @@ header('Content-Type: application/json; charset=utf-8');
|
||||
session_start();
|
||||
require_once __DIR__ . '/../config/database.php';
|
||||
|
||||
// Проверка прав администратора
|
||||
if (!isset($_SESSION['isAdmin']) || !$_SESSION['isAdmin']) {
|
||||
echo json_encode(['success' => false, 'message' => 'Доступ запрещен']);
|
||||
exit();
|
||||
@@ -21,7 +20,6 @@ if ($_SERVER['REQUEST_METHOD'] === 'POST') {
|
||||
try {
|
||||
$db = Database::getInstance()->getConnection();
|
||||
|
||||
// Проверяем, есть ли товары в этой категории
|
||||
$checkStmt = $db->prepare("SELECT COUNT(*) FROM products WHERE category_id = ?");
|
||||
$checkStmt->execute([$categoryId]);
|
||||
$productCount = $checkStmt->fetchColumn();
|
||||
@@ -31,7 +29,6 @@ if ($_SERVER['REQUEST_METHOD'] === 'POST') {
|
||||
exit();
|
||||
}
|
||||
|
||||
// Удаляем категорию
|
||||
$stmt = $db->prepare("DELETE FROM categories WHERE category_id = ?");
|
||||
$stmt->execute([$categoryId]);
|
||||
|
||||
|
||||
@@ -150,7 +150,6 @@ if ($_SERVER['REQUEST_METHOD'] === 'POST') {
|
||||
$material = trim($_POST['material'] ?? '');
|
||||
|
||||
if ($category_id <= 0) {
|
||||
|
||||
$firstCat = $db->query("SELECT category_id FROM categories LIMIT 1")->fetchColumn();
|
||||
$category_id = $firstCat ?: 1;
|
||||
}
|
||||
@@ -192,24 +191,18 @@ if ($_SERVER['REQUEST_METHOD'] === 'POST') {
|
||||
$childCount = $checkChildren->fetchColumn();
|
||||
|
||||
if ($productCount > 0) {
|
||||
|
||||
$stmt = $db->prepare("UPDATE categories SET is_active = FALSE WHERE category_id = ?");
|
||||
$stmt->execute([$categoryId]);
|
||||
|
||||
header('Location: index.php?action=categories&message=Категория+скрыта+(содержит+товары)');
|
||||
exit();
|
||||
} elseif ($childCount > 0) {
|
||||
|
||||
$stmt = $db->prepare("UPDATE categories SET is_active = FALSE WHERE category_id = ?");
|
||||
$stmt->execute([$categoryId]);
|
||||
|
||||
header('Location: index.php?action=categories&message=Категория+скрыта+(имеет+дочерние+категории)');
|
||||
exit();
|
||||
} else {
|
||||
|
||||
$stmt = $db->prepare("DELETE FROM categories WHERE category_id = ?");
|
||||
$stmt->execute([$categoryId]);
|
||||
|
||||
header('Location: index.php?action=categories&message=Категория+удалена');
|
||||
exit();
|
||||
}
|
||||
@@ -224,7 +217,6 @@ if ($_SERVER['REQUEST_METHOD'] === 'POST') {
|
||||
}
|
||||
|
||||
try {
|
||||
|
||||
$stats = [
|
||||
'total_products' => $db->query("SELECT COUNT(*) FROM products")->fetchColumn(),
|
||||
'active_products' => $db->query("SELECT COUNT(*) FROM products WHERE is_available = TRUE")->fetchColumn(),
|
||||
@@ -502,13 +494,11 @@ try {
|
||||
<td><?= htmlspecialchars($category['name']) ?></td>
|
||||
<td><?= htmlspecialchars($category['slug']) ?></td>
|
||||
<td><?= htmlspecialchars($category['parent_name'] ?? '—') ?></td>
|
||||
<td><?= $category['product_count'] ?></td>
|
||||
<td><?= $category['product_count'] ?> </td>
|
||||
<td class="action-buttons">
|
||||
|
||||
<a href="index.php?action=edit_category&id=<?= $category['category_id'] ?>" class="btn btn-warning btn-sm">
|
||||
<i class="fas fa-edit"></i> Редактировать
|
||||
</a>
|
||||
|
||||
<button type="button" class="btn btn-danger btn-sm delete-category-btn"
|
||||
data-id="<?= $category['category_id'] ?>"
|
||||
<?= $category['product_count'] > 0 ? 'disabled' : '' ?>>
|
||||
@@ -752,7 +742,6 @@ try {
|
||||
<?php endif; ?>
|
||||
</div>
|
||||
<script>
|
||||
|
||||
$('.delete-category-btn').click(function() {
|
||||
const categoryId = $(this).data('id');
|
||||
const btn = $(this);
|
||||
|
||||
@@ -1,6 +1,4 @@
|
||||
|
||||
$(document).ready(function() {
|
||||
|
||||
let cart = {
|
||||
items: [
|
||||
{ id: 1, name: 'Кресло OPPORTUNITY', price: 16999, quantity: 1 },
|
||||
@@ -44,9 +42,7 @@ $(document).ready(function() {
|
||||
}
|
||||
|
||||
function validateFullName(name) {
|
||||
|
||||
const nameRegex = /^[a-zA-Zа-яА-ЯёЁ\s\-']+$/;
|
||||
|
||||
const words = name.trim().split(/\s+/);
|
||||
|
||||
return nameRegex.test(name) && words.length >= 2;
|
||||
|
||||
@@ -1,6 +1,3 @@
|
||||
// ===================================
|
||||
// === ПЕРЕМЕННЫЕ И МИКСИНЫ AETERNA ===
|
||||
// ===================================
|
||||
@color-primary: #617365;
|
||||
@color-secondary: #D1D1D1;
|
||||
@color-accent: #453227;
|
||||
|
||||
@@ -1,7 +1,4 @@
|
||||
@import "mixins.less";
|
||||
// =======================
|
||||
// === БАЗОВЫЕ СТИЛИ ===
|
||||
// =======================
|
||||
* {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
|
||||
@@ -1,6 +1,3 @@
|
||||
// ===================================
|
||||
// === ПЕРЕМЕННЫЕ И МИКСИНЫ AETERNA ===
|
||||
// ===================================
|
||||
@color-primary: #617365;
|
||||
@color-secondary: #D1D1D1;
|
||||
@color-accent: #453227;
|
||||
|
||||
@@ -47,7 +47,6 @@ try {
|
||||
$similarStmt->execute([$product['category_id'], $product_id]);
|
||||
$similarProducts = $similarStmt->fetchAll();
|
||||
|
||||
// Отзывы временно отключены (таблица reviews не существует)
|
||||
$reviews = [];
|
||||
|
||||
} catch (PDOException $e) {
|
||||
@@ -459,7 +458,6 @@ $(document).ready(function() {
|
||||
|
||||
window.deleteProduct = function(productId) {
|
||||
if (confirm('Вы уверены, что хотите удалить этот товар?')) {
|
||||
// Redirect to admin panel for deletion
|
||||
window.location.href = 'admin/index.php?action=products';
|
||||
}
|
||||
};
|
||||
|
||||
@@ -11,7 +11,6 @@ if (!isset($_SESSION['isLoggedIn']) || $_SESSION['isLoggedIn'] !== true) {
|
||||
$user_id = $_SESSION['user_id'] ?? 0;
|
||||
$db = Database::getInstance()->getConnection();
|
||||
|
||||
// Загружаем данные пользователя
|
||||
$user = null;
|
||||
try {
|
||||
$stmt = $db->prepare("SELECT user_id, email, full_name, phone, city FROM users WHERE user_id = ?");
|
||||
@@ -31,7 +30,6 @@ $update_success = $_SESSION['update_success'] ?? '';
|
||||
unset($_SESSION['update_errors']);
|
||||
unset($_SESSION['update_success']);
|
||||
|
||||
// Обработка обновления профиля
|
||||
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
|
||||
$full_name = trim($_POST['fio'] ?? '');
|
||||
$city = trim($_POST['city'] ?? '');
|
||||
|
||||
@@ -1,8 +1,5 @@
|
||||
@import "mixins.less";
|
||||
@import "стили_оформления.less";
|
||||
// =======================
|
||||
// === БАЗОВЫЕ СТИЛИ ===
|
||||
// =======================
|
||||
* {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
@@ -52,10 +49,6 @@ p, li, span {
|
||||
font-family: @font-main;
|
||||
}
|
||||
|
||||
// =======================
|
||||
// === КОМПОНЕНТЫ ===
|
||||
// =======================
|
||||
|
||||
.logo, .footer-logo {
|
||||
font: bold 32px/1 @font-logo;
|
||||
letter-spacing: 2px;
|
||||
|
||||
Reference in New Issue
Block a user