blackjack
NoDeny
Старожил
Карма: 24
Offline
Сообщений: 352
|
|
« : 19 Сентября 2009, 17:03:47 » |
|
Всем привет. На даный момент есть две версии: одна постарше, другую сегодня переписал.
Что умеет первая. Из клиентской статистики Создавать/Продлевать подписку и сразу снимать деньги за весь период подписки. Из админки Создавать/Удалять/Изменять/Снимать деньги
Основное отличие другой от первой это снятие денег происходит через биллинг, используя фишку "Услуги". Работает так: из Клиентской статистики юзер делает себе подписку, ему ставится галочка и создается подписка на антивирусном сервере, после этого он может со своей странички либо скачать агент, либо отказаться от подписки, то же видно и из админки. Создается подписка до конца текущего месяца. Это один файл.
Другой файл это перл-скрипт который должен запускаться по крону после отработки скрипта перехода на новый месяц. Этот скрипт проверяет не удалил ли себе юзер подписку, и если он этого не сделал то подписка продлевается еще на месяц.
Тоесть получается что логику немного разделили, снятием денег занимается Ноденай, а подпиской управляет модуль, и с деньгами модуль не связан никак кроме как единожды при создании подписки для юзера активирует эту услугу.
ПС. Спасибо elite за некоторые наводки.
|
|
« Последнее редактирование: 19 Сентября 2009, 17:06:01 от blackjack »
|
Записан
|
|
|
|
Cell
|
|
« Ответ #1 : 19 Сентября 2009, 17:59:39 » |
|
Так а где сам модуль? Религия не позволяет выложить?
|
|
|
Записан
|
|
|
|
elite
Начальник планеты
NoDeny
Спец
Карма: 52
Offline
Сообщений: 1226
In LAN we trust!
|
|
« Ответ #2 : 19 Сентября 2009, 23:16:52 » |
|
Альтернативная версия скриптика by cell В этой версии клиент активирует подписку на определенный период, деньги снимаются ежемесячно путем добавления услуги в биллинге. Распространяется бесплатно "как есть", любые доработки приветствуются
|
|
« Последнее редактирование: 19 Сентября 2009, 23:29:41 от elite »
|
Записан
|
|
|
|
Cell
|
|
« Ответ #3 : 20 Сентября 2009, 00:02:08 » |
|
ну начнем с того, что за основу все-таки была взята младшая версия by blackjack. Во-вторых там и сейчас есть к чему придраться т.к. до этого случая я perl в глаза не видел. Все как-то больше php да php, поэтому мне было тяжело и применялся коллективный разум. Думается что общими усилиями мы сможем вылизать модуль до такой степени что разработчики захотят его включить в официальную поставку в качестве бесплатного модуля. На бесплатности я настаиваю т.к. все-равно по другому ничего не выйдет ))
|
|
|
Записан
|
|
|
|
blackjack
NoDeny
Старожил
Карма: 24
Offline
Сообщений: 352
|
|
« Ответ #4 : 20 Сентября 2009, 10:47:27 » |
|
открою небольшой секрет, если внимательно почитать доку, то там написано, что изучите файл calls.pl и если его изучить, жизнь становится веселее, например полноценная замена %expd=('01'=>31,'02'=>28,'03'=>31,'04'=>30,'05'=>31,'06'=>30,'07'=>31,'08'=>31,'09'=>30,'10'=>31,'11'=>30,'12'=>31);
в файле calls.pl есть готовая функция
&GetMaxDayInMonth($mon_num)
а как же происходит продление подписки на следующий месяц на антивирусном сервере?
|
|
|
Записан
|
|
|
|
elite
Начальник планеты
NoDeny
Спец
Карма: 52
Offline
Сообщений: 1226
In LAN we trust!
|
|
« Ответ #5 : 20 Сентября 2009, 11:09:25 » |
|
открою небольшой секрет, если внимательно почитать доку, то там написано, что изучите файл calls.pl и если его изучить, жизнь становится веселее, например полноценная замена %expd=('01'=>31,'02'=>28,'03'=>31,'04'=>30,'05'=>31,'06'=>30,'07'=>31,'08'=>31,'09'=>30,'10'=>31,'11'=>30,'12'=>31);
в файле calls.pl есть готовая функция
&GetMaxDayInMonth($mon_num)
ну можно и так а как же происходит продление подписки на следующий месяц на антивирусном сервере?
а клиент сразу активирует подписку на нужное число месяцев
|
|
|
Записан
|
|
|
|
Cell
|
|
« Ответ #6 : 20 Сентября 2009, 12:27:04 » |
|
в файле calls.pl есть готовая функция &GetMaxDayInMonth($mon_num)
Мы это учтем в следующих версиях. Перенесем также данные о сроке подписки в таблицу дополнительных данных, несколько функций для продления подписки и ..... работу с тарифными планами ))) т.к. др.веб уже четыре вменяемых тарифных плана имеет и пятый не вменяемый )
|
|
|
Записан
|
|
|
|
blackjack
NoDeny
Старожил
Карма: 24
Offline
Сообщений: 352
|
|
« Ответ #7 : 20 Сентября 2009, 17:01:35 » |
|
Вот так теперь выглядит сраничка пользователя.
|
|
|
Записан
|
|
|
|
Cell
|
|
« Ответ #8 : 20 Сентября 2009, 23:33:58 » |
|
Действительно прикольно выглядит ) только у тебя один выход остается - выкладывать свои творения. Коммерческая составляющая этого модуля похоронена.
|
|
|
Записан
|
|
|
|
elite
Начальник планеты
NoDeny
Спец
Карма: 52
Offline
Сообщений: 1226
In LAN we trust!
|
|
« Ответ #9 : 22 Сентября 2009, 19:54:44 » |
|
версия 2.1
Дополнено: в настройках модуля указываешь id услуги, которая будет снимать деньги со счета абонента
|
|
|
Записан
|
|
|
|
|
Cell
|
|
« Ответ #11 : 29 Сентября 2009, 18:15:33 » |
|
а в начале скрипта конфиг есть малюсенький... покажите-ка его сюда... пароль можно заменить конечно ))
|
|
|
Записан
|
|
|
|
Arsenal
|
|
« Ответ #12 : 29 Сентября 2009, 21:31:15 » |
|
#!/usr/bin/perl^M ^M #^M #лНДСКЭ ОНДОХЯЙХ МЮ Dr.Web AV-desk^M #v.2.1 (21/09/2009)^M #By Cell & Elite^M ^M $VER=50.28;^M ^M use LWP; use XML::Simple;^M use Data::Dumper;^M use Digest::MD5 qw(md5 md5_hex md5_base64);^M ^M ^M $av_server="inet.server:9080";^M $av_realm="XMLAPI";^M $av_admin="admin";^M $av_passwd="bla-bla-bla";^M $av_api_link=" http://inet.server:9080/api/2.0/";^M ^M $srvs_numb=2;^M ^M ^M Извиняюсь что так, но копировал прямо из патти
|
|
|
Записан
|
|
|
|
Cell
|
|
« Ответ #13 : 29 Сентября 2009, 21:50:39 » |
|
а вы объясните как вы этого добиваетесь, что у вас в конфиге стоит порт 9080 работает ссылка по порту 8780 а скрипт выдает вообще по 80 непонятно ))))
|
|
« Последнее редактирование: 29 Сентября 2009, 21:54:10 от cell »
|
Записан
|
|
|
|
Arsenal
|
|
« Ответ #14 : 01 Октября 2009, 08:03:46 » |
|
1-й это был пример, я точно не помнил порт. 9080 это на котором Реально работает др.веб. я могу сменить на любой другой порт, кроме 443 и 80, но думаю картина не изменится
|
|
|
Записан
|
|
|
|
|