Файл: sysadm/comes.php
Строк: 220
<?
define('ROOT','../');
require_once (ROOT.'system/power.php');
$fuser->aut();
$admin->user_can('moder_comes',$ya['id'],true,ROOT.'sysadm/');
$diz -> head('Комментарии');
$diz -> title('Комментарии');
switch($do) {
//настройки категорий для модерации
case 'settings':
$admin->user_can('settings_site',$ya['id'],true,ROOT.'sysadm/comes.php');
echo '<div class="menu"><a href="?do=new_cat" class="menutuch">'.$diz -> icon('r.png').' '.language('Добавить категорию').'</a></div>';
$sql = $db -> query("SELECT * FROM `comes_cat`");
if($sql->num_rows>0){
while ($f = $sql -> fetch_assoc()) {
echo'<div class="fon">'.$f['name'].'<br/>
'.language('Параметр').': <span class="count">'.$f['where'].'</span></div>';
echo '<div class="zap"><a class="zap_b" href="?do=del_cat&id='.$f['id'].'">'.language('Удалить').'</a></div>';
}
}else echo '<div class="fon">'.language('Список пуст').'</div>';
echo '<div class="levo"><a href="?" class="levo_tuch">'.$diz -> icon('back.png').' '.language('Назад').'</a></div>';
break;
////удаление категории
case 'del_cat':
$sql = $db -> query("SELECT * FROM `comes_cat` WHERE `id` = '".$id."'");
if ($sql -> num_rows > 0) {
switch($mode) {
case 'yes':
$db -> query("DELETE FROM `comes_cat` where `id` = '".$id."'");
header('Location: ?do=settings');
break;
default:
echo '<div class="fon">'.language('Вы подтверждаете это действие').'?</div>';
echo '<div class="dialog">
<a class="dialog_m" href="?do=del_cat&mode=yes&id='.$id.'">'.language('Да').'</a>
<a class="dialog_m" href="?do=settings">'.language('Нет').'</a>
</div>';
}
} else header('Location: ?');
break;
////новая категория для модерации
case 'new_cat':
$admin->user_can('settings_site',$ya['id'],true,ROOT.'sysadm/comes.php');
if (empty($_POST['name']) && empty($_POST['where'])) {
$cat=null;
$s = $db -> query("SELECT `where` FROM `comes` where `where` not in (select `where` from `comes_cat`) group by `where`");
while ($assoc = $s -> fetch_assoc()) {
$cat .= '<option value="'.$assoc['where'].'">'.$assoc['where'].'</option>';
}
if($cat!=null){
echo '<div class="fon">
<form action="?do=new_cat" method="post">
'.language('Параметр').':<br/><select name="where">'.$cat.'</select><br/>
'.language('Название').':<br/><input type="text" name="name"/><br/>
<input type="submit" value="Добавить"/>
</form>
</div>';
} else echo '<div class="fon">'.language('Невозможно создать категорию').'</div>';
} else {
$name = shit($_POST['name']);
$where = shit($_POST['where']);
$db -> query("Insert `comes_cat` SET `name` = '".$name."',`where`='".$where."'");
header('Location: ?do=settings');
}
echo '<div class="levo"><a href="?do=settings" class="levo_tuch">'.$diz -> icon('back.png').' '.language('Назад').'</a></div>';
break;
//удаление комментария
case 'del':
$sql = $db -> query("SELECT `id` FROM `comes` WHERE `id` = '".$id."' and `where` in (select `where` from `comes_cat`)");
if ($sql -> num_rows > 0 or $admin->user_can('settings_site',$ya['id'],false)==true) {
if($act=='system_comes')$location='?do=system_comes&page='.$page; else $location='?do=read&mode='.$act.'&page='.$page;
switch($mode) {
case 'yes':
$db -> query("DELETE FROM `comes` where `id` = '".$id."'");
header('Location: '.$location);
break;
default:
echo '<div class="fon">'.language('Вы подтверждаете это действие').'?</div>';
echo '<div class="dialog">
<a class="dialog_m" href="?do=del&mode=yes&act='.$act.'&id='.$id.'">'.language('Да').'</a>
<a class="dialog_m" href="'.$location.'">'.language('Нет').'</a>
</div>';
}
} else header('Location: ?');
break;
//просмотр категорий на модерацию
case 'read':
$sql = $db -> query("SELECT * FROM `comes_cat` WHERE `where` = '".$mode."'");
if ($sql -> num_rows > 0) {
$count = $db -> dbcount('COUNT(`id`)','comes',"`where`='".$mode."'");
if ($count>0){
$num = isset($ya['num']) ? $ya['num'] : 10;
$total = intval(($count - 1) / $num) + 1;
if (!isset($_GET['page']) || !is_numeric($_GET['page']) || $_GET['page'] < 1 )
{
$page = 1;
} elseif($_GET['page'] > $total)
{ $page = $total;
} else $page = (int)$_GET['page'];
$start = $page * $num - $num;
$for = $db -> query("SELECT * FROM `comes` WHERE `where`='".$mode."' ORDER BY `id` DESC LIMIT ".$start.",".$num);
while ($assoc = $for -> fetch_assoc()) {
echo '<div class="fon" id="player">'.$fuser->famname($assoc['user']).'
('.$func -> vremja(ustime($ya['gmt'],$assoc['time'])).')<br/>'.$func->tags($assoc['text']).'</div>';
echo '<div class="zap"><a class="zap_b" href="?id='.$assoc['id'].'&do=del&act='.$mode.'&page='.$page.'">'.language('Удалить').'</a></div>';
}
$act = '?do=read&mode='.$mode;
echo $func -> pagenav($act,$page,$total);
}else echo '<div class="fon">'.language('Список пуст').'</div>';
echo '<div class="levo"><a href="?" class="levo_tuch">'.$diz -> icon('back.png').' '.language('Назад').'</a></div>';
}else header('location: ?');
break;
//просмотр системных записей
case 'system_comes':
$admin->user_can('settings_site',$ya['id'],true,ROOT.'sysadm/comes.php');
$count = $db -> dbcount('COUNT(`id`)','comes','`where` not in (Select `where` from `comes_cat`)');
if ($count>0){
$num = isset($ya['num']) ? $ya['num'] : 10;
$total = intval(($count - 1) / $num) + 1;
if (!isset($_GET['page']) || !is_numeric($_GET['page']) || $_GET['page'] < 1 )
{
$page = 1;
} elseif($_GET['page'] > $total)
{ $page = $total;
} else $page = (int)$_GET['page'];
$start = $page * $num - $num;
$for = $db -> query("SELECT * FROM `comes` WHERE `where` not in (Select `where` from `comes_cat`) ORDER BY `id` DESC LIMIT ".$start.",".$num);
while ($assoc = $for -> fetch_assoc()) {
echo '<div class="fon" id="player">'.$fuser->famname($assoc['user']).' ('.$func -> vremja(ustime($ya['gmt'],$assoc['time'])).')<br/>
'.language('Тип').': '.$assoc['where'].'<br/>'.$func->tags($assoc['text']).'</div>';
echo '<div class="zap"><a class="zap_b" href="?id='.$assoc['id'].'&do=del&act=system_comes&page='.$page.'">'.language('Удалить').'</a></div>';
}
$act = '?do=read&mode='.$mode;
echo $func -> pagenav($act,$page,$total);
}else echo '<div class="fon">'.language('Список пуст').'</div>';
echo '<div class="levo"><a href="?" class="levo_tuch">'.$diz -> icon('back.png').' '.language('Назад').'</a></div>';
break;
//главная
default:
$all = $db -> dbcount('COUNT(`id`)','comes','`where` in (Select `where` from `comes_cat`)');
$all_new = $db -> dbcount('COUNT(`id`)','comes','`where` in (Select `where` from `comes_cat`) and `time` > "'.(time()-86400).'"');
if($admin->user_can('settings_site',$ya['id'],true,ROOT.'sysadm/')){
echo '<div class="menu"><a href="?do=settings" class="menutuch">'.$diz -> icon('r.png').' '.language('Настройки').'</a></div>';
$not_md = $db -> dbcount('COUNT(`id`)','comes','`where` not in (Select `where` from `comes_cat`)');
echo '<div class="menu"><a href="?do=system_comes" class="menutuch">'.$diz -> icon('r.png').' '.language('Системные').' <span class="count">'.$not_md.'</span></a></div>';
}
echo '<div class="new">'.language('Общие сведения').'</div>
<div class="fon">
'.language('Всего').': <span class="count">'.$all.'</span><br/>
'.language('За сегодня').': <span class="count">'.$all_new.'</span>
</div>';
$sql = $db -> query("SELECT * FROM `comes_cat`");
if($sql->num_rows>0){
while ($c = $sql -> fetch_assoc()) {
$count_all= $db -> dbcount('COUNT(`id`)','comes',"`where`='".$c['where']."'");
$count_24hours = $db -> dbcount('COUNT(`id`)','comes',"`where`='".$c['where']."' and `time` > ".(time()-86400)."");
if($count_24hours>0)$count_24hours='<span class="chet">+'.$count_24hours.'</span>'; else $count_24hours=null;
echo '<div class="menu"><a href="?do=read&mode='.$c['where'].'" class="menutuch">'.$diz -> icon('comes.png').' '.$c['name'].' <span class="count">'.$count_all.''.$count_24hours.'</span></a></div>';
}
}else echo '<div class="fon">'.language('Список пуст').'</div>';
///
}
echo '<div class="levo"><a href="./" class="levo_tuch">'.$diz -> icon('back.png').' '.language('Управление').'</a></div>';
echo '<div class="levo"><a href="'.ROOT.'" class="levo_tuch">'.$diz -> icon('home.png').' '.language('На главную').'</a></div>';
#####Копирайт#######
$diz -> out($msg);
?>