✨ Features: - Migrated ALL files to new S3 structure (Projects, Contacts, Accounts, HelpDesk, Invoice, etc.) - Added Nextcloud folder buttons to ALL modules - Fixed Nextcloud editor integration - WebSocket server for real-time updates - Redis Pub/Sub integration - File path manager for organized storage - Redis caching for performance (Functions.php) 📁 New Structure: Documents/Project/ProjectName_ID/file_docID.ext Documents/Contacts/FirstName_LastName_ID/file_docID.ext Documents/Accounts/AccountName_ID/file_docID.ext 🔧 Technical: - FilePathManager for standardized paths - S3StorageService integration - WebSocket server (Node.js + Docker) - Redis cache for getBasicModuleInfo() - Predis library for Redis connectivity 📝 Scripts: - Migration scripts for all modules - Test pages for WebSocket/SSE/Polling - Documentation (MIGRATION_*.md, REDIS_*.md) 🎯 Result: 15,000+ files migrated successfully!
8.2 KiB
📝 Changelog: Добавление режима отладки (DEBUG MODE)
Дата: 23 октября 2025
Задача: Отключить SMS-верификацию для экономии баланса во время разработки
✅ Выполненные изменения
1. Создан файл конфигурации debug-config.js
Назначение: Централизованное управление режимом отладки
Функционал:
- Глобальная переменная
DEBUG_MODE - Визуальный индикатор на странице
- Цветные логи в консоли браузера
- Подробные комментарии для разработчиков
Расположение: /erv_ticket/debug-config.js
2. Модифицирован js/common.js
Изменение 1: Функция send_sms()
Было: SMS всегда отправлялась через SigmaSMS API
Стало:
if (!DEBUG_MODE) {
// Отправка реальной SMS
$.ajax({ ... })
} else {
// Только консольный лог
console.log('🔧 DEBUG MODE: SMS отключена. Код:', sended_code);
}
Изменение 2: Проверка кода в .js-accept-sms
Было: Принимался только реальный код из SMS
Стало:
if (DEBUG_MODE) {
// Принимается любой 6-значный код
isCodeValid = enteredCode.length === 6 && /^\d+$/.test(enteredCode);
} else {
// Проверка реального кода
isCodeValid = enteredCode == sended_code;
}
Расположение: /erv_ticket/js/common.js
3. Обновлён index.php
Добавлено:
-
Подключение debug-config.js (строка 976)
<script src="debug-config.js"></script>⚠️ ВАЖНО: Должен быть загружен ДО
common.js -
HTML-индикатор режима отладки (строки 44-47)
<div id="debug-indicator" style="..."> 🔧 DEBUG MODE: SMS отключена </div>
Расположение: /erv_ticket/index.php
4. Создана документация
Файлы:
DEBUG_MODE_README.md- Подробная инструкция по использованиюCHANGELOG_DEBUG_MODE.md- Этот файл (список изменений)
🎯 Как это работает
В режиме DEBUG_MODE = true:
Пользователь → Вводит телефон → Нажимает "Отправить SMS"
↓
🔧 SMS НЕ отправляется
🔧 Код генерируется локально
🔧 Модалка открывается
↓
Пользователь → Вводит ЛЮБЫЕ 6 цифр (например: 123456)
↓
🔧 Код принимается
🔧 Доступ к форме открыт
✅
В режиме DEBUG_MODE = false:
Пользователь → Вводит телефон → Нажимает "Отправить SMS"
↓
✉️ SMS отправляется через SigmaSMS API
✉️ Код приходит на телефон
✉️ Модалка открывается
↓
Пользователь → Вводит КОД ИЗ SMS
↓
✅ Код проверяется
✅ Если верный - доступ открыт
🔍 Проверка работы
1. Откройте форму в браузере
2. Проверьте визуальные индикаторы:
✅ В правом верхнем углу должен быть оранжевый badge:
🔧 DEBUG MODE: SMS отключена
✅ В консоли браузера (F12) должны быть сообщения:
🔧 DEBUG CONFIG загружен. DEBUG_MODE = true
🔧 ВНИМАНИЕ: Работает РЕЖИМ ОТЛАДКИ!
SMS не отправляются. Принимается любой 6-значный код.
3. Тестирование SMS-верификации:
- Введите любой телефон:
999 123-45-67 - Нажмите "Отправить SMS"
- В модалке увидите:
🔧 РЕЖИМ ОТЛАДКИ: Введите любой 6-значный код - Введите
111111(или любые 6 цифр) - Нажмите "Подтвердить"
- ✅ Форма должна открыться!
📊 Экономический эффект
Без режима отладки (10 тестов в день):
10 тестов/день × 30 дней = 300 SMS
300 SMS × 5 руб. = 1500 руб./месяц
С режимом отладки:
0 SMS = 0 руб./месяц 💰
Экономия: 1500 руб./месяц (или больше при интенсивной разработке)
⚠️ Важные напоминания
Перед деплоем на ПРОДАКШЕН:
- ✅ Открыть
debug-config.js - ✅ Изменить
var DEBUG_MODE = true;→var DEBUG_MODE = false; - ✅ Сохранить и залить на сервер
- ✅ Протестировать с реальным номером телефона
- ✅ Убедиться, что SMS приходит
Для разных окружений:
Вариант 1: Разные файлы конфигурации
debug-config.dev.js → DEBUG_MODE = true
debug-config.prod.js → DEBUG_MODE = false
Вариант 2: Переменная окружения в PHP
<?php
$debug_mode = ($_SERVER['HTTP_HOST'] === 'localhost') ? 'true' : 'false';
?>
<script>var DEBUG_MODE = <?= $debug_mode ?>;</script>
🔧 Откат изменений (если нужно)
Если по какой-то причине нужно вернуть всё назад:
1. Удалить debug-config.js
rm /var/www/fastuser/data/www/crm.clientright.ru/erv_ticket/debug-config.js
2. Убрать подключение из index.php
Удалить строки:
<!-- Конфигурация режима отладки -->
<script src="debug-config.js"></script>
3. Вернуть старую логику в common.js
Использовать версию из Git (до этих изменений)
📁 Затронутые файлы
| Файл | Тип изменения | Описание |
|---|---|---|
debug-config.js |
➕ Создан | Конфигурация режима отладки |
js/common.js |
✏️ Изменён | Логика SMS с поддержкой DEBUG_MODE |
index.php |
✏️ Изменён | Подключение конфига + индикатор |
DEBUG_MODE_README.md |
➕ Создан | Инструкция по использованию |
CHANGELOG_DEBUG_MODE.md |
➕ Создан | Этот файл (changelog) |
🎉 Готово!
Теперь можно безопасно разрабатывать и тестировать форму без трат на SMS!
Следующие шаги:
- Протестировать форму в режиме отладки
- Провести все необходимые доработки
- Перед публикацией установить
DEBUG_MODE = false - Протестировать с реальной SMS
- Деплой на продакшен
Автор: AI Assistant
Дата создания: 23.10.2025
Версия: 1.0