Небесный 26 Опубликовано: 2010-04-27 08:08:27 Share Опубликовано: 2010-04-27 08:08:27 Знаю тема поднималась не один раз, прошу не пинайте, потому что так и не нашел разумного ответа по поиску. Суть в чем, мне как бы вообще не нужна функция, чтобы считало в минус. Как можно заморозить юзера, при уходе в минус. Это как бы первый вопрос. Суть второго вопроса: Где хранится текст, когда выдает человеку, что его учетная запись заморожена, я бы хотел изменить текст на "На вашем балансе недостаточно средств, пополните счет для продолжения услуги" ... типа того. ))) Или может кто-то подскажет, какой модуль считает баблос, что-бы его немного подкорректировать. ))) И еще вылез вопрос: Юзеры имеют доступ в инэт модемным способом, эм даем им модемы в аренду либо покупка. Вот хорошо бы еще в старе считать эту абонплату: да проблем нету, почему не создать тарифы, где учесть абонплату за модем - такое проходили, при заморозке не считает аренду. ((( Как бы можно было сделать, чтобы при заморозке считало эту чертовую аренду, а то надоело вести бумажные логи в тетрадке. ))) Спасибо за внимание товарищи-коллеги и заранее благодарю за советы. Ссылка на сообщение Поделиться на других сайтах
madf 279 Опубліковано: 2010-04-27 10:22:13 Share Опубліковано: 2010-04-27 10:22:13 Знаю тема поднималась не один раз, прошу не пинайте, потому что так и не нашел разумного ответа по поиску. Суть в чем, мне как бы вообще не нужна функция, чтобы считало в минус. Как можно заморозить юзера, при уходе в минус. Это как бы первый вопрос. Суть второго вопроса: Где хранится текст, когда выдает человеку, что его учетная запись заморожена, я бы хотел изменить текст на "На вашем балансе недостаточно средств, пополните счет для продолжения услуги" ... типа того. ))) Или может кто-то подскажет, какой модуль считает баблос, что-бы его немного подкорректировать. ))) И еще вылез вопрос: Юзеры имеют доступ в инэт модемным способом, эм даем им модемы в аренду либо покупка. Вот хорошо бы еще в старе считать эту абонплату: да проблем нету, почему не создать тарифы, где учесть абонплату за модем - такое проходили, при заморозке не считает аренду. ((( Как бы можно было сделать, чтобы при заморозке считало эту чертовую аренду, а то надоело вести бумажные логи в тетрадке. ))) Спасибо за внимание товарищи-коллеги и заранее благодарю за советы. По поводу текста - projects/stargazer/plugins/authorization/inetaccess.cpp:845: if ((*user)->property.passive.Get()) { SendError(sip, sport, protoVer, "Учетная запись заморожена"); return 0; } (кодировка - KOI8-R). Остальную часть текста пока не осмыслил. Ссылка на сообщение Поделиться на других сайтах
madf 279 Опубліковано: 2010-04-27 10:34:09 Share Опубліковано: 2010-04-27 10:34:09 Про аренду: можно с помощью КК снимать у модемных юзеров по крону баблос со счета за аренду модема. Все никак не допилю сервисы Ссылка на сообщение Поделиться на других сайтах
madf 279 Опубліковано: 2010-04-27 10:36:04 Share Опубліковано: 2010-04-27 10:36:04 Баблос считает модуль projects/stargazer/user.cpp:801 и projects/stargazer/user.cpp:897 (методы AddTraffStatU и AddTraffStatD). Ссылка на сообщение Поделиться на других сайтах
madf 279 Опубліковано: 2010-04-27 10:39:00 Share Опубліковано: 2010-04-27 10:39:00 Не снимать абонку при отрицательном балансе можно добавив проверку в строках 1213 и 1245 файла projects/stargazer/user.cpp. Что-то вроде такого (не проверял): if (c > 0) property.cash.Set(c - f, sysAdmin, login, store, "Subscriber fee charge"); Но это quick&dirty. Ссылка на сообщение Поделиться на других сайтах
Небесный 26 Опубліковано: 2010-04-27 11:24:25 Автор Share Опубліковано: 2010-04-27 11:24:25 Не снимать абонку при отрицательном балансе можно добавив проверку в строках 1213 и 1245 файла projects/stargazer/user.cpp. Что-то вроде такого (не проверял): if (c > 0) property.cash.Set(c - f, sysAdmin, login, store, "Subscriber fee charge"); Но это quick&dirty. Так и не нашел столько строк у себя в файле. ))) В исходниках projects/stargazer/user.cpp в этом файле у меня вообще всего то 807 строк. А, забыл еще сказать 406 версия. Ссылка на сообщение Поделиться на других сайтах
madf 279 Опубліковано: 2010-04-27 12:31:15 Share Опубліковано: 2010-04-27 12:31:15 Не снимать абонку при отрицательном балансе можно добавив проверку в строках 1213 и 1245 файла projects/stargazer/user.cpp. Что-то вроде такого (не проверял): if (c > 0) property.cash.Set(c - f, sysAdmin, login, store, "Subscriber fee charge"); Но это quick&dirty. Так и не нашел столько строк у себя в файле. ))) В исходниках projects/stargazer/user.cpp в этом файле у меня вообще всего то 807 строк. А, забыл еще сказать 406 версия. Я для 2.407-rc1 указывал. Короче, это методы ProcessDayFeeSpread и ProcessDayFee. Ссылка на сообщение Поделиться на других сайтах
madf 279 Опубліковано: 2010-04-27 12:34:41 Share Опубліковано: 2010-04-27 12:34:41 К стати: ~/Projects/STG/stg-2.406/projects/stargazer$ wc -l user.cpp 1486 user.cpp И в этой версии это строки 1302 и 1326. Специально для проверки слил с сайта и распаковал. Ссылка на сообщение Поделиться на других сайтах
Небесный 26 Опубліковано: 2010-04-27 14:42:35 Автор Share Опубліковано: 2010-04-27 14:42:35 Я уже нашел, не успел отписаться, откомпилил, бум смотреть. ))) В общем если баланс не будет уходить в минус, разве что последнее снятие абонки будет в минус, тогда и идею с заморозкой можно оставить в покое, и пусть заморозка использует изначально свою функцию. Кстати, а виндового конфигуратора нету на Делфи? Роднее мне этот язык, там бы я его переписал себе под модемы - отдельно все крутилось, просто в одной оболочке было бы. Ссылка на сообщение Поделиться на других сайтах
madf 279 Опубліковано: 2010-04-28 07:34:47 Share Опубліковано: 2010-04-28 07:34:47 Я уже нашел, не успел отписаться, откомпилил, бум смотреть. ))) В общем если баланс не будет уходить в минус, разве что последнее снятие абонки будет в минус, тогда и идею с заморозкой можно оставить в покое, и пусть заморозка использует изначально свою функцию. Кстати, а виндового конфигуратора нету на Делфи? Роднее мне этот язык, там бы я его переписал себе под модемы - отдельно все крутилось, просто в одной оболочке было бы. Вроде кто-то что-то когда-то писал на Delphy. Только, кажется, это был авторизатор а не конфигуратор. В принципе есть srvconf.lib, которую можно собрать как DLL и использовать хоть из Delphy, хоть из Vidual Basic. Да, сам конфигуратор эту либу не использует - руки не доходят его переписать. Ссылка на сообщение Поделиться на других сайтах
Небесный 26 Опубліковано: 2010-04-28 11:18:39 Автор Share Опубліковано: 2010-04-28 11:18:39 Вроде кто-то что-то когда-то писал на Delphy. Только, кажется, это был авторизатор а не конфигуратор. В принципе есть srvconf.lib, которую можно собрать как DLL и использовать хоть из Delphy, хоть из Vidual Basic. Да, сам конфигуратор эту либу не использует - руки не доходят его переписать. Да, авторизатор пислаи под Делфу, знакомый мой, ну что ж тогда бум пробовать что-то на С++ ковырять. Еще вопрос, я вижу в новой сборке в конфиге добавился раздел # Модуль захвата трафика "mod_cap_nf.so" # Принимает информацию о трафике по протоколу NetFlow # Второй параметер - это имя модуля без mod_ в начале и .so в конце <Module cap_nf> # TCPPort - порт для TCP-соединений TCPPort = 42111 # UDPPort - порт для UDP-соединений UDPPort = 42111 # Могут иметь совпадающие значения. # Если параметр не указан - соответствующий порт не "прослушивается". </Module> Порты какие для него выбирать, такие как и у авторизатора или какие-то другие? Не совсем понял, когда читал ман. Ссылка на сообщение Поделиться на других сайтах
madf 279 Опубліковано: 2010-04-28 13:20:33 Share Опубліковано: 2010-04-28 13:20:33 Вроде кто-то что-то когда-то писал на Delphy. Только, кажется, это был авторизатор а не конфигуратор. В принципе есть srvconf.lib, которую можно собрать как DLL и использовать хоть из Delphy, хоть из Vidual Basic. Да, сам конфигуратор эту либу не использует - руки не доходят его переписать. Да, авторизатор пислаи под Делфу, знакомый мой, ну что ж тогда бум пробовать что-то на С++ ковырять. Еще вопрос, я вижу в новой сборке в конфиге добавился раздел # Модуль захвата трафика "mod_cap_nf.so" # Принимает информацию о трафике по протоколу NetFlow # Второй параметер - это имя модуля без mod_ в начале и .so в конце <Module cap_nf> # TCPPort - порт для TCP-соединений TCPPort = 42111 # UDPPort - порт для UDP-соединений UDPPort = 42111 # Могут иметь совпадающие значения. # Если параметр не указан - соответствующий порт не "прослушивается". </Module> Порты какие для него выбирать, такие как и у авторизатора или какие-то другие? Не совсем понял, когда читал ман. При чем тут авторизатор? Тем более UDP-шный порт не сможет привязаться - авторизатор тоже по UDP работает, а TCP сделан для совместимости с nf-proxy (или как-то так) от Max. Порты выбирай любые свободные. Ссылка на сообщение Поделиться на других сайтах
Небесный 26 Опубліковано: 2010-04-29 12:59:01 Автор Share Опубліковано: 2010-04-29 12:59:01 Такой еще вопрос. Сделал реализацию шейпера через скрипты ОнКоннект и ОнДисконект, все работает прекрасно, если бы не одно НО. Когда когда человек стоит на пометке всегда ОнЛайн, у него скорость не меняется из-за того, что не сработали скрипты ОнДисконект, ОнКонект - скорость не изменилась. Или же когда человек сидит под авторизатором и в этом время Онлайн. Выход конечно есть, снять галочку, а потом ее поставить, при этом скрипты ОнДисконекта и ОнКонекта отработаются. У авторизатора отработаются только в том случае, если он отключится-подключится. Пришла такая идея в голову, в скрипт ОнЧендж всунуть, отработку скриптов, с каким-то условием, например: 1-е условие: если у человека стоит галка всегда онлайн - отработать скрипты ОнДисконект-ОнКонект.2-е условие: если человек подключен авторизатором, проверить его на живность - и потом отработать скрипты Ссылка на сообщение Поделиться на других сайтах
madf 279 Опубліковано: 2010-04-30 07:12:16 Share Опубліковано: 2010-04-30 07:12:16 Правильно ли я понял что данные для шейпера хранятся в каком-то поле юзера, а настройка шейпера происходит при OnConnect/OnDisconnect? Тогда более правильное решение - анализировать второй параметр скрипта OnChange (название изменяемого параметра). И если изменяется шейп - вносить соответствующие коррективы. При этом, я думаю, более правильно было бы вынести управление шейпером в отдельные скрипты и вызывать их из OnConnect/OnDisconnect/OnChange, а не дергать OnDisconnect/OnConnect из OnChange. Ссылка на сообщение Поделиться на других сайтах
Небесный 26 Опубліковано: 2010-04-30 07:55:14 Автор Share Опубліковано: 2010-04-30 07:55:14 Тоже вариант. ))) Спасибо за идею. А, вообще 5 день стоит уже стар - полет нормальный !!! root@Shlyz:~# uname -aLinux Shlyz 2.6.31-14-server #48-Ubuntu SMP Fri Oct 16 15:07:34 UTC 2009 x86_64 GNU/Linux Ссылка на сообщение Поделиться на других сайтах
DAnEq 5 Опубліковано: 2017-04-27 13:48:11 Share Опубліковано: 2017-04-27 13:48:11 добрый день.версия старгейзера 2.409 rc2тоже снимет плату при минусовом балансеfreebsd 9.3в папке projects/stargazer/ файла user.cpp нету.куда копать ? Ссылка на сообщение Поделиться на других сайтах
madf 279 Опубліковано: 2017-04-27 15:10:52 Share Опубліковано: 2017-04-27 15:10:52 добрый день. версия старгейзера 2.409 rc2 тоже снимет плату при минусовом балансе Читать документацию. Вот эту: http://stg.net.ua/doc/ch04.html freebsd 9.3 в папке projects/stargazer/ файла user.cpp нету. куда копать ? Куда-куда, в Китай! С чего бы ему там быть? Ссылка на сообщение Поделиться на других сайтах
Рекомендованные сообщения
Создайте аккаунт или войдите в него для комментирования
Вы должны быть пользователем, чтобы оставить комментарий
Создать аккаунт
Зарегистрируйтесь для получения аккаунта. Это просто!
Зарегистрировать аккаунтВхід
Уже зарегистрированы? Войдите здесь.
Войти сейчас