View file ä󿪫¬/panel/collective/log.php

File size: 5.54Kb
<?php

foreach (array('start', 'compress', 'sess', 'settings', 'db_connect', 'ipua', 'fnc', 'adm_check', 'user') as $inc) {
    require_once "../../sys/inc/{$inc}.php";
}

$access = $pdo->query(("SELECT COUNT(*) FROM `promotion_access` WHERE `id_user` = '$user[id]'"),0)->fetchColumn();
if (access('adm_info') || $access){ 

$set['title'] = 'Действия администрации';
require_once H . 'sys/inc/thead.php';

aut();
err();

if (isset($_GET['id'])) {
    $ank = get_user($_GET['id']);
} else {
    $ank = false;
}

#Навигация
echo "<div class='card-header'>";
echo "<a href='/' data-toggle='tooltip' data-placement='right' title='" . lang('На главную') . "'><i class='fa fa-home fa-lg'></i></a> <i class='fa fa-angle-right fa-fw'></i> ";
echo "<a href='/panel/'>" . lang('Админ кабинет') . "</a> <i class='fa fa-angle-right fa-fw'></i> ";
echo lang('Действия администрации');
echo "</div>";


    $adm_log_c_all = $pdo->query(("SELECT COUNT(*) FROM `admin_log`"), 0)->fetchColumn();
    $mes = mktime(0, 0, 0, date('m') - 1); // время месяц назад
    $adm_log_c_mes = $pdo->query(("SELECT COUNT(*) FROM `admin_log` WHERE `time` > '$mes'"), 0)->fetchColumn();

    echo "<div class='list-group-item'>";
    echo "Вся активность: $adm_log_c_all<br />";
    echo "Активность за месяц: $adm_log_c_mes";
    echo "</div>";


if (isset($_GET['id_mod']) && isset($_GET['id_act']) && $pdo->query(("SELECT COUNT(*) FROM `admin_log` WHERE `mod` = '" . intval($_GET['id_mod']) . "' AND `act` = '" . intval($_GET['id_act']) . "'" . ($ank ? " AND `id_user` = '$ank[id]'" : null)), 0)->fetchColumn() != 0) {
    $mod = $pdo->query(("SELECT * FROM `admin_log_mod` WHERE `id` = '" . intval($_GET['id_mod']) . "' LIMIT 1"))->fetch(PDO::FETCH_ASSOC);
    $act = $pdo->query(("SELECT * FROM `admin_log_act` WHERE `id` = '" . intval($_GET['id_act']) . "' LIMIT 1"))->fetch(PDO::FETCH_ASSOC);
    $k_post = $pdo->query(("SELECT COUNT(*) FROM `admin_log` WHERE `mod` = '$mod[id]' AND `act` = '$act[id]'" . ($ank ? " AND `admin_log`.`id_user` = '$ank[id]'" : null)), 0)->fetchColumn();
    $k_page = k_page($k_post, $set['p_str']);
    $page = page($k_page);
    $start = $set['p_str'] * $page - $set['p_str'];

    if ($k_post == 0) {
        echo "<div class='list-group-item'>";
        echo "Нет результатов";
        echo "</div>";
    }

    $q = $pdo->query("SELECT * FROM `admin_log` WHERE `mod` = '$mod[id]' AND `act` = '$act[id]'" . ($ank ? " AND `admin_log`.`id_user` = '$ank[id]'" : null) . " ORDER BY id DESC LIMIT $start, $set[p_str]");
    while ($post = $q->fetch(PDO::FETCH_ASSOC)) {
        $ank2 = get_user($post['id_user']);
        echo "<table class='list-group-item'><tr><td class='icon14'>";
        avatar($ank2['id'], '40', 'border-radius: 2px;');
        echo "</td><td class='null'>";
        echo "<span style='float:right;'><small><font color='grey'>";
        echo "<span title='" . date::time($post['time']) . "'>" . date::timek($post['time']) . "</span>";
        echo "</font></small></span>";
        user($ank2['id']);
        echo "<br /><small><font color = 'grey'>";
        echo toOutput($post['opis']);
        echo "</font></small></td></tr></table>";
    }

    if ($k_page > 1) {
        echo "<div class='list-group-item'>";
        str('?', $k_page, $page);
        echo "</div>";
    }
    echo "<div class='list-group-item'><a href='?id_mod=$mod[id]" . ($ank ? "&amp;id=$ank[id]" : null) . "'>Список действий</a></div>";
} elseif (isset($_GET['id_mod']) && $pdo->query(("SELECT COUNT(*) FROM `admin_log` WHERE `mod` = '" . intval($_GET['id_mod']) . "'" . ($ank ? " AND `id_user` = '$ank[id]'" : null)), 0)->fetchColumn() != 0) {
#действия в модуле
    $mod = $pdo->query(("SELECT * FROM `admin_log_mod` WHERE `id` = '" . intval($_GET['id_mod']) . "' LIMIT 1"))->fetch(PDO::FETCH_ASSOC);
    $q = $pdo->query("SELECT `admin_log_act`.`name`, `admin_log_act`.`id`, COUNT(`admin_log`.`id`) AS `count` FROM `admin_log` LEFT JOIN `admin_log_act` ON `admin_log`.`act` = `admin_log_act`.`id` WHERE `admin_log`.`mod` = '$mod[id]'" . ($ank ? " AND `admin_log`.`id_user` = '$ank[id]'" : null) . " GROUP BY `admin_log`.`act`");

    if ($q->rowCount() == 0) {
        echo "<div class='list-group-item'>";
        echo "Нет результатов";
        echo "</div>";
    }
    while ($act = $q->fetch(PDO::FETCH_ASSOC)) {
        echo "<div class='list-group-item'>";
        echo "<a href='?id_mod=$mod[id]&amp;id_act=$act[id]" . ($ank ? "&amp;id=$ank[id]" : null) . "'>$act[name]</a> <span class='badge'>$act[count]</span>\n";
        echo "</div>";
    }
   } else {
#действия по модулям
    $q = $pdo->query("SELECT `admin_log_mod`.`name`, `admin_log_mod`.`id`, COUNT(`admin_log`.`id`) AS `count` FROM `admin_log` LEFT JOIN `admin_log_mod` ON `admin_log`.`mod` = `admin_log_mod`.`id`" . ($ank ? " WHERE `admin_log`.`id_user` = '$ank[id]'" : null) . " GROUP BY `admin_log`.`mod`");

    if ($q->rowCount() == 0) {
        echo "<div class='list-group-item'>";
        echo "<i class='material-icons'>feedback</i> Нет результатов";
        echo "</div>";
    }
    while ($mod = $q->fetch(PDO::FETCH_ASSOC)) {
        echo "<div class='list-group-item'>";
        echo "<a href='?id_mod=$mod[id]" . ($ank ? "&amp;id=$ank[id]" : null) . "'>$mod[name]</a> <span class='badge'>$mod[count]</span>\n";
        echo "</div>";
    }
}


}else{
header('location: /index.php');
$_SESSION['err'] = 'Ошибка доступа';
}

require_once H . 'sys/inc/tfoot.php';