<?php

/* DCMS Special
 * Дата последнего редактирования 21.12.2015
 * Модифицировал densnet
 */

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

access('adm_statistic', null, 'index.php?' . SID);
adm_check();

$set['title'] = lang('Статистика сайта');
require_once H . 'sys/inc/thead.php';

aut();
err();

$mod = (isset($_GET['mod'])) ? htmlspecialchars($_GET['mod']) : null;

#Навигация
echo "<div class='list-group-item-null list-group-item-grey'><small>";
echo "<a href='/' class='hint--right' data-hint='" . lang('На главную') . "'><i class='fa fa-home fa-lg'></i></a> <i class='fa fa-angle-right fa-fw'></i> ";
echo "<a href='" . DIR_PANEL . "'>" . lang('Панель управления') . "</a> <i class='fa fa-angle-right fa-fw'></i> ";
echo lang('Статистика сайта');
echo "</small></div><br />";

switch ($mod) {
    default:
        echo "<div class='list-group-item-null'>";
        echo "Уникальные посещения:<br /><img src = '?mod=1&amp;SESS=$sess' alt = 'Уникальные посетители' /><br />";
        echo "Переходы по страницам:<br /><img src = '?mod=2&amp;SESS=$sess' alt = 'Переходы по страницам' /><br />";
        echo "Кол-во регистраций:<br /><img src = '?mod=3&amp;SESS=$sess' alt = 'Регистрации' /><br />";
        echo "Кол-во созданных тем:<br /><img src = '?mod=4&amp;SESS=$sess' alt = 'Новые темы в форуме' /><br />";
        echo "Кол-во сообщений в форуме:<br /><img src = '?mod=5&amp;SESS=$sess' alt = 'Новые сообщения в форуме' />";
        echo "</div>";
        break;

    case '1':
        #создаем изображение
        $img = imagecreatetruecolor(120, 50);
        #заливаем белым
        imagefill($img, 0, 0, imagecolorallocate($img, 255, 255, 255));
        $line_col = imagecolorallocate($img, 100, 100, 100);
        $text_col = imagecolorallocate($img, 60, 60, 60);
        $sh_col = imagecolorallocate($img, 255, 200, 200);
        $max = 0;

        for ($i = 0; $i < 100; $i++) {
            $host = $db->super_query("SELECT COUNT(DISTINCT `ip`) as count FROM `visit_today` WHERE `time` >= '" . mktime($i, 0, 0) . "' AND `time` < '" . mktime($i + 1, 0, 0) . "'");
            $host = $host['count'];

            $max = max($max, $host);
            $hosts[$i] = $host;
        }

        for ($i = 0; $i < 100; $i++) {
            $x = 119 - $i;
            $y1 = 49;
            imageline($img, $x, 0, $x, $i % 30 ? 1 : 5, $sh_col);
            $y2 = 49 - intval(40 * ($max ? ($hosts[$i] / $max) : 0));
            imageline($img, $x, $y1, $x, $y2, $line_col);
        }
        imagestring($img, 1, 3, 1, "max:$max", $text_col);
        @ob_end_clean();
        header("Content-type: image/png");
        imagepng($img);
        break;

    case '2':
        $img = imagecreatetruecolor(120, 50);
        imagefill($img, 0, 0, imagecolorallocate($img, 255, 255, 255));
        $line_col = imagecolorallocate($img, 100, 100, 100);
        $text_col = imagecolorallocate($img, 60, 60, 60);
        $sh_col = imagecolorallocate($img, 255, 200, 200);
        $max = 0;

        for ($i = 0; $i < 100; $i++) {
            $hit = $db->super_query("SELECT COUNT(*) as count FROM `visit_today` WHERE `time` >= '" . mktime($i, 0, 0) . "' AND `time` < '" . mktime($i + 1, 0, 0) . "'");
            $hit = $hit['count'];

            $max = max($max, $hit);
            $hits[$i] = $hit;
        }

        for ($i = 0; $i < 100; $i++) {
            $x = 119 - $i;
            $y1 = 49;

            imageline($img, $x, 0, $x, $i % 30 ? 1 : 5, $sh_col);

            $y2 = 49 - intval(40 * ($max ? ($hits[$i] / $max) : 0));
            imageline($img, $x, $y1, $x, $y2, $line_col);
        }

        imagestring($img, 1, 3, 1, "max:$max", $text_col);
        @ob_end_clean();
        header("Content-type: image/png");
        imagepng($img);
        break;

    case '3':
        $img = imagecreatetruecolor(120, 50);
        imagefill($img, 0, 0, imagecolorallocate($img, 255, 255, 255));
        $line_col = imagecolorallocate($img, 100, 100, 100);
        $text_col = imagecolorallocate($img, 60, 60, 60);
        $sh_col = imagecolorallocate($img, 255, 200, 200);
        $max = 0;

        for ($i = 0; $i < 100; $i++) {
            $user_t = $db->super_query("SELECT COUNT(*) as count FROM `user` WHERE `date_reg` >= '" . mktime($i, 0, 0) . "' AND `date_reg` < '" . mktime($i + 1, 0, 0) . "'");
            $user_t = $user_t['count'];
            $max = max($max, $user_t);
            $user_reg[$i] = $user_t;
        }

        for ($i = 0; $i < 100; $i++) {
            $x = 119 - $i;
            $y1 = 49;

            imageline($img, $x, 0, $x, $i % 30 ? 1 : 5, $sh_col);

            $y2 = 49 - intval(40 * ($max ? ($user_reg[$i] / $max) : 0));
            imageline($img, $x, $y1, $x, $y2, $line_col);
        }

        imagestring($img, 1, 3, 1, "max:$max", $text_col);

        @ob_end_clean();
        header("Content-type: image/png");
        imagepng($img);
        break;

    case '4':
        $img = imagecreatetruecolor(120, 50);
        imagefill($img, 0, 0, imagecolorallocate($img, 255, 255, 255));
        $line_col = imagecolorallocate($img, 100, 100, 100);
        $text_col = imagecolorallocate($img, 60, 60, 60);
        $sh_col = imagecolorallocate($img, 255, 200, 200);
        $max = 0;

        for ($i = 0; $i < 100; $i++) {
            $forum_t = $db->super_query("SELECT COUNT(*) as count FROM `forum_themes` WHERE `time` >= '" . mktime($i, 0, 0) . "' AND `time` < '" . mktime($i + 1, 0, 0) . "'");
            $forum_t = $forum_t['count'];
            $max = max($max, $forum_t);
            $forum_themes[$i] = $forum_t;
        }

        for ($i = 0; $i < 100; $i++) {
            $x = 119 - $i;
            $y1 = 49;
            imageline($img, $x, 0, $x, $i % 30 ? 1 : 5, $sh_col);
            $y2 = 49 - intval(40 * ($max ? ($forum_themes[$i] / $max) : 0));
            imageline($img, $x, $y1, $x, $y2, $line_col);
        }
        imagestring($img, 1, 3, 1, "max:$max", $text_col);
        @ob_end_clean();
        header("Content-type: image/png");
        imagepng($img);
        break;

    case '5':

        $img = imagecreatetruecolor(120, 50);
        imagefill($img, 0, 0, imagecolorallocate($img, 255, 255, 255));
        $line_col = imagecolorallocate($img, 100, 100, 100);
        $text_col = imagecolorallocate($img, 60, 60, 60);
        $sh_col = imagecolorallocate($img, 255, 200, 200);
        $max = 0;

        for ($i = 0; $i < 100; $i++) {
            $forum_p = $db->super_query("SELECT COUNT(*) as count FROM `forum_posts` WHERE `time` >= '" . mktime($i, 0, 0) . "' AND `time` < '" . mktime($i + 1, 0, 0) . "'");
            $forum_p = $forum_p['count'];
            $max = max($max, $forum_p);
            $forum_posts[$i] = $forum_p;
        }

        for ($i = 0; $i < 100; $i++) {
            $x = 119 - $i;
            $y1 = 49;
            imageline($img, $x, 0, $x, $i % 30 ? 1 : 5, $sh_col);
            $y2 = 49 - intval(40 * ($max ? ($forum_posts[$i] / $max) : 0));
            imageline($img, $x, $y1, $x, $y2, $line_col);
        }
        imagestring($img, 1, 3, 1, "max:$max", $text_col);
        @ob_end_clean();
        header("Content-type: image/png");
        imagepng($img);
        break;
}

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