Размер файла: 7.06Kb
<?php
require_once"../template/start.php";
require_once"../template/regglobals.php";
require_once"../template/config.php";
require_once"../template/functions.php";
require_once"../template/antidos.php";
require_once"../template/cookies.php";
require_once"../template/gzip.php";
require_once"../template/header.php";
require_once"../template/referer.php";
include_once"../themes/$config_themes/index.php";
## Переменные с файлами
$logfile = '../local/botlogs.dat';
$botfile = '../local/bots.dat';
## Если файлов не существует, создаём их.
if(!file_exists($logfile)){$filenew=fopen($logfile,'a');fclose($filenew);}
if(!file_exists($botfile)){$filenew=fopen($botfile,'a');fclose($filenew);}
$text = file("../local/profil/$log.prof");
if ($text!=""){
$udata = explode(":||:",$text[0]);
$provlog=trim($udata[0]);
$provpar=trim($udata[1]);
$dostup=trim($udata[7]);}
$time=time();
if ($_SESSION['log']!="" && md5($_SESSION['par'])!="" && md5($_SESSION['par'])==$provpar && $_SESSION['log']==$provlog ) {
if ($dostup==101 || $dostup==102 || $dostup==103 || $dostup==105){
echo'<img src="../images/img/bsearch.gif" alt=""> <b>Логи поисковых роботов</b><br><br>';
if($udata[10]>0){
echo'<img src="../images/img/mail.gif" alt=""> <b><a href="../pages/privat.php?'.SID.'"><font color="red">Приватное сообщение! ('.$udata[10].')</font></a></b><br>';}
switch ($_GET['cat'])
{
default:
echo "<img src=\"../images/img/stat.gif\" alt=\"\"> <a href=\"searchbots.php?cat=view&".SID."\">Просмотреть логи</a><br />\n";
echo "<img src=\"../images/img/error.gif\" alt=\"\"> <a href=\"searchbots.php?cat=delete&".SID."\">Очистить логи</a><br />\n";
echo "<img src=\"../images/img/wel.gif\" alt=\"\"> <a href=\"searchbots.php?cat=update&".SID."\">Обновить базу данных роботов</a><hr />\n";
break;
case "delete":
echo "<form action=\"searchbots.php?cat=deleteok&".SID."\" method=\"POST\">\n";
echo " <label for=\"checkbox\">Вы уверены, что хотите очистить логи поисковиков? <input name=\"yes\" id=\"checkbox\" type=\"checkbox\" value=\"true\"></label><br />\n";
echo " <input type=\"submit\" value=\"ОК\">\n";
echo " </form>\n";
echo'<hr><img src="../images/img/panel.gif" alt=""> <a href="searchbots.php?'.SID.'">« SearchBotsLogging</a><br>';
break;
case "deleteok":
if(isset($_POST['yes']) && $_POST['yes']=="true")
{
if(file_exists($logfile))
{
if(is_writable($logfile))
{
$fp = fopen ($logfile, "w");
fclose ($fp);
echo"Логи успешно очищены.";
}else{echo"Ошибка: логи не могут быть очищены, так как chmod файла не равен 666";}
}else{echo"Ошибка: логи не могут быть очищены, так как файла логов (".$logfile.") не существует. Создайте его.";}
}else{echo"Ошибка: логи не могут быть очищены, так как Вы не подтвердили их очистку.";}
echo'<hr><img src="../images/img/panel.gif" alt=""> <a href="searchbots.php?'.SID.'">« SearchBotsLogging</a><br>';
break;
case "update":
$oldsize=filesize($botfile);
/* Пока убрал проверку на записываемость папки local, ибо чет не работает.
if(is_writable(BASEDIR."local")==true)
{*/
if(is_writable($botfile))
{
if(copy("http://wapgarant.ru/scripts/zBotLogging/bots.dat",$botfile.".new")==true)
{
$newsize=filesize($botfile.".new");
if($newsize==$oldsize)
{
$fp = fopen ($botfile.".new", "r");
$bytes = filesize($botfile.".new");
$buffer = fread($fp, $bytes);
fclose ($fp);
$fp = fopen ($botfile, "w+");
fwrite ($fp, $buffer);
fclose ($fp);
unlink($botfile.".new");
echo "Ура! Базы уже самые новые!\n";
}
else
{
if($newsize>$oldsize)
{
$fp = fopen ($botfile.".new", "r");
$bytes = filesize($botfile.".new");
$buffer = fread($fp, $bytes);
fclose ($fp);
$fp = fopen ($botfile, "w+");
fwrite ($fp, $buffer);
fclose ($fp);
unlink($botfile.".new");
echo "Базы успешно обновлены!\n";
}
}
}else{echo "Ой! У вас запрещены подключения к внешним серверам!<br />Попробуйте обновить скрипт вручную, скопировав файл <a href=\"http://wapgarant.ru/scripts/zBotLogging/bots.dat\">http://wapgarant.ru/scripts/zBotLogging/bots.dat</a> в папку /local/\n";}
}else{echo "Ой! Запрещена запись в файл ".$botfile." . Поставьте chmod 666 на него и повторите операцию.\n";}
echo'<hr><img src="../images/img/panel.gif" alt=""> <a href="searchbots.php?'.SID.'">« SearchBotsLogging</a><br>';
break;
case "view":
$return=$udata[25];
$data=file($logfile);
$maxmsg = count($data);
rsort($data);
echo "<table style=\"border-collapse:collapse;\" width=\"100%\" border=\"1\" cellspacing=\"0\" cellpadding=\"3\">\n";
echo "\n";
echo "<tr><th>Дата/время</th><th>UserAgent робота</th><th>Описание робота</th><th>IP бота</th><th>Страница</th></tr>\n";
echo"<br />Роботы посетили ".$maxmsg." страниц вашего сайта.<br />\n";
if($maxmsg!=0)
{
$frstmsg = $_REQUEST['p'] * $return;
$lastmsg = $_REQUEST['p'] * $return + $return;
if ($lastmsg > $maxmsg)
{
$lastmsg=$maxmsg;
}
for($u=$frstmsg; $u<$lastmsg; $u++)
{
$entry = explode("||",$data[$u]);
echo"<tr><td width=\"10%\">".date("d.m H:i:s",$entry[0])."</td><td>".$entry[1]."</td><td>".$entry[2]."</td><td><a target=\"_blank\" href=\"http://www.ripe.net/perl/whois?searchtext=".$entry[3]."\">".$entry[3]."</a></td><td width=\"100%\"><a target=\"_blank\" href=\"".$entry[4]."\">".$entry[4]."</a></td></tr>";
}
echo "</table>\n";
$t_links=($maxmsg-0.1)/$return;
echo "Страницы: \n";
for($j=0;$j<=$t_links;$j++)
{
$n=$j+1;
if($j!=$_REQUEST['p'])
{
echo"<a href=\"".getenv('PHP_SELF')."?cat=view&p=".$j."\">$n</a> ";
}
else{echo"<b>(".$n.")</b> ";}
}
}else{echo "<tr><td>Чувак,</td><td>роботы тебя</td><td>пока</td><td>ещё не</td><td>посещали.</td></tr></table><br />\n";}
echo'<hr><img src="../images/img/panel.gif" alt=""> <a href="searchbots.php?'.SID.'">« SearchBotsLogging</a><br>';
break;
}
echo'<img src="../images/img/panel.gif" alt=""> <a href="index.php?'.SID.'">В админку</a><br>';
echo'<img src="../images/img/panel.gif" alt=""> <a href="index.php?'.SID.'">В админку</a><br>';
echo'<img src="../images/img/homepage.gif" alt=""> <a href="../index.php?'.SID.'">На главную</a><br>';
} else {header ("Location: ../index.php?error&".SID);}
} else {header ("Location: ../index.php?error&".SID);}
include_once"../themes/$config_themes/foot.php";
?>