Тип контенту
Профили
Форум
Календарь
Сообщения додав nlo
-
-
сделал так:
if [ "${param}" = "tariff" ]
Заработало
аналогично в cash
Теперь осталось пулять это в почту
Вообще-то так и было в скрипте.
Найди одно отличие :-)
if [ "${param}" == "tariff" ] if [ "${param}" = "tariff" ]
-
сделал так:
if [ "${param}" = "tariff" ]
Заработало
аналогично в cash
Теперь осталось пулять это в почту
с морды работает
Спасибо
Надеюсь на примере смогу дописать нужные функции
-
нет ничего не менял кроме конечно переменных
Всё проверил 1 в 1 я же копипастил
-
#!/bin/sh login=$1 param=$2 oldValue=$3 newValue=$4 SGCONF="../sgconf/sgconf" HOST="localhost" PORT="5558" ADMIN_LOGIN="admin" ADMIN_PASSWORD="123456" msg="" if [ "${param}" == "tariff" ] then msg="Ваш тариф изменен с '${oldValue}' на '${newValue}'." else if [ "${param}" == "cash" ] then if [ $(echo "$oldValue < $newValue" | bc) -eq 1 ] then d=$( echo "$newValue - $oldValue" | bc ) msg="Ваш баланс увеличен на ${d} денег. Текущее состояние баланса: ${newValue} денег." fi fi fi if [ "${msg}" != "" ] then $SGCONF set -s $HOST -p $PORT -a $ADMIN_LOGIN -w $ADMIN_PASSWORD -u $login -m "${msg}" fi
Я долго и нудно перед этим писал пост о том как все это работает, почему может не работать и что в этом случае делать. Я приводил какие-то доказательства работоспособности и всякие другие подобные мелочи. Но форум взял и покорявил мой пост. По этому я его удалил и забил писать заново. Вот скрипт. Разбирайтесь.
Вот что выдаёт на ваш скрипт:
# ./OnChange test tariff a b
[: 33: tariff: unexpected operator
[: 33: tariff: unexpected operator
естественно не работает и из под морды
тоже самое на параметр cash
-
Не заполнили параметр url в ubagent.ini соответственно своим текущим реалиям. Также в userstats.ini требуется UBA_ENABLED=1
Ну я совсем нааверно похож на тормоза?
Естественно первым делом я подправил ini файлы
Всё как написано в обновке и по ссылке что Вы любезно предоставили :-)
по этому умолчал факт правки ini файлов потому что это естественный процесс!
И на линухе так выдаёт:
ну примерно та же ошибка что и на венде
-
скачал
запускаю, не работает
пишет что то типа:
Gird file doesn't exists.
ну типа при нажатии ОК игнорируем риск повреждения данных
Cancel Убивает программу
если жмёшь ОК то вылазиет пустое окно с пустыми кнопками и гдето на пустых кнопках рисунок логотип
Скажите что это я не так что то намудрил?
-
Простите не додумался :-)
Подскажите вот это как?
* Кабинет пользователя: новая опция UBA_ENABLED включающая поддержку UBAgent
С чем это едят и для чего?
-
-
У юзверя в Личном кабинете раздел карты оплаты пишет:
Ошибка
Извините но вы исчерпали количество попыток
Где разблокировать эту фитчу?
Что то в морде всё перетыкал но не нашло
За ранее спасибки :-)
-
Релиз Ubilling 0.2.8 rev 1629
* alter.ini: новая опция SAFE_REGMODE отвечающая за запрет ручной модификации важных штук при регистрации
* alter.ini: новая опция TICKETS_PERPAGE указывающая на количество тикетов на страницу в хелпдеске
* alter.ini: новая опция NDS_ENABLED включающая поддержку учета НДС
* alter.ini: новая опция NDS_TAGID указывающая на ID тега соответствующего пользователю плательщику НДС
* alter.ini: новая опция NDS_TAX_PERCENT указывающая процентную ставку НДС
* alter.ini: новая опция FAST_CASH_LINK включающая дополнительные ссылки к модулю "финансовые операции"
* Изменения в структуре БД, см. дамп.
* Модуль "Онлайн": добавленные правильные фильтры для сортировки по трафику и IP при включенном ONLINE_HP_MODE
* Модуль "Онлайн": исправлено отображение трафика при включенном ONLINE_HP_MODE
* Модуль "Регистрация пользователей": введены дополнительные проверки на тему заполнения номера квартиры
* Модуль "Смена MAC": улучшено логирование, теперь понятно откуда и куда что изменилось
* Модуль "Смена MAC": теперь все устанавливаемые MAC принудительно сводятся к нижнему регистру. ХвАтИт гЛомУрНых кИс.
* Модуль "Сервера доступа": убран за ненадобностью тип NAS mtradius, добавлен local
* Модуль "Хелпдеск": добавлена постраничная навигация по тикетам
* Модуль "Профиль пользователя": подсветка иконками при замороженности либо отлюченности пользователя
* Модуль "Профиль пользователя": плагины профиля рассортированы с учетом человеческой анатомии
* Модуль "Смена договора": теперь автоматически подставляется первый же свободный номер договора
* Модуль "DHCP": дополнительная фильтрация в поле "Имя конфига DHCP"
* Модуль "Финансовые операции": теперь рядом с текущим балансом подсвечивается на сколько относительно тарифа хватит средств
* Новый модуль "Отчет по платежным карточкам" отображающий использование карточек за выбранный период
* Новый модуль "НДС" отображающий финансовый отчет только по плательщикам НДС
* Новый модуль "Шаблоны атрибутов Radius" - позволяет описывать шаблоны атрибутов для серверов доступа с типом Radius
* Новый плагин профиля "Атрибуты радиуса" - перестраивающий атрибуты для пользователя
* Новый плагин профиля "Печать документов" - делает то, что подразумевает его название, как ни удивительно
* КТВ: возможность удаления абонентов
* КТВ: добавлена трансляция тарифа в отчете по должникам
* КТВ: ссылка в профиль в непечатной версии отчета по должникам
* КТВ: добавлена трансляция месяца оплаты
* Панель задач: при включенной поддержке КТВ также отображается иконка перехода к списку пользователей
* Много всякой косметики во все поля.
* Кабинет пользователя: новая опция UBA_ENABLED включающая поддержку UBAgent
* Кабинет пользователя: теперь в профиле отображается стоимость тарифа
* Обновился автообновлятор (рекурсивная рекурсия гы) - теперь он бекапит при обновлении также шаблоны документов, и catv.ini
Обновление:
Вкатываем на БД следующий дамп:
CREATE TABLE `nastemplates` ( `id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY , `nasid` INT NOT NULL , `template` TEXT NOT NULL ) ENGINE = MYISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ; CREATE TABLE `radattr` ( `id` int(11) NOT NULL auto_increment, `login` varchar(255) NOT NULL, `attr` varchar(255) NOT NULL, `value` varchar(255) NOT NULL, PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1;
в конец конфига alter.ini добавляем следующие опции:
SAFE_REGMODE=1 TICKETS_PERPAGE=50 NDS_ENABLED=0 NDS_TAGID=9 NDS_TAX_PERCENT=20 FAST_CASH_LINK=0
В конец конфига userstats.ini добавляем опцию:
UBA_ENABLED=1
После чего обновляемся штатным обновлятором. После апдейта можно заменить старый обновлятор новым - дабы при последующих обновлениях он бекапил опции КТВ и шаблоны документов.
Спасибо отлично обновилось
один недочёт
в папке с иконками были загружены иконки для загрузок
и ой они пропале :-) пришлось вытягивать иконки с бэкапа
если что ещё замечу отпишусь
Ещё разик спасибки!
-
1. Покажи вывод
ls -al /etc/stargazer
2. Есть ли в /etc/sudoers ?
User_Alias BILLING = www-data BILLING ALL = NOPASSWD: ALL
3. В скрипте я бы указывал полный путь до sgconf
4. Стукните чтоле в аську. Дадите доступ - помогу разобраться.
это всё есть и указано
Мой скрипт пробовал?
Нет пока не пробовал
Времени щас ни на что катастрофически не хватает
Щас немного разгребу завалы и начну пробовать
Спасибо огромное за помощь всем!
-
1. Покажи вывод
ls -al /etc/stargazer
2. Есть ли в /etc/sudoers ?
User_Alias BILLING = www-data BILLING ALL = NOPASSWD: ALL
3. В скрипте я бы указывал полный путь до sgconf
4. Стукните чтоле в аську. Дадите доступ - помогу разобраться.
это всё есть и указано
-
Что то вы меня совсем запутале!
Выкладываю свои текущие скрипты:
OnChange
#! /bin/sh login=$1 param=$2 oldValue=$3 newValue=$4 #Записываем переменные по файлам для проверки потом можноо будет удалить этот код echo $login >/etc/stargazer/tmp/login.ini echo $param >/etc/stargazer/tmp/param.ini echo $oldValue >/etc/stargazer/tmp/oldValue.ini echo $newValue >/etc/stargazer/tmp/newValue.ini #Вызываем процедуру отправки ./messages $login $param $oldValue $newValue #Записываем в лог echo "User: '$login'. Parameter $param changed from '$oldValue' to '$newValue'" >> /var/log/stg/users.chg.log
messages
#!/usr/bin/php <?php $login = $argv[1]; $param = $argv[2]; $oldValue = $argv[3]; $newValue = $argv[4]; $msg = ''; mysql_connect('localhost','stg','passwd'); mysql_select_db('stg'); putenv('LANG=ru_RU.UTF-8'); $query = mysql_query('select t.`Fee` as `Fee`, t.`name` as `TariffName`,u.`Email` as `Email`, u.`Credit` as `Credit` from `users` as u LEFT JOIN `tariffs` as t ON t.`name` = u.`Tariff` where u.`Login`="' . $login . '"'); $result = mysql_fetch_assoc($query); if ($param == 'tariff') $msg = "Ваш тариф изменен с '$oldValue' на '$newValue'.n"; else if ($param == 'cash') { if ($oldValue < $newValue) { $msg = "Ваш баланс увеличен на: ".($newValue - $oldValue)." руб., и теперь составляет $newValue руб.n"; } else if ($newValue < 50) { $msg = "Обратите внимание на вашем балансе осталось $newValue руб.!n"; } } else if ($param == 'credit') { $msg = "Ваш кредитный лимит изменен с $oldValue руб. до $newValue руб.n"; } else if ($param == 'disabled') { if ($newValue < $oldValue) { $msg = "Доступ в интернет заблокирован.n"; } if ($newValue > $oldValue) { $msg = "Доступ в интернет открыт.n"; } } if ($msg != '') { $msg = "$login, здравствуйте!nn$msgn C уважением, Администратор сети."; // echo("sgconf set -s localhost -p 5555 -a admin -w passwd -u $login -m '$msg'"); exec("sgconf set -s localhost -p 5555 -a admin -w passwd -u $login -m '$msg'"); // echo("$result[Email]"); //if ($result['Email'] != "") { // echo("mail($result['Email'], 'Billing system', $msg)"); //} } ?>
Ну и что тут не так и почему не работает?
Объясняю
Запускаю вручную ./OnChange login tariff admin tarif1
Сообщение приходит
подставляю другие параметры тоже приходит
меняю с вебморды ничего не приходит
с конфигуратора меняю аналогично не приходит
смотрю вывод параметров в файлы
#Записываем переменные по файлам для проверки потом можноо будет удалить этот код echo $login >/etc/stargazer/tmp/login.ini echo $param >/etc/stargazer/tmp/param.ini echo $oldValue >/etc/stargazer/tmp/oldValue.ini echo $newValue >/etc/stargazer/tmp/newValue.ini
предварительно их удалив и поочередно меняя параметры с морды проверяю наличие файлов - их просто нет они не создаются и параметры в них не записываются
аналогичное происходит и при использовании конфигуратора
что не так то?
или может я неправильно объяснил суть проблемы?
Огромное спасибо всем за помощь!
-
ООО!
Сколько всего написале!
Зачем так всо усложнять? :-)
Нужно просто и информативно
Не нужно за ранее ничего только по факту!
если за ранее всех предупреждать то никаких ресурсов не хватит
у нас например многие ложат на инет по 5 10 30 рублей
с учётом того что стг настроен на ежедневное снятие абонки
вы представьте сколько нужно будет отправить месаг
ведь тема затронута мной в целях автоматизации абонентов
что бы как можно меньше задействовать админа
что бы все всё делали самостоятельно
в начале был задан вопрос
1) при изменении тарифа юзверь должен получать уведомление с какого тарифа на какой он переключился в программу авторизатор
2) при зачислении средств на счёт в программу авторизатор получал сообщение что средства в таком то размере зачислены (а то звонят и спрашивают когда придут средства хотя средства уже зачислены на счёт)
3) при блокировании и разблокировании доступа в инет тоже в тот же авторизатор юзверь получал сообщение что его лишили или разрешили инета'a
ну вот основные критерии что бы свести к минимуму работу админа занимающегося этой фигнёй вручную
СПАСИБО
А насчёт научить я научусь я же не тупой обучаться умею
:-)
-
Но когда с конфигуратора пополнял баланс сообщение всё равно не пришло хотя в файлы занесло значения переменных правильные
а когда с морды пополняешь баланс в файлы не записывается ничего следовательно скрипт OnChange не выполняется
-
Супер! Мы тут месяц со скриптами возимся, а оказывается что они вообще не запускаются! При изменении из конфигуратора (графического или консольного) запускаются?Стоп! OnChange не запускается при изменении с вебадминки что сделать что бы оно запускалось?Да с конфигуратора когда баланс пополняешь скрипт OnChange запускается
-
Стоп!
OnChange не запускается при изменении с вебадминки
что сделать что бы оно запускалось?
-
Ну чудес же не бывает!?
Почему с командной строки отправляет а когда в веб админке что либо меняешь например увеличиваешь баланс то сообщение не приходит!
Хотя все переменные соответствуют заданным
Почему с веб админки не отправляет?
Что и как и где можно посмотреть?
OnChange при этом выполняется?
Ну в манах написано что при изменениях запускается скрипт OnChange проверял да запускается записывает переменные по файлам простая проверка однако ничего не приходит
но запуская с шелл ./Onchange nick param oldvalue nevalue всё чётко отправляется
куда копать?
Запускается с правильными параметрами?
Ну раз в файлах нужное содержание переменных значит они задаются правильно!
-
Ну чудес же не бывает!?
Почему с командной строки отправляет а когда в веб админке что либо меняешь например увеличиваешь баланс то сообщение не приходит!
Хотя все переменные соответствуют заданным
Почему с веб админки не отправляет?
Что и как и где можно посмотреть?
OnChange при этом выполняется?
Ну в манах написано что при изменениях запускается скрипт OnChange проверял да запускается записывает переменные по файлам простая проверка однако ничего не приходит
но запуская с шелл ./Onchange nick param oldvalue nevalue всё чётко отправляется
куда копать?
-
Ну чудес же не бывает!?
Почему с командной строки отправляет а когда в веб админке что либо меняешь например увеличиваешь баланс то сообщение не приходит!
Хотя все переменные соответствуют заданным
Почему с веб админки не отправляет?
Что и как и где можно посмотреть?
-
Спасибо
при запуске с командной строки работает
но при изменении тарифа через веб админку всё равно ничего не отправляется
вручную запуская ./OnChange user tariff admin maxi
Всё работает отправляется
Я уже ничего не понимаю.....
Есть 2 способа сменить тариф: немедленно и в конце месяца. Если используется второй - естественно что ничего не отправляется...
смена тарифа естественно сразу
что мне конца месяца ждать?
даже не отправляется когда пополнение счёта происходит :-(
в переменной $param откуда то берётся значение disabled
-
Спасибо буду курить :-)
-
Спасибо
при запуске с командной строки работает
но при изменении тарифа через веб админку всё равно ничего не отправляется
вручную запуская ./OnChange user tariff admin maxi
Всё работает отправляется
Я уже ничего не понимаю.....
-
Вікиньте промежуточное сохранение данных в файл, оно там ни к чему. И покажите все свои скрипты в текущем виде.
OnChange:
#! /bin/sh login=$1 param=$2 oldValue=$3 newValue=$4 #Записываем переменные по файлам echo $login >/etc/stargazer/tmp/login.ini echo $param >/etc/stargazer/tmp/param.ini echo $oldValue >/etc/stargazer/tmp/oldValue.ini echo $newValue >/etc/stargazer/tmp/newValue.ini #Вызываем процедуру отправки /etc/stargazer/messages #Записываем в лог echo "User: '$login'. Parameter $param changed from '$oldValue' to '$newValue'" >> /var/log/stg/users.chg.log
messages:
#!/usr/bin/php <?php mysql_connect('localhost','stg','passwd'); mysql_select_db('stg'); putenv('LANG=ru_RU.UTF-8'); //Читаем предварительно записанные переменные из файла $use=fopen("/etc/stargazer/tmp/login.ini","r");//открытие файла $login=fread($use,100);//чтение данных fclose($use);//закрытие файла $clean = trim($login, " trx0Bn0"); $use=fopen("/etc/stargazer/tmp/param.ini","r");//открытие файла $param=fread($use,100);//чтение данных fclose($use);//закрытие файла $clean = trim($param, " trx0Bn0"); $use=fopen("/etc/stargazer/tmp/oldValue.ini","r");//открытие файла $oldValue=fread($use,100);//чтение данных fclose($use);//закрытие файла $clean = trim($oldValue, " trx0Bn0"); $use=fopen("/etc/stargazer/tmp/newValue.ini","r");//открытие файла $newValue=fread($use,100);//чтение данных fclose($use);//закрытие файла $clean = trim($newValue, " trx0Bn0"); $MSG = ""; echo "Переменные заданы идём дальше n"; echo "login= $login n"; echo "param= $param n"; echo "oldValue= $oldValue n"; echo "newValue= $newValue n"; echo "MSG= $MSG n"; $query = mysql_query('select t.`Fee` as `Fee`, t.`name` as `TariffName`,u.`Email` as `Email`, u.`Credit` as `Credit` from `users` as u LEFT JOIN `tariffs` as t ON t.`name` = u.`Tariff` where u.`Login`="' . $login . '"'); $result = mysql_fetch_assoc($query); if ($param == 'tariff') { $MSG = "$MSG Ваш тариф изменен с '$oldValue' на '$newValue', стоимостью '".$result['Fee']."' руб. за месяц.n"; echo "До сюда>>> tariff дошло!"; echo "$MSG"; } if ($param == 'cash') { if ($oldValue < $newValue) { $MSG = "$MSG Ваш баланс увеличен на: ".($newValue - $oldValue)." руб., и теперь составляет $newValue руб.n"; } if ($newValue < 50) { $MSG = "$MSG Обратите внимание на вашем балансе осталось $newValue руб.!n"; } } if ($param == 'credit') { $MSG = "$MSG Ваш кредитный лимит изменен с $oldValue руб. до $newValue руб.n"; } if ($param == 'credit') { if ($MSG != "") { $MSG = "$login, здравствуйте!nn$MSGn C уважением, Администратор сети."; exec('sgconf set -s localhost -p 5555 -a admin -w passwd -u ' . $login . ' -m "' . $MSG . '"'); if ($result['Email'] != "") { mail($result['Email'], 'Billing system', $MSG); } } } ?>
Релизы Ubilling
в Stargazer Ubilling
Опубліковано:
Ну у меня полная ссылка:
http://stat.isp/
Доступна со всех компов в сети в том числе и из других подсетей
естественно кроме зоны инета
Странно у меня arping работает
DHCP тоже работает конечно я с самого начала вносил в нижнем регистре маки
доп сервисы у нас оплачиваются отдельно по этому никаких примочек не нужно
ну а что касается КТВ пока мало юзверей и так сойдёт :-)
Программеры тоже люди и должны отдыхать ведь разве всё упомнишь!