Перейти до

Stg-web With Mysql


Рекомендованные сообщения

  • Відповіді 972
  • Створено
  • Остання відповідь

Top Posters In This Topic

Хотелось-бы еще добавлять в базу данных дилеров не только из списка пользователей.(Бывают-же и такие ) и хотелось бы видеть текущий предоплаченый трафик клиентов. А так веб -морда суппер . 2 недели полет нрмальный. Alf МОЛОДЕЦ!!!! Надо садится за изучение PHP(есть много идей)

Ссылка на сообщение
Поделиться на других сайтах
Может и криво :) но решил проблему с отображением времени кредита.

В пхп я не шарю, может кто подправит.

У меня данная фича заработала в таком виде.

Файл user_auth.php в районе 100 строки написать нада так

if ($s_usr['credit'] > 0 && $s_usr['id_credit'] != 0) {
  mysql_select_db($sql['base']);
  $_time_exp = mysql_query("SELECT * FROM ".$stg_credits_tbl." WHERE login='".$s_usr['login']."' AND id='".$s_usr['id_credit']."'");
  $game_over = mysql_fetch_array($_time_exp);
  if (!empty($_time_exp))
          $_date_exp = date('d.m.Y H:i', $game_over[date_exp]);
          $_day_to_exp = ($game_over[date_exp]-time())/86400;

Достаточно просто исправить строку 100 в файле user_auth.php

 

Вместо:

list($_time_exp) = mysql_fetch_row(mysql_db_query($sql['base'], "SELECT UNIX_TIMESTAMP(date_exp) FROM ".$stg_credits_tbl." WHERE login='".$s_usr['login']."' AND id='".$s_usr['id_credit']."'"));

 

Написать:

list($_time_exp) = mysql_fetch_row(mysql_db_query($sql['base'], "SELECT date_exp FROM ".$stg_credits_tbl." WHERE login='".$s_usr['login']."' AND id='".$s_usr['id_credit']."'"));

Ссылка на сообщение
Поделиться на других сайтах

Ну вот... родилась новая версия (0.04).

 

Изменения в 0.04:

    добавлена функция смены тарифа пользователем (опционально - см. config.php, параметры: stg_tariff_change_user и stg_tariff_change_bonus)

    добавлены java-функции, отвечающие за смену тарифа пользователем (файл script.js)

    добавлено поле Bandwidth в формах редактирования/добавления пользователей (используется Userdata3 - см. config.php)

    исправлена ошибка неверного отображения даты погашения кредита в разделе "пользователь"

    исправлены ошибки с отображением подробных деталей по кредитам в разделах "администратор" и "пользователь"

    исправлена ошибка в работе детальной статистики (при запросе детальной статы по направлению = 0 отражалась статистика по всем направлениям)

 

Брать все там же: http://alf.uzlovaya.ru/stg/stg-web/

 

ВАЖНО!!!

В файл config.php необходимо будет внести изменения!

Ссылка на сообщение
Поделиться на других сайтах
Ну вот... родилась новая версия (0.04).

Спасибо, радует что процесс разработки не стоит на месте.

 

Вот поставил, сразу появилось несколько непоняток:

 

1) В система 2 админа (admin и admin2), залогинился под "admin" и не могу зайти в раздел "Кто в Online" - пишет нет прав. Все правильно, права не стоят. Зашел в раздел "Список админов" и вытавил себе все права. Все приминилось норм. Это правильно что админ может менять себе свои права ?

Что означает ROOT в привилегиях ?

 

2) В разделе "Список аккаунтов" таблицу пользователей показывает нормально (в предыдушей версии почему-то не показывало) Но имена пользователей (логин) показывает только если пользователь подключался хотябы один раз. (А если не подключался, то просто пустое поле и все.)

 

PS: только заметил в "Кто в Online" показывает 3х пользователей, хотя на самом деле на сервере никого не подключено (кроме админа). В предыдущей версии такого небыло.

Ссылка на сообщение
Поделиться на других сайтах

1. Если у админа есть права на "Изменение/добавление/удаление администраторов", то он может выставить себе какие угодно права доступа.

ROOT пока не работает. Задумка была такая: если выставить ROOT, то автоматом добавятся абсолютно все права. Но... руки никак не дойдут. ((

 

2. Не было замечено такого бага. Сдается мне это частный случай.

Скажи что у тебя стоит в конфиге стг в параметрах DetailStatWritePeriod и StatWritePeriod

 

3. Скорее всего у этих 3-х пользователей некорректно были завершены сессии (упал СТГ???). Надо либо перезапустить СТГ, либо вручную закрыть в таблице actions сессии. (выставить disconnect на эти сессии).

Ссылка на сообщение
Поделиться на других сайтах

1. Ясно, я думал ROOT это админ который по умолчанию в СТГ, из под которого создаются админы в таблицах stg-web.

 

2. DetailStatWritePeriod=1/6

StatWritePeriod=10

 

3. Скорее всего некорректно завершился процесс. А как завершать корректно ? В биллинге я этого не видел, помнится в старых версиях был скрипт так там просто killall -9 stargazer && stargazer вот и вся перезагрузка.

Надо либо перезапустить СТГ, либо вручную закрыть в таблице actions сессии. (выставить disconnect на эти сессии).

Перезагрузка не помагает, выставил значения disconnect стало норм.

 

еще вопрос:

При входе в админку, на главной странице (http://host/stg/root/) есть табличка:

"Статистика трафика текущего месяца" в ней как я понимаю должны писаться направления (из конфига staregazer.conf), но там пусто. Трафик по этим направлениям показывает правильно, а самих разваний нет. Админка читает их прямо из конфига ? или там как-то с mysql завязано..

Ссылка на сообщение
Поделиться на других сайтах

1. в следующей версии доделаю

 

2. Ясно. В принципе есть подозрение (почти уверенность), что при создании юзера (неважно из веб-морды или из виндового конфигуратора) СТГ не пишет данные в базу по причине обсуждаемого в соседнем топике бага самого модуля. А вот при коннекте этого юзера видимо запрос в БД все-таки прорывается каким то образом. И СТГ в этот момент все и записывает. И начало сессии и данные нового юзера.

Можно проверить. Создать пользователя, посмотреть - появились ли его данные, и если нет, попробовать через консоль mysql-сервера снять соединение с STG. В этом случае stg тут же создаст новое соединение с БД и запишет туда все незаписанное. После чего данные нового юзера должны появиться в таблице пользователей.

 

3. Правильно завершать так: killall stargazer

после чего стг закрывает всем юзерам доступ, выгружает все модули и отключается. Происходит это довольно долго. У меня по крайней мере на корректное завершение СТГ уходит 1-2 минуты.

У себя (FreeBSD 5.4) я использую вот этот скрипт: http://alf.uzlovaya.ru/stg/stg.sh

 

4. Названия направлений stg-web получает непосредственно от STG. Через консольный конфигуратор. Так что с мускл это никак не связано. А они у тебя не кириллицей написаны?

Ссылка на сообщение
Поделиться на других сайтах
Канеха выкладывай.

Юзеры любят визуализацию :)

Нате вам http://anita-net.nm.ru/user_graf.zip

 

Просто скопировать в соответствующее место и подправить в day_traf.php переменные коннекта к базе данных.

К сожалению не получилось заюзать то что имеется в конфиге - какого-то фига график не хотел рисоваться, пришлось сделать еще раз ввод параметров и коннект к б/д. Кто разберется как профиксить - велкам!

Все сдела как ты написал.

получаю -- Ваш траффик за текущие сутки --

а самого графика нет.

????

Ссылка на сообщение
Поделиться на других сайтах

Все получилось и почти все заработало большой пасибо автору за данную веб мордочку.

Но есть маленькие недочеты видимо толь ко у меня подскажите почему может быть?

 

1.) Клацаем Кто в ONLINE а там ниого хотя лично проверял что люди в данный момент в ONLINE и STG win говорит что люди в ONLINE

 

2.) При полнении баланса с админки выскакивает что не найдена база Table 'oltimus.actions' doesn't exist. Но деньги добавляются.

 

3.) Нет почему то статистики про пользователей вообще никакой, при попытки посмотреть сесии выскакивает что по вашему запросу ничего не найдено!

Так же не выдает инфу про деньги то же самое ничего типа не найдено хотя ошибки не пишет.

 

Все что было перечислено в конфиге сделал по 2 раза с точной проверкой

Mysql проверку правельно проходт проверял.

Apache имеет доступ ко всем папкам WEB.

Модуль mod_store_mysql.so вроде правильно скомпилился

В PHP параметры изменил.

 

HANDS.SYS переустанавливал не помагает :)

Ссылка на сообщение
Поделиться на других сайтах

Проблема в том что копируя в папку /stg/project/stargazer/plugins/store

mod_store_mysql_0.63.tar и пробуя запустить bild ничего не появляется пишет ошибки по какой причине я понять не могу!

 

Пробуя соберать с помощью UPDATE mod_store_mysql_0.63_FOR_STG-WEB.tar

появляется mod_store_mysql.so и при инстале stg модуль добавляется и стартует.

 

Патч так же был вложен в папки STG

 

Седня вечером помучаю 4 версию, может все случится.

Логи выложу ближе к вечеру.

Ссылка на сообщение
Поделиться на других сайтах

Поставил 004 версию работает так же как и 3 (Писал выше про проблему!).

Продeлал все пункты в Redme

То есть скопировал mysql

скопировал path

скомпилил STG

установил

поправил конфиги

на страницу заходит но статистики нет.

 

Лог:

[root@host mysql]# ./build

#############################################################################

Building STG Mysql Module 0.62 for Linux

#############################################################################

Makefile:57: deps: No such file or directory

g++ -c mysql_store.cpp -g3 -Wall -fPIC -I ../../../../../include -I /usr/include/mysql -DLINUX

g++ mysql_store.o -g3 -shared -lmysqlclient -L /usr/lib/mysql -o mod_store_myslq.so

[root@host mysql]#

 

в /usr/lib/stg/ пришлось вручную копировать модуль mod_store_mysql.so

 

Будут предложения что где есче можно попробовать изменить?

 

В stargazer.conf добавил

<StoreModule store_myslq>

dbuser = root

rootdbpass = ********

dbname = oltimus

dbhost = 127.0.0.1

</StoreModule>

config изменен то же

 

// STG & STG-Web

$stg_url_path = "http://192.168.0.1/";

$stg_root_path = "/var/www/html/root/"; // полный путь до корня сайта

$stg_KK_path = "/var/www/html/sgconf_xml"; // полный путь до консольного конфигуратора

$stg_server = "127.0.0.1"; // адрес STG-сервера

$stg_port = "5555"; // порт STG-сервера

$stg_admin = "dimas_jack"; // STG-админ, от имени которого будет запускаться sgconf_xml (только для раздела "пользователи")

$stg_passw = "***********"; // пароль STG-админа

 

// constants

$stg_moneytransfer_bonus = 5; // бонус за перевод в пользу компании (вычитается из суммы перевода)

$stg_credit_summ_max = 500; // максимальная сумма кредита

$stg_credit_time_exp = 3; // срок, на который выдается кредит (3 дня)

$stg_tariff_change_user = 1; // Разрешать пользователям менять свой тариф

$stg_tariff_change_bonus = 0; // Стоимость смены тарифа. Указанная сумма снимается со счета пользователя. (0 - ничего не снимать со счета)

 

$stg_save_history = 1; // писать лог изменений в таблицу logs

$stg_to_cp1251 = 1; // перекодировать данные из koi8-r в windows-1251 (нужно если веб-интерфейс в win-1251 кодировке)

$stg_dir_num = 10; // количество направлений в STG

$stg_ud_num = 10; // количество полей UserData в STG

 

// database

$sql["host"] = "localhost"; // адрес сервера MySQL

$sql["base"] = "oltimus"; // имя базы данных

$sql["login"] = "root"; // имя пользователя для доступа к БД

$sql["passwd"] = "*******"; // пароль для доступа к БД

 

$sql["file"] = $stg_root_path."/includes/stg.sql"; // файл с дампом структуры ext-таблиц STG-Web

 

Права на файлы

chgrp apache -R /var/www/html

Ссылка на сообщение
Поделиться на других сайтах

Повторяю для танкистов.

Модуль store_mysql НЕ ПРОПАТЧЕН!

Распакуй и скомпилируй модуль store_mysql v0.63 из архива с stg-web!!!!!

 

p.s. как слышно меня, прием?!

Ссылка на сообщение
Поделиться на других сайтах

вот такая проблема :

Есть : RHEL 4

stg-2.4-2007.01.20-13.47.20

mod_store_mysql_0.66(Alf)_FOR_STG-WEB

 

вот такая ошибка

 

#############################################################################
      Building STG Mysql Module 0.66 for Linux
#############################################################################
Makefile:57: deps: No such file or directory
g++ -c mysql_store.cpp -g3 -Wall -fPIC -I ../../../../../include -I /usr/include/mysql -DLINUX
mysql_store.cpp: In constructor `STORE_CREATOR::STORE_CREATOR()':
mysql_store.cpp:121: error: cannot allocate an object of type `MYSQL_STORE'
mysql_store.cpp:121: error:   because the following virtual functions are abstract:
../../../../../include/base_store.h:43: error:  virtual int BASE_STORE::WriteUserConnect(const std::string&, uint32_t) const
../../../../../include/base_store.h:50: error:  virtual int BASE_STORE::WriteUserDisconnect(const std::string&, const DIR_TRAFF&, const DIR_TRAFF&, const DIR_TRAFF&, const DIR_TRAFF&, double) const
../../../../../include/base_store.h:54: error:  virtual int BASE_STORE::WriteDetailedStat(const std::map<IP_DIR_PAIR, STAT_NODE, std::less<IP_DIR_PAIR>, std::allocator<std::pair<const IP_DIR_PAIR, STAT_NODE> > >*, time_t, const std::string&) const
mysql_store.cpp: In member function `virtual int MYSQL_STORE::SaveUserStat(const USER_STAT&, const std::string&) const':
mysql_store.cpp:1054: error: 'const struct USER_STAT' has no member named 'sup'
mysql_store.cpp:1054: error: 'const struct USER_STAT' has no member named 'sdown'
mysql_store.cpp:1054: error: 'const struct USER_STAT' has no member named 'sid'
gmake: *** [mysql_store.o] Ошибка 1

В чём проблема? 0.63 - без ошибок . STG чистый, без пачей

Ссылка на сообщение
Поделиться на других сайтах

По сборке 0.4

 if($act=="change_tariff" && $s_usr['login']=='uz-000-010') {
......
if($act=="change_tariff_cancel" && $s_usr['login']=='uz-000-010') {
......     

было весело.... ))) решил на дурку загнать да? )))

теперь по делу...

1. у меня не все тарифы поместились в окне, так что надо сделать доступной прокрутку вниз.

2. Необходимо и я на этом настаиваю!!!! сделать так чтобы юзеры могли менять себе тариф не на какой захотят а на те что разрешу я, тк у меня есть админские тарифы где все по нулям стоит. Есть куча всяких благ для VIP клиентов про которые тоже всем знать не положено.

3. Для всех сборок - при просмотре логов сервера - комментарии к платежам идут в каляке-маляке, походу бока с перекодировкой

 

А так вроде все чудово... тестим дальше.

Ссылка на сообщение
Поделиться на других сайтах
STG чистый, без пачей

Вот почему! Я же написал - ЭТО ТОЛЬКО ДЛЯ STG-WEB!!!

Причем для уже пропатченного СТГ.

я чё то не понял. так нужно патчить и каким патчем?

Ссылка на сообщение
Поделиться на других сайтах
По сборке 0.4

 if($act=="change_tariff" && $s_usr['login']=='uz-000-010') {
......
if($act=="change_tariff_cancel" && $s_usr['login']=='uz-000-010') {
......     

было весело.... ))) решил на дурку загнать да? )))

теперь по делу...

1. у меня не все тарифы поместились в окне, так что надо сделать доступной прокрутку вниз.

2. Необходимо и я на этом настаиваю!!!! сделать так чтобы юзеры могли менять себе тариф не на какой захотят а на те что разрешу я, тк у меня есть админские тарифы где все по нулям стоит. Есть куча всяких благ для VIP клиентов про которые тоже всем знать не положено.

3. Для всех сборок - при просмотре логов сервера - комментарии к платежам идут в каляке-маляке, походу бока с перекодировкой

 

А так вроде все чудово... тестим дальше.

Точно... от своих прятался. Поправлю. ))

 

1. Файл script.js, строка 20, scrollbars выставить в YES

 

2. Согласен. Сам с тем же столкнулся. Осталось решить каким образом это реализовать.

а) Либо регулировать группами (проверять к какой группе относится юзер и решать: отдавать или не отдавать тарифы по этому признаку)

б) Либо выносить в какой нить файл (можно в config.php) массив тарифов, которые нельзя показывать.

 

3. Есть такое дело. В следующей версии поправлю. Много всего надо будет править. Наверное сделаю всю БД в KOI8-R. А то как то вразнобой все. СТГ в кои8 пишет. stg-web в cp1251... неправильно это. :)

Ссылка на сообщение
Поделиться на других сайтах
б) Либо выносить в какой нить файл (можно в config.php) массив тарифов, которые нельзя показывать.

ИМХО так будет лучше.

Внести тарифы с возможностью отображать или нет + еще сделать возможность сменить название на удобочитаемое для юзера.

Чтото на подобии:

tarif("Тариф") = 1 / отображать юзерам тариф с названием "Тариф"

А те тарифы которые юзерам видеть не положено, просто не вносить сюда и не отображать в клиентской части.

Ссылка на сообщение
Поделиться на других сайтах
Гость
Эта тема закрыта для публикации сообщений.
  • Зараз на сторінці   0 користувачів

    Немає користувачів, що переглядають цю сторінку.


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