Користувальницькькі налаштування

Налаштування сайту


Сайдбар

Розділи

Загальний опис
Історія змін
Рекомендації щодо оновлення
Плани на майбутнє
Відомі проблеми
Онлайн демо
Люди
Трохи про безпеку

FAQ



Редагувати сайдбар

frozenchargedays

Обмеження кількості днів заморозки

Починаючи з версії 0.9.0 додано абсолютно кабалістичну можливість обмеження кількості днів заморозки, доступних для користувача, з наступним кулдауном протягом певного часу, протягом якого користувач неодмінно повинен бути активним, тобто - працювати.

Описується це все наступними опціями конфігу alter.ini ось у такому вигляді (для прикладу):

FREEZE_DAYS_CHARGE_ENABLED=1
FREEZE_DAYS_INITIAL_AMOUNT=365
FREEZE_DAYS_WORK_TO_RESTORE=120

Виходячи з описаних вище значень опцій: кількість днів заморозки, що доступна користувачеві спочатку - 365 (може бути встановлена індивідуально для кожного користувача в профілі), а кількість днів кулдауну - 120 (так само може бути встановлена індивідуально). Це означає, що протягом необмеженого часу користувач може заморожувати/розморожувати свою послугу, але лічильник, тим не менш, тікає кожного дня, доки активна заморозка послуги - зменшується кількість доступних днів заморозки. Коли ці самі доступні дні будуть вичерпані - заморозку у користувача буде відключено і ввімкнути її буде неможливо до тих пір, поки користувач не “відпрацює” 120 днів. При чому він повинен саме бути активним протягом зазначеної кількості днів - просто внести грошей >= кількості днів кулдауну - не вийде. Відповідно, якщо користувач неактивний - дні кулдауну не рахуються. Як тільки користувач чесно відпрацював 120 днів - йому повертається можливість заморожувати послугу і 365 доступних для заморожування днів. Ось якось так.

Вся обробка проводиться щоденним викликом відповідного action з Remote API - freezedayscharge. Бажано до нарахування абонплати.

Наприклад - ось так:

45 23 * * * /bin/ubapi "freezedayscharge" 


Також не забуваємо додати аналогічні опції в userstats.ini

FREEZE_DAYS_CHARGE_ENABLED=1
FREEZE_DAYS_INITIAL_AMOUNT=365
FREEZE_DAYS_WORK_TO_RESTORE=120

щоб хитрі користувачі не могли встановлювати собі заморозку з особистого кабінету в обхід системних налаштувань.

Як ви вже, напевно, зрозуміли, якщо якомусь конкретному користувачеві потрібно відключити обмеження кількості днів призупинення, можна легко “обійти” систему і поставити овер9000 незліченну кількість днів призупинення, або просто поставити значення днів кулдауну рівним 0.


frozenchargedays.txt · Востаннє змінено: 2023/06/15 20:37 повз bobr