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

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


frozenchargedays

Розбіжності

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

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

Порівняння попередніх версій Попередня ревізія
Остання ревізія По сторонах наступні версії
frozenchargedays [2018/05/02 16:48]
frozenchargedays [2022/09/24 14:39]
127.0.0.1 зовнішнє редагування
Рядок 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 доступных для заморозки дней.\\
 +Вот как-то так.
 +
 +Вся обработка производится ежедневным вызовом соответствующего действия из [[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.
 +----
 +
  
frozenchargedays.txt · Востаннє змінено: 2023/06/15 20:37 повз bobr