Исправление багов авторизации, корзины и админки

- Исправлено выпадающее меню профиля (hover-баг с margin-top)
- Исправлена авторизация: правильные пути к API (api/auth.php)
- Исправлены ссылки на админку (admin/index.php вместо admin_panel.php)
- Исправлены пути API корзины в catalog.php и checkout.php
- Добавлена форма добавления/редактирования товаров в админке
- Исправлены кнопки +/- в корзине (улучшена обработка AJAX)
- Исправлена регистрация: правильные пути и обработка boolean в PostgreSQL
- Добавлена миграция для назначения прав админа пользователю admin@mail.ru
- Удален тестовый блок 'Быстрый вход' для неавторизованных пользователей
- Улучшена обработка ошибок во всех API-эндпоинтах
This commit is contained in:
kirill.khorkov
2025-12-16 02:58:44 +03:00
parent 3f257120fa
commit 29b9aaac50
388 changed files with 15312 additions and 3220 deletions

View File

@@ -0,0 +1,57 @@
-- 003_add_product_fields.sql
-- Добавление дополнительных полей (если таблицы уже существуют)
-- Добавляем поля в products если их нет
DO $$
BEGIN
-- color
IF NOT EXISTS (SELECT 1 FROM information_schema.columns
WHERE table_name = 'products' AND column_name = 'color') THEN
ALTER TABLE products ADD COLUMN color VARCHAR(50);
END IF;
-- material
IF NOT EXISTS (SELECT 1 FROM information_schema.columns
WHERE table_name = 'products' AND column_name = 'material') THEN
ALTER TABLE products ADD COLUMN material VARCHAR(100);
END IF;
-- card_size
IF NOT EXISTS (SELECT 1 FROM information_schema.columns
WHERE table_name = 'products' AND column_name = 'card_size') THEN
ALTER TABLE products ADD COLUMN card_size VARCHAR(20) DEFAULT 'small';
END IF;
END $$;
-- Добавляем поля в users если их нет
DO $$
BEGIN
-- city
IF NOT EXISTS (SELECT 1 FROM information_schema.columns
WHERE table_name = 'users' AND column_name = 'city') THEN
ALTER TABLE users ADD COLUMN city VARCHAR(100);
END IF;
-- last_login
IF NOT EXISTS (SELECT 1 FROM information_schema.columns
WHERE table_name = 'users' AND column_name = 'last_login') THEN
ALTER TABLE users ADD COLUMN last_login TIMESTAMP;
END IF;
END $$;
-- Добавляем поля в categories если их нет
DO $$
BEGIN
-- updated_at
IF NOT EXISTS (SELECT 1 FROM information_schema.columns
WHERE table_name = 'categories' AND column_name = 'updated_at') THEN
ALTER TABLE categories ADD COLUMN updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP;
END IF;
-- created_at
IF NOT EXISTS (SELECT 1 FROM information_schema.columns
WHERE table_name = 'categories' AND column_name = 'created_at') THEN
ALTER TABLE categories ADD COLUMN created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP;
END IF;
END $$;