Файл: wapxl.ru/admin/logs.php
Строк: 64
<?
require'../shaxty.php';
$title='Просмотр логов';
$align = 'left';
$head = 'Просмотр логов';
include_once (H.'shaxty/head.php');
echo '<br />';
if (!level::dostup('privat'))func::errors('<b>В доступе отказано!</b>');
switch($mod){
default:
if (empty($act)){
if (isset($_GET['del_all'])){
if (level::dostup('setting')){
core::$db->query("delete from logs;");
$messs = '<b>'.user::us(core::$user['id'], 1).' </b> очистил все логи';
core::$db->query("INSERT INTO logs (log,msg,time,user_id) VALUES (?,?,?,?)",array('banoff',$messs,core::$realtime,core::$user['id']));
}
}
echo '<div class="nav">';
$arr = array('edit-Логи Апдейта',
'del-Логи удалений',
'accessno-Логи отклонений реги',
'accessyes-Логи одобрений реги',
'kik-Логи пинков',
'ban_ip-Логи банов IP',
'ban_soft-Логи банов Софт',
'ban-Логи баннов ников',
'banoff-Логи разбанов и очисток',
'dell_repa-Логи удалений репутации и рейтинга',
'del_tema-Логи удалений тем форума',
'all-Прочие действия',
'del_fail_zip-Удаление файлов из zip архива',
);
foreach($arr as $v){
list ($o,$n) = explode('-',$v);
if($act!=$o)echo '<a href="?act='.$o.'">'.$n.'('.core::$db -> querySingle("select count(*) as num from logs where `log`=?", array($o)).')</a><dl></dl>';
else echo '<b>'.$n.'</b> | ';
}
echo '</div>';
/*echo '<br /><a href="?mod=search" class="href">Поиск</a> <br/>';
*/
echo '<br /><a href="logs.php?del_all" class="href">Очистить логи</a><br />';
} else {
if (isset($_GET['del_all'])){
if (level::dostup('setting')){
core::$db->query("delete from logs where `log`=?;", array($act));
$messs = '<b>'.user::us(core::$user['id'], 1).' </b> очистил логи '.$act.'';
core::$db->query("INSERT INTO logs (log,msg,time,user_id) VALUES (?,?,?,?)",array('banoff',$messs,core::$realtime,core::$user['id']));
}
}
$k_post=core::$db -> querySingle("select count(*) as num from logs where `log`=?", array($act));
$k_page=func::k_page($k_post,core::$max);
$page=func::page($k_page);
$start=core::$max*$page-core::$max;
/*$r = mysql_query ("Select * from logs where log = '".$act."' order by time desc LIMIT $start, ".core::$max."");
*/
$r = core:: $db -> query("SELECT * FROM `logs` WHERE `log`=? order by time desc LIMIT ".$start.", ".core::$max.";", array($act));
while ($a = $r -> fetch()) {
echo '<b>'.func::times($a['time']).'</b> - '.func::text($a['msg']).'<dt></dt>';
}
if ($k_page>1)func::nav('logs.php?act='.$act.'&',$k_page,$page); // Вывод страниц
if ($k_post != 0)echo '<a href="logs.php?act='.$act.'&del_all" class="href">Очистить логи</a><br />';
}
break;
case 'search':
if (isset($_REQUEST['serch']))$serch=func::checkin($_REQUEST['serch']);
else if (isset($_SESSION['serch']))$serch=func::checkin($_SESSION['serch']);
$_SESSION['serch']=$serch;
if (isset($_REQUEST['whot']))$whot=func::checkin($_REQUEST['whot']);
else if (isset($_SESSION['whot']))$whot=func::checkin($_SESSION['whot']);
$_SESSION['whot']=$whot;
if(!isset($serch)){
echo '<form action="?mod=search" method="post">';
echo 'Поиск:<br /><input type="text" name="serch" title="Text"/><br />';
echo '<select name="whot">';
$s = array('user_id' => 'Ник/ID адм.', 'txt' => 'В тексте');
foreach($s as $k => $v) {
echo '<option value="'.$k.'"'.$selected.'>'.$v.'</option>';
}
echo '</select><br />';
echo '<input type="submit" name="submit" class="ibutton" value="Найти"/></form><br />';
}else{
if($whot=='user_id'){
if (!user::user_inf($serch))func::errors('<b>Такого юзера нет!</b>');
$sql = "'id' = '".user::user_inf($serch)."'";
}else if($whot=='txt'){
$serch = rawurldecode(trim($serch));
$serch = preg_replace("/[^wx7F-xFFs]/", " ", $serch);
$q_search=preg_replace('%','',$serch);
$q_search=preg_replace(' ','%',$q_search);
$sql = "`msg` like '%".$q_search."%'";
}
$k_post = core::$db -> querySingle("select count(*) as num from `logs` where {$sql};");
$k_page = func::k_page($k_post,$max);
$page = func::page($k_page);
$start=$max*$page-$max;
if ($k_post == 0)func::errors('<b>Поиск не дал результатов</b>');
/* если найдено 1 совпадение выводим данные*/
echo '<dl><dt></dt></dl>';
$s = array('nick' => 'Ник/ID', 'ip' => 'IP', 'soft' => 'Софт', 'email' => 'E-mail', 'tel' => 'Телефон', 'icq' => 'ICQ', 'level' => 'Уровень', 'wmid' => 'WMID', 'wmr' => 'WMR');
echo 'Поиск по <b>'.$s[$whot].'</b> запрос <b>'.$serch.'</b><br />Результат поиска: <b>'.func::slova($k_post,'пользователь','пользователя','пользователей').'</b>';
echo '<dl><dt></dt></dl>';
$r = core:: $db -> query("SELECT * FROM `logs` where {$sql} order by time desc LIMIT ".$start.", ".core::$max.";");
while ($a = $r -> fetch()) {
echo '<b>'.func::times($a['time']).'</b> - '.$a['msg'].'<dt></dt>';
}
if ($k_page>1)func::nav('?mod='.$mod.'&',$k_page,$page); // Вывод страниц
}
break;
}
echo '<br />';
if ($act||$mod)echo $div1.'<a href="index">В админку</a><br />'.$div9;
include_once (H.'shaxty/foot.php');
?>