Перейти до

nlo

Сitizens
  • Всього повідомлень

    271
  • Приєднався

  • Останній візит

Сообщения додав nlo

  1. Ну у меня полная ссылка:

    http://stat.isp/

    Доступна со всех компов в сети в том числе и из других подсетей

    естественно кроме зоны инета

     

    Странно у меня arping работает

    DHCP тоже работает конечно я с самого начала вносил в нижнем регистре маки

    доп сервисы у нас оплачиваются отдельно по этому никаких примочек не нужно

    ну а что касается КТВ пока мало юзверей и так сойдёт :-)

    Программеры тоже люди и должны отдыхать ведь разве всё упомнишь!

  2. #!/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

  3. Не заполнили параметр url в ubagent.ini соответственно своим текущим реалиям. Также в userstats.ini требуется UBA_ENABLED=1

    Ну я совсем нааверно похож на тормоза?

    Естественно первым делом я подправил ini файлы

    Всё как написано в обновке и по ссылке что Вы любезно предоставили :-)

    по этому умолчал факт правки ini файлов потому что это естественный процесс!

    И на линухе так выдаёт:

    post-20671-0-08995700-1340555955_thumb.png

    ну примерно та же ошибка что и на венде

  4. скачал

    запускаю, не работает

    пишет что то типа:

    Gird file doesn't exists.

    ну типа при нажатии ОК игнорируем риск повреждения данных

    Cancel Убивает программу

    если жмёшь ОК то вылазиет пустое окно с пустыми кнопками и гдето на пустых кнопках рисунок логотип

    Скажите что это я не так что то намудрил?

  5. У юзверя в Личном кабинете раздел карты оплаты пишет:

     

    Ошибка

     

    Извините но вы исчерпали количество попыток

     

     

     

     

     

    Где разблокировать эту фитчу?

    Что то в морде всё перетыкал но не нашло

    За ранее спасибки :-)

  6. zakaz.jpg

     

    Релиз 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
    

     

    После чего обновляемся штатным обновлятором. После апдейта можно заменить старый обновлятор новым - дабы при последующих обновлениях он бекапил опции КТВ и шаблоны документов.

    Спасибо отлично обновилось

    один недочёт

    в папке с иконками были загружены иконки для загрузок

    и ой они пропале :-) пришлось вытягивать иконки с бэкапа

    если что ещё замечу отпишусь

    Ещё разик спасибки!

  7. 1. Покажи вывод

    ls -al /etc/stargazer

    2. Есть ли в /etc/sudoers ?

    User_Alias BILLING = www-data
    BILLING ALL = NOPASSWD: ALL

    3. В скрипте я бы указывал полный путь до sgconf

    4. Стукните чтоле в аську. Дадите доступ - помогу разобраться.

    это всё есть и указано

    Мой скрипт пробовал?

    Нет пока не пробовал

    Времени щас ни на что катастрофически не хватает

    Щас немного разгребу завалы и начну пробовать

    Спасибо огромное за помощь всем!

  8. Что то вы меня совсем запутале!

    Выкладываю свои текущие скрипты:

    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

    предварительно их удалив и поочередно меняя параметры с морды проверяю наличие файлов - их просто нет они не создаются и параметры в них не записываются

    аналогичное происходит и при использовании конфигуратора

    что не так то?

    или может я неправильно объяснил суть проблемы?

    Огромное спасибо всем за помощь!

  9. ООО!

    Сколько всего написале!

    Зачем так всо усложнять? :-)

    Нужно просто и информативно

    Не нужно за ранее ничего только по факту!

    если за ранее всех предупреждать то никаких ресурсов не хватит

    у нас например многие ложат на инет по 5 10 30 рублей

    с учётом того что стг настроен на ежедневное снятие абонки

    вы представьте сколько нужно будет отправить месаг

    ведь тема затронута мной в целях автоматизации абонентов

    что бы как можно меньше задействовать админа

    что бы все всё делали самостоятельно

    в начале был задан вопрос

    1) при изменении тарифа юзверь должен получать уведомление с какого тарифа на какой он переключился в программу авторизатор

    2) при зачислении средств на счёт в программу авторизатор получал сообщение что средства в таком то размере зачислены (а то звонят и спрашивают когда придут средства хотя средства уже зачислены на счёт)

    3) при блокировании и разблокировании доступа в инет тоже в тот же авторизатор юзверь получал сообщение что его лишили или разрешили инета'a

    ну вот основные критерии что бы свести к минимуму работу админа занимающегося этой фигнёй вручную

     

    СПАСИБО

    А насчёт научить я научусь я же не тупой обучаться умею

    :-)

  10. Но когда с конфигуратора пополнял баланс сообщение всё равно не пришло хотя в файлы занесло значения переменных правильные

    а когда с морды пополняешь баланс в файлы не записывается ничего следовательно скрипт OnChange не выполняется

  11. Стоп! OnChange не запускается при изменении с вебадминки что сделать что бы оно запускалось?
    Супер! Мы тут месяц со скриптами возимся, а оказывается что они вообще не запускаются! При изменении из конфигуратора (графического или консольного) запускаются?

    Да с конфигуратора когда баланс пополняешь скрипт OnChange запускается

  12. Ну чудес же не бывает!?

    Почему с командной строки отправляет а когда в веб админке что либо меняешь например увеличиваешь баланс то сообщение не приходит!

     

    Хотя все переменные соответствуют заданным

     

    Почему с веб админки не отправляет?

     

    Что и как и где можно посмотреть?

    OnChange при этом выполняется?

    Ну в манах написано что при изменениях запускается скрипт OnChange проверял да запускается записывает переменные по файлам простая проверка однако ничего не приходит

    но запуская с шелл ./Onchange nick param oldvalue nevalue всё чётко отправляется

    куда копать?

    Запускается с правильными параметрами?

    Ну раз в файлах нужное содержание переменных значит они задаются правильно!

  13. Ну чудес же не бывает!?

    Почему с командной строки отправляет а когда в веб админке что либо меняешь например увеличиваешь баланс то сообщение не приходит!

     

    Хотя все переменные соответствуют заданным

     

    Почему с веб админки не отправляет?

     

    Что и как и где можно посмотреть?

    OnChange при этом выполняется?

    Ну в манах написано что при изменениях запускается скрипт OnChange проверял да запускается записывает переменные по файлам простая проверка однако ничего не приходит

    но запуская с шелл ./Onchange nick param oldvalue nevalue всё чётко отправляется

    куда копать?

  14. Ну чудес же не бывает!?

    Почему с командной строки отправляет а когда в веб админке что либо меняешь например увеличиваешь баланс то сообщение не приходит!

     

    Хотя все переменные соответствуют заданным

     

    Почему с веб админки не отправляет?

     

    Что и как и где можно посмотреть?

  15. Спасибо

    при запуске с командной строки работает

    но при изменении тарифа через веб админку всё равно ничего не отправляется

    вручную запуская ./OnChange user tariff admin maxi

    Всё работает отправляется

    Я уже ничего не понимаю.....

    Есть 2 способа сменить тариф: немедленно и в конце месяца. Если используется второй - естественно что ничего не отправляется...

    смена тарифа естественно сразу

    что мне конца месяца ждать?

    даже не отправляется когда пополнение счёта происходит :-(

    в переменной $param откуда то берётся значение disabled

  16. Спасибо

    при запуске с командной строки работает

    но при изменении тарифа через веб админку всё равно ничего не отправляется

    вручную запуская ./OnChange user tariff admin maxi

    Всё работает отправляется

    Я уже ничего не понимаю.....

  17. Вікиньте промежуточное сохранение данных в файл, оно там ни к чему. И покажите все свои скрипты в текущем виде.

    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);
    		    }
        }
    }
    ?>
    

×
×
  • Створити нове...