Перейти к содержимому

Web-интерфейс для Старгайзера


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

  • Ответы 214
  • Created
  • Последний ответ

Top Posters In This Topic

добавить

function okrugl($var){

return money_format('%.2n', $var);// number_format($var, 2, ',', ' ');

}

 

function byte2mbyte($var){

return number_format($var/1024/1024, 2, ',', ' ');

}

 

исправить

$out = str_replace("% cash %", substr($dw[0],5,20)." Грн", $out);

на

$out = str_replace("% cash %", okrugl(substr($dw[0],5,20))." Грн", $out);

------

исправить

$out = str_replace("% in_nigth %", $in_sum_nigth, $out);

$out = str_replace("% out_nigth %", $out_sum_nigth, $out);

$out = str_replace("% cash_nigth %", $cash_sum_nigth, $out);

 

$out = str_replace("% in_day %", $in_sum_day, $out);

$out = str_replace("% out_day %", $out_sum_day, $out);

$out = str_replace("% cash_day %", $cash_sum_day, $out);

на

$out = str_replace("% in_nigth %", byte2mbyte($in_sum_nigth), $out);

$out = str_replace("% out_nigth %", byte2mbyte($out_sum_nigth), $out);

$out = str_replace("% cash_nigth %", okrugl($cash_sum_nigth), $out);

 

$out = str_replace("% in_day %", byte2mbyte($in_sum_day), $out);

$out = str_replace("% out_day %", byte2mbyte($out_sum_day), $out);

$out = str_replace("% cash_day %", okrugl($cash_sum_day), $out);

по поводу паролей

да читать не безопасно

есть вариант конечно сделать через .htpasswd

но забивать всех юзеров гемор

или через базу

забить пользователей скриптом

а потом читать.

если есть еще какие то идеи готов выслушать если что пишите в асю

107108905

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

дополнение

}elseif($mode=="stat"){

$data=file_get_contents ("/var/stargazer/users/".$logged_user."/detail_stat/".$year."/".$month."/".$day);
$keywords = preg_split ("/->[\s]+/", $data);
   unset($data);
$i=0;
$in_sum=0;
$out_sum=0;
$cash_sum=0;
while ($i<>sizeof($keywords)){
if (strlen($keywords[$i])>20){
   $keywords[$i]=str_replace("  "," ",$keywords[$i]);
   preg_match_all ("/\d{1,3}.\d{1,3}.\d{1,3}.\d{1,3}\s+\d\s+\d{1,10}\s+\d{1,10}\s+\d{1,3}.\d{1,10}/",$keywords[$i], $dw
);
   $j=0;

while ($j<>(sizeof($dw[0]))){
   list($ip,$dir,$in,$out,$cash)=preg_split ("/[\s]+/",$dw[0][$j]);
$in_sum=$in_sum+$in;
$out_sum=$out_sum+$out;
$cash_sum=$cash_sum+$cash;
switch ($dir) {
   case 0:
       $dir="Internet";
       break;
   case 1:
       $dir="Mail";
       break;
           }
   $data_out .= "<tr align=\"center\"><th>".substr($keywords[$i],0,19) ."</th><td>".$ip." </td><td>".$dir." </td><td>".
$in."</td><td>".$out./*"</td><td>".$cash.*/"</td></tr>";
   $j++;
   }
}
$i++;
}
$out=file_get_contents("template/det.tpl");
$data_out .= "<tr align=\"center\"><th>-</th><td>-</td><td>-</td><td><b>".byte2mbyte($in_sum)."</b></td><td><b>".byte2mb
yte($out_sum)."</b></td></tr>";
$out = str_replace("% data %", $data_out, $out);
   $out = str_replace("% exit %", "<a href=\"exit.php\">Exit</a>", $out);
echo $out;
}elseif ($mode=="log"){
   $fileName  = ("/var/stargazer/users/".$logged_user."/stat.".$year.".".$month);
   $fcontents =  file_get_contents( $fileName);
   unset($fileName);
   $out=file_get_contents("./template/stat.tpl");
   preg_match_all ("/[DU].=\(?\d{3,9}\)? /x",$fcontents, $dw);
   $i=0;
   while ($i<>4){
       $dw[0][$i]=substr(substr($dw[0][$i],3,15)/1024/1024,0,7);
       $i++;
       }
   $out = str_replace("% user %", $logged_user." ".$year."/".$month, $out);
   $out = str_replace("% down-inet %", $dw[0][0]." Mb", $out);
   $out = str_replace("% up-inet %", $dw[0][1]." Mb", $out);
   $out = str_replace("% down-mail %", $dw[0][2]." Mb", $out);
   $out = str_replace("% up-mail %", $dw[0][3]." Mb", $out);
   preg_match("/Cash=[\d]+/",$fcontents, $dw);
   /*(?\d{0,9}.\d{0,9}\)? /x*/


   $out = str_replace("% cash %", /*substr($dw[0],5,20)." Grn"*/ "Contact whis admin", $out);
   $out = str_replace("% exit %", "<a href=\"exit.php\">Exit</a>", $out);
   echo $out;
}

http://192.168.6.1/stat/secretplace.php?mo...month=07&day=28 - статистика по дням

http://192.168.6.1/stat/secretplace.php?mo...r=2005&month=07

статистика за прошлый мес

думаю куда что тулиь и как прикрутить веб морду сами разберетесь

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

если такой-то ип присутствует значит онлайн елс офлайн... :)

БСД 5.1

ипфв2

а как из апача (php) посмотреть правила фаервола? что-то я совсем туплю....

ASPLinux 9.2, iptables

 

может проще в скрипты онконнект/ондисконект, добавить строчку которя будет у юзеров в папке создавать файл к примеру connected и туда будет записывать "1" а при дисконекте "0" а в php проветять содержимое этого файла???

 

так у себя и сделал токашо :(

OnConnect

...
login=$1
echo "1" > /var/stargazer/users/$login/connected
...

 

OnDisconnect

...
login=$1
echo "0" > /var/stargazer/users/$login/connected
...

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

если такой-то ип присутствует значит онлайн елс офлайн... :)

БСД 5.1

ипфв2

а как из апача (php) посмотреть правила фаервола? что-то я совсем туплю....

ASPLinux 9.2, iptables

 

может проще в скрипты онконнект/ондисконект, добавить строчку которя будет у юзеров в папке создавать файл к примеру connected и туда будет записывать "1" а при дисконекте "0" а в php проветять содержимое этого файла???

 

так у себя и сделал токашо :(

OnConnect

...
login=$1
echo "1" > /var/stargazer/users/$login/connected
...

 

OnDisconnect

...
login=$1
echo "0" > /var/stargazer/users/$login/connected
...

<?

$d=shell_exec("iptables -L -n");

echo $d;

?>

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

а подскажите вопрос с Zend,

вроде все установил как надо, засунул эту статистику, токо вот оно говорит что страница не найдена.

т.е. есть допустим sms.php закомпиленная зендом, говорит что не найдена. в этой же папке sms2.php в открытом пхп, все пашет :-/

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

Фух... Вернулся я с армии :( Теперь буду младшим лейтенантом.

Заметил тут баг за собой

Файлы <домашний каталог юзера стг>\conf парсятся с помощью ф-ии parse_ini_file()

следственно избегайте (пока не перепишу скрипт :( ) символов !? и других в полях данных юзера.

А то эрроры как-то не красиво смотрятся в экране юзеров :(

P.S.: Аськи пока временно нету, зато есть Джаббер zentavr@jabber.zp.ua

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

новая фича для админки кто на связи :(

создаем базу данных в мускуле

mysql

в нем вводим

create database stat;

потом вставляем туда

DROP TABLE IF EXISTS `online`;

CREATE TABLE IF NOT EXISTS `online` (

`id` bigint(20) NOT NULL auto_increment,

`login` varchar(10) NOT NULL default '',

`status` smallint(6) NOT NULL default '0',

`ip` varchar(15) NOT NULL default '',

`mac` varchar(17) NOT NULL default '',

`date` datetime NOT NULL default '0000-00-00 00:00:00',

UNIQUE KEY `login` (`login`),

KEY `id` (`id`)

) TYPE=MyISAM AUTO_INCREMENT=5555 ;

\q

далее

в скрипт OnConnect

в конец вставляем строки

mac="` arp -a | grep "$2" | cut -d " " -f4|cut -d " " -f1`"

date=`date +%Y-%m-%d\ %H:%M:%S`

mysql stat -uЛОГИН -pПАРОЛЬ -e 'UPDATE `online` SET `status` = "1",`ip`="'$2'",`mac`="'$mac'",`date` ='"'$date'"' WHERE `login`

mac="empty"

в OnDissconnect

mysql stat -uЛОГИН -pПАРОЛЬ -e 'UPDATE `online` SET `status` = "0" WHERE `login` = "'$1'" LIMIT 1'

далее создаем файл

touch online.php

в него пишем

echo "<a href=dir.php>Статистика</a><br>\n";

echo "<a href=dir1.php>Статистика день ночь</a><br>\n";

echo "<a href=gencard.php>Сгенерировать партию карточек</a><br>\n";

mysql_connect('localhost',dblogin,dbpass);

mysql_select_db('stat');

$res=mysql_query("SELECT `online`.`login` , `online`.`ip` , `online`.`mac`, `group`.`group_id`, `online`.`date` FROM `group` , `online` WHERE `online`.`login` = `group`.`user` and `status` =1 ORDER BY `group`.`group_id`,`online`.`login` ASC

");

 

echo "<table>";

while ($row = mysql_fetch_array($res)) {

echo "<tr><td>".$row[0]."</td>"; //login

echo "<td>".$row[1]." - ".$row[2]."</td>"; //ip - mac

echo "<td>".$row[3]."</td>"; //group

echo "<td>".$row[4]."</td>"; //date

echo "<td>OnLine</td></tr>\n"; //

}

echo "</table>";

mysql_free_result($res);

 

?>

перегружаем старгейзер и любуемся кто же у нас работает

жду ваших коментариев и предложений

да и еще в OnConnect можно еще сделать привязку по маку помоему так --mac $mac

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

добовление существующих пользователей в базу

online2sql.php

<?

mysql_connect('localhost','login','pass');

mysql_select_db('stat');

 

$d = dir("/var/stargazer/users");

while (false !== ($entry = $d->read())) {

if (($entry[0]<>".")){

mysql_query("INSERT INTO `online` (`login` , `status` ) VALUES ('".$entry."', '0');") or die ("Invalid query ");

}

}

$d->close;

mysql_close();

?>

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

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

Ссылка на сообщение
Поделиться на других сайтах
  • 1 month later...
минуточку! здесь поподробнее... что это еще за ключик?

 

ЗЫ: сорьки, неасилил проста читать сначало

Скрипты шифрованы Zend-Оптимайзером с поддержкой лицензии

Ссылка на сообщение
Поделиться на других сайтах
минуточку! здесь поподробнее... что это еще за ключик?

 

ЗЫ: сорьки, неасилил проста читать сначало

Скрипты шифрованы Zend-Оптимайзером с поддержкой лицензии

так а сами скрипты где взять?

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

Че-то большая ПОПА с ключиком :) перепробовал разные варианты апач говорит ........ PHP Warning: License check failed! in /var/www/.......

че ему еще нада? вроде положил его и прямо в корень директории со скриптами вебинтерфейса и в /etc/Zend/zend.lic/

плиз хелп :bue:

ЗЫ to Zentavr - как там с исходниками :loop: не поделишься а то много че хотелось бы прикрутить и че с графиками так и не доделал :)

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

Пиплы так что никто не поможет с ключиком то - трабла серьезная ведь :( как заставить его работать - а то апач упорно пишет PHP Warning: License check failed! in /var/www/......

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

Последняя версия.. Не требует ключей

http://rapidshare.de/files/11614618/stg-20060123.tgz.html

Исправлена совместимость с PHP 5

Переписана функция парсинга конфигов

Добавлена возможность определения траффика по направлению (город или всё остальное)

Изменено пользователем Andrey Zentavr
Ссылка на сообщение
Поделиться на других сайтах

Есть вопрос.

Поставил зенд (2.6.0), прописал его в php.ini (php 4.x) в описании модулей, перезапустил апач (1.3.хх).

А он как писал "Zend Optimizer not installed", так и пишет.

Как я вижу, там вызывается функция @Zend;

Функция phpinfo(); zend находит, пишет о нем.

У меня php в апаче реализован в виде mod_php.

Подскажите пожалуйста, куда смотреть.

 

Версия админки последняя.

Ссылка на сообщение
Поделиться на других сайтах
Поставил зенд (2.6.0), прописал его в php.ini (php 4.x) в описании модулей, перезапустил апач (1.3.хх).

Странно, я когда ставил зенд, он у меня сам конфиг пхп переписал. У тебя какой то не правильный зенд.

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

Создайте аккаунт или войдите в него для комментирования

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

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас
  • Сейчас на странице   0 пользователей

    Нет пользователей, просматривающих эту страницу.


×
×
  • Создать...