Перейти до

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

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

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.хх).

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

Опубліковано:

Ось FreeBSD 5.1.

Zend ставил из портов

make

make install

После инсталла там и было написано, что надо добавить строки в php.ini.

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

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

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

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

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

Вхід

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

Войти сейчас
  • Зараз на сторінці   0 користувачів

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

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