Короткий доступ: відмінності між версіями

Матеріал з NoDeny
Перейти до навігації Перейти до пошуку
мНемає опису редагування
 
(Не показано 7 проміжних версій цього користувача)
Рядок 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:
&lt;div class='user__ps__main_block'&gt;
&lt;div class='user__ps__main_block'&gt;
   Если у вас заблокирован доступ, вы можете
   Если у вас заблокирован доступ, вы можете
     &lt;a href='?a=u_srv_add&service_id=108'>получить интернет на 10 минут&lt;/a&gt; для осуществления оплаты
     &lt;a href='?a=u_srv_add&service_id=108'>получить доступ в интернет на 10 минут&lt;/a&gt; для осуществления оплаты
&lt;/div&gt;
&lt;/div&gt;
</pre>
</pre>
Рядок 68: Рядок 68:


Залогиньтесь как абонент, перейдите на страницу оплаты и попробуйте получить доступ в интернет на короткое время.
Залогиньтесь как абонент, перейдите на страницу оплаты и попробуйте получить доступ в интернет на короткое время.
<br>
<br><br>
Кроме установки услуги, в истории абонента появится запись Установка услуги короткого доступа
Кроме установки услуги, в истории абонента появится запись «Установка услуги короткого доступа». По количеству этих записей NoDeny определяет сколько раз устанавливалась данная услуга.
<br><br>
Проверим, что noserver откроет доступ '''заблокированному''' абоненту  с услугой короткого доступа:
 
<pre>
perl noserver.pl -v -u=186
</pre>
 
где 186 - id абонента. Когда используется ключ -u, noserver обрабатывает только данную учетку. Посмотрите, что sql запрос SELECT u.id, u.balance, u.name,... вернул одну строку. Не забывайте, что у абонента должен быть привязан ip-адрес

Поточна версія на 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-адрес