Вход Регистрация
Файл: DESURE-dcms-f12de01ac63e/dpanel/user.complaints.php
Строк: 94
<?php

include_once '../sys/inc/start.php';
dpanel::check_access();
$doc = new document(2);
$doc->title = __('Жалобы');

if (!empty(
$_GET['id_ank']) && !empty($_GET['code'])) {
    
$ank = new user($_GET['id_ank']);
    
$code = (string) $_GET['code'];

    
$codes = new menu_code('code');

    if (!
$ank->id)
        
$doc->err(__('Не выбран пользователь'));
    elseif (!isset(
$codes->menu_arr[$code]))
        
$doc->err(__('Не выбрано нарушение'));
    else {
        
$doc->title = __('Жалобы на "%s"', $ank->login);

        if (isset(
$_GET['delete'])) {
            
$res = $db->prepare("UPDATE `complaints` SET `processed` = '1'  WHERE `id_ank` = ? AND `code` = ?");
            
$res->execute(Array($ank->id, $code));
            
$doc->msg(__('Нарушение помечено как обработанное'));
        }


        
$listing = new listing();

        
$pages = new pages;
        
$res = $db->prepare("SELECT COUNT(*) FROM `complaints` WHERE `processed` = '0' AND `id_ank` = ? AND `code` = ?");
        
$res->execute(Array($ank->id, $code));
        
$pages->posts = $res->fetchColumn();

        
$q = $db->prepare("SELECT `comment`, `link`, COUNT(*) as `count`, MAX(`time`) as `time` FROM `complaints` WHERE `processed` = '0' AND `id_ank` = ? AND `code` = ? GROUP BY `link` ORDER BY `count` DESC LIMIT ".$pages->limit);
        
$q->execute(Array($ank->id, $code));
        while (
$c = $q->fetch()) {
            
$post = $listing->post();
            
$post->url = 'user.ban.php?id_ank=' . $ank->id . '&amp;code=' . urlencode($code) . '&amp;link=' . urlencode($c['link']);
            
$post->title = $c['count'] . ' ' . misc::number($c['count'], 'жалоба', 'жалобы', 'жалоб');
            
$post->time = misc::when($c['time']);
            
$p = __('Ссылка на нарушение:') . ' <a' . ($dcms->browser_type == 'full' ? ' target="_blank"' : null) . ' href="' . text::toValue($c['link']) . '">' . text::toValue($c['link']) . '</a><br />';
            
$p .= text::toOutput($c['comment']);
            
$post->content = $p;
            
$post->action('delete', '?id_ank=' . $ank->id . '&amp;code=' . urlencode($code) . '&amp;link=' . urlencode($c['link']) . '&amp;delete');
        }

        
$listing->display(__('Жалобы отсутствуют'));


        
$pages->display("?id_ank=$ank->id&amp;code=" . urlencode($c['code']) . '&amp;'); // вывод страниц

        
$doc->ret(__('Все жалобы'), '?');
        
$doc->ret(__('Админка'), './');
        exit;
    }
}

$listing = new listing();

$res = $db->query("SELECT COUNT(DISTINCT `id_ank`, `code`) FROM `complaints` WHERE `processed` = '0'");
$pages = new pages;
$pages->posts = $res->fetchColumn();

$q = $db->query("SELECT *, COUNT(*) as `count` FROM `complaints` WHERE `processed` = '0' GROUP BY `id_ank`, `code` ORDER BY `count` DESC LIMIT ".$pages->limit);
if (
$arr = $q->fetchAll()) {
    foreach (
$arr AS $c) {
        
$post = $listing->post();
        
$ank = new user($c['id_ank']);
        
$post->title = $ank->nick();
        
$post->counter = $c['count'];
        
$post->url = "?id_ank=$c[id_ank]&amp;code=" . urlencode($c['code']);
        
$post->content[] = $c['code'];
        
$post->content[] = __('Жалоба от %s', '[user]' . $c['id_user'] . '[/user]');
    }
}
$listing->display(__('Жалобы отсутствуют'));

$pages->display("?");
$doc->ret(__('Админка'), './');
Онлайн: 2
Реклама