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

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


frozenchargedays

Розбіжності

Тут показані розбіжності між вибраною ревізією та поточною версією сторінки.

Посилання на цей список змін

Порівняння попередніх версій Попередня ревізія
Попередня ревізія
frozenchargedays [2018/04/25 16:27]
frozenchargedays [2023/06/15 20:37] (поточний)
bobr
Рядок 1: Рядок 1:
 +====== Обмеження кількості днів заморозки ======
 +Починаючи з версії 0.9.0 додано <del>абсолютно кабалістичну</del> можливість обмеження кількості днів заморозки, доступних для користувача, з наступним кулдауном протягом певного часу, протягом якого користувач неодмінно повинен бути активним, тобто - працювати.
 +
 +Описується це все наступними опціями конфігу [[alteriniconf|alter.ini]] ось у такому вигляді (для прикладу):\\
 +<code ini>
 +FREEZE_DAYS_CHARGE_ENABLED=1
 +FREEZE_DAYS_INITIAL_AMOUNT=365
 +FREEZE_DAYS_WORK_TO_RESTORE=120
 +</code>
 +
 +Виходячи з описаних вище значень опцій: кількість днів заморозки, що доступна користувачеві спочатку - 365 (може бути встановлена індивідуально для кожного користувача в профілі), а кількість днів кулдауну - 120 (так само може бути встановлена індивідуально). Це означає, що протягом необмеженого часу користувач може заморожувати/розморожувати свою послугу, але <del>лічильник, тим не менш, тікає</del> кожного дня, доки активна заморозка послуги - зменшується кількість **доступних днів заморозки**. Коли ці самі доступні дні будуть вичерпані - заморозку у користувача буде відключено і ввімкнути її буде **неможливо** до тих пір, поки користувач не "відпрацює" 120 днів. При чому він повинен саме бути активним протягом зазначеної кількості днів - просто внести грошей >= кількості днів кулдауну - не вийде. Відповідно, якщо користувач неактивний - дні кулдауну не рахуються. Як тільки користувач <del>чесно</del> відпрацював 120 днів - йому повертається можливість заморожувати послугу і 365 доступних для заморожування днів.
 +Ось якось так.
 +
 +Вся обробка проводиться щоденним викликом відповідного action з [[remoteapi|Remote API]] - //freezedayscharge//. Бажано **до** нарахування абонплати.
 +
 +Наприклад - ось так:
 +<code bash>
 +45 23 * * * /bin/ubapi "freezedayscharge" 
 +</code>
 +
 +\\
 +Також не забуваємо додати аналогічні опції в [[userstats|userstats.ini]]
 +<code ini>
 +FREEZE_DAYS_CHARGE_ENABLED=1
 +FREEZE_DAYS_INITIAL_AMOUNT=365
 +FREEZE_DAYS_WORK_TO_RESTORE=120
 +</code>
 +щоб <del>хитрі</del> користувачі не могли встановлювати собі заморозку з особистого кабінету в обхід системних налаштувань. 
 +\\
 +\\
 +
 +Як ви вже, напевно, зрозуміли, якщо якомусь конкретному користувачеві потрібно відключити обмеження кількості днів призупинення, можна легко "обійти" систему і поставити <del>овер9000</del> незліченну кількість днів призупинення, або просто поставити значення днів кулдауну рівним 0.
 +----
 +