Короткий доступ: відмінності між версіями
Sv (обговорення | внесок) |
Sv (обговорення | внесок) мНемає опису редагування |
||
(Не показано 5 проміжних версій цього користувача) | |||
Рядок 1: | Рядок 1: | ||
==Описание== | ==Описание== | ||
Нередка ситуация, когда у абонента на счету закончились финансы и он хочет пополнить счет через одну из | Нередка ситуация, когда у абонента на счету закончились финансы и он хочет пополнить счет через одну из платежных систем, но доступ в интернет заблокирован. В этом случае ему можно предложить получить доступ в интернет на короткое время для осуществления оплаты: | ||
[[Файл:Short access.png|724px]] | [[Файл:Short access.png|724px]] | ||
Рядок 6: | Рядок 6: | ||
Особенности модуля: | Особенности модуля: | ||
* кредит не выдается, учетка не переводится в состояние | * кредит не выдается, учетка не переводится в состояние «разблокирована», тем не менее доступ в интернет предоставляется | ||
* настраивается сколько раз в месяц абонент может воспользоваться данной услугой | * настраивается сколько раз в месяц абонент может воспользоваться данной услугой | ||
Рядок 44: | Рядок 44: | ||
<div class='user__ps__main_block'> | <div class='user__ps__main_block'> | ||
Если у вас заблокирован доступ, вы можете | Если у вас заблокирован доступ, вы можете | ||
<a href='?a=u_srv_add&service_id=108'>получить интернет на 10 минут</a> для осуществления оплаты | <a href='?a=u_srv_add&service_id=108'>получить доступ в интернет на 10 минут</a> для осуществления оплаты | ||
</div> | </div> | ||
</pre> | </pre> | ||
Рядок 61: | Рядок 61: | ||
<div class='user__ps__main_block'> | <div class='user__ps__main_block'> | ||
Если у вас заблокирован доступ, вы можете | Если у вас заблокирован доступ, вы можете | ||
<a href='?a=u_srv_add&service_id=108'>получить интернет на 10 минут</a> для осуществления оплаты | <a href='?a=u_srv_add&service_id=108'>получить доступ в интернет на 10 минут</a> для осуществления оплаты | ||
</div> | </div> | ||
</pre> | </pre> | ||
Рядок 71: | Рядок 71: | ||
Кроме установки услуги, в истории абонента появится запись «Установка услуги короткого доступа». По количеству этих записей NoDeny определяет сколько раз устанавливалась данная услуга. | Кроме установки услуги, в истории абонента появится запись «Установка услуги короткого доступа». По количеству этих записей NoDeny определяет сколько раз устанавливалась данная услуга. | ||
<br><br> | <br><br> | ||
Проверим, что noserver откроет доступ | Проверим, что noserver откроет доступ '''заблокированному''' абоненту с услугой короткого доступа: | ||
<pre> | <pre> |
Поточна версія на 08:49, 30 квітня 2022
Описание
Нередка ситуация, когда у абонента на счету закончились финансы и он хочет пополнить счет через одну из платежных систем, но доступ в интернет заблокирован. В этом случае ему можно предложить получить доступ в интернет на короткое время для осуществления оплаты:
Особенности модуля:
- кредит не выдается, учетка не переводится в состояние «разблокирована», тем не менее доступ в интернет предоставляется
- настраивается сколько раз в месяц абонент может воспользоваться данной услугой
Настройка
После «install.pl -x» появится новый тип услуг «Короткий доступ». Создайте услугу этого типа:
- Для версии NoDeny Plus стоимость установите 0.001 (меньше копейки)
- Для версии NoDeny Next стоимость установите 0
Длительность услуги установите, например, в 10 минут (00:10:00)
Теперь на страницу оплаты необходимо добавить кнопку с подключением этой услуги. Страница оплаты хранится в виде шаблона. Выполните:
cat /usr/local/nodeny/web/tmpl/user/pay_base.html
Вы увидите основной шаблон для всех страниц оплаты. Не будем изменять данный файл с шаблоном, а сделаем так, чтобы шаблон брался из базы данных. Перейдите в раздел «Документы» на титульной странице админки.
Если вы до данного момента не создавали шаблоны в разделе «Документы», то вам сначала необходимо создать папку для шаблонов, например, с именем «Кабинет клиента». Справа в поле «теги» обязательно нужно ввести system.
В папке «Кабинет клиента» создайте файл «Платежная страница» (можно иное имя), поставьте такие теги:
system template=user/pay_base
В центральное большое поле ввода вставьте текст из файла /usr/local/nodeny/web/tmpl/user/pay_base.html:
cat /usr/local/nodeny/web/tmpl/user/pay_base.html
Ниже добавьте следующий фрагмент:
<div class='user__ps__main_block'> Если у вас заблокирован доступ, вы можете <a href='?a=u_srv_add&service_id=108'>получить доступ в интернет на 10 минут</a> для осуществления оплаты </div>
В этом тексте необходимо число 108 заменить на id услуги короткого доступа, которую вы создали выше.
Итоговый шаблон будет примерно таким:
<div class='user__ps__main_block'> ... ... {{ template::pay_base.main }} </div> <div class='user__ps__main_block'> Если у вас заблокирован доступ, вы можете <a href='?a=u_srv_add&service_id=108'>получить доступ в интернет на 10 минут</a> для осуществления оплаты </div>
Тестирование
Залогиньтесь как абонент, перейдите на страницу оплаты и попробуйте получить доступ в интернет на короткое время.
Кроме установки услуги, в истории абонента появится запись «Установка услуги короткого доступа». По количеству этих записей NoDeny определяет сколько раз устанавливалась данная услуга.
Проверим, что noserver откроет доступ заблокированному абоненту с услугой короткого доступа:
perl noserver.pl -v -u=186
где 186 - id абонента. Когда используется ключ -u, noserver обрабатывает только данную учетку. Посмотрите, что sql запрос SELECT u.id, u.balance, u.name,... вернул одну строку. Не забывайте, что у абонента должен быть привязан ip-адрес