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

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

$set['title'] = lang('Мини чат');

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

// Действия с комментариями
if (access('mini_chat_clear')) {
    if (isset($_POST['write']) && isset($_POST['write2'])) {
        $timeclear1 = 0;
        if ($_POST['write2'] == 'sut') {
            $timeclear1 = $time - intval($_POST['write']) * 60 * 60 * 24;
        }

        if ($_POST['write2'] == 'mes') {
            $timeclear1 = $time - intval($_POST['write']) * 60 * 60 * 24 * 30;
        }

        $q = $db->query("SELECT * FROM `mini_chat` WHERE `time` < '$timeclear1'", $db);

        $del_th = 0;

        while ($post = $db->get_row($q)) {
            $db->query("DELETE FROM `mini_chat` WHERE `id` = '$post[id]'", $db);
            $del_th++;
        }

        admin_log('Мини чат', 'Очистка', "Удалено $del_th постов");

        $db->query("OPTIMIZE TABLE `mini_chat`", $db);
        $_SESSION['message'] = lang('Удалено') . " $del_th " . lang('постов');
        header('Location: index.php' . SID);
        exit;
    }
}

aut();
err();

#Навигация
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 lang('Мини чат');
echo "</small></div><br />";

// Отправка комментариев
if (isset($_POST['msg']) && isset($user)) {
    $msg = $_POST['msg'];
    $mat = antimat($msg);
    if ($mat) {
        $err[] = lang("В тексте сообщения обнаружен мат") . ": $mat";
    }

    if (utf8_strlen($msg) > 10024) {
        $err[] = lang('Сообщение слишком длинное');
    } elseif (utf8_strlen($msg) < 2) {
        $err[] = lang('Короткое сообщение');
    }
    $q = $db->super_query("SELECT COUNT(*) as count FROM `mini_chat` WHERE `id_user` = '" . $user['id'] . "' AND `msg` = '" . $db->safesql($msg) . "' LIMIT 1");
    if ($q['count'] != 0) {
        $err = lang('Ваше сообщение повторяет предыдущее');
    } elseif (!isset($err)) {
        // Начисление рублей за активность
        $db->query("UPDATE `user` SET `money` = '" . ($user['money'] + 3) . "' WHERE `id` = '" . $user['id'] . "' LIMIT 1");
        $db->query("UPDATE `user` SET `activity` = '" . ($user['activity'] + 2) . "' WHERE `id` = '" . $user['id'] . "' LIMIT 1");

        $db->query("INSERT INTO `mini_chat` (id_user, time, msg) values('" . $user['id'] . "', '$time', '" . $db->safesql($msg) . "')");

        if ($user['id'] != $otvet['id']) {
            $msgrat = "$SexOtv " . lang('на Ваше сообщение в') . " [url=/modules/mini_chat/]" . lang('чате') . "[/url] ";
            $db->query("INSERT INTO `notification` (`id_user`, `id_kont`, `id_img`, `msg`, `time`) values('$user[id]', '$otvet[id]', '4', '$msgrat', '$time')");
        }

        $q = $db->query("SELECT * FROM `friends` WHERE `user` = '$user[id]' AND `lenta_news` = '1' AND `i` = '1'");
        while ($f = $db->get_array($q)) {
            $a = $db->get_array($db->query("SELECT * FROM `user` WHERE `id` = '$f[friends]' LIMIT 1"));

            $not_msg = "$SexNap сообщение в [url=/modules/mini_chat/]" . lang('чате') . "[/url]";
            $db->query("INSERT INTO `notifications` (`id_user`, `id_kont`, `id_img`, `msg`, `time`) values('$user[id]', '$a[id]', '3', '$not_msg', '$time')");
        }

        $_SESSION['message'] = lang('Сообщение успешно добавлено');
        header("Location: index.php" . SID);
        exit;
    }
}
// Отправка комментариев с главной
if (isset($_POST['msgs']) && isset($user)) {
    $msg = $_POST['msgs'];
    $mat = antimat($msg);
    if ($mat) {
        $err[] = lang("В тексте сообщения обнаружен мат") . ": $mat";
    }

    if (utf8_strlen($msg) > 10024) {
        $err[] = lang('Сообщение слишком длинное');
    } elseif (utf8_strlen($msg) < 2) {
        $err[] = lang('Короткое сообщение');
    }

    $q = $db->super_query("SELECT COUNT(*) as count FROM `mini_chat` WHERE `id_user` = '" . $user['id'] . "' AND `msg` = '" . $db->safesql($msg) . "' LIMIT 1");
    if ($q['count'] != 0) {
        $err = lang('Ваше сообщение повторяет предыдущее');
    } elseif (!isset($err)) {
        // Начисление рублей за активность
        $db->query("UPDATE `user` SET `money` = '" . ($user['money'] + 3) . "', `activity` = '" . ($user['activity'] + 2) . "' WHERE `id` = '" . $user['id'] . "' LIMIT 1");
        $db->query("INSERT INTO `mini_chat` (id_user, time, msg) values('" . $user['id'] . "', '$time', '" . $db->safesql($msg) . "')");

        if ($user['id'] != $otvet['id']) {
            $msgrat = "$SexOtv " . lang('на Ваше сообщение в') . " [url=/modules/mini_chat/]" . lang('чате') . "[/url] ";
            $db->query("INSERT INTO `notification` (`id_user`, `id_kont`, `msg`, `time`) values('$user[id]', '$otvet[id]', '$msgrat', '$time')");
        }

        $q = $db->query("SELECT * FROM `friends` WHERE `user` = '$user[id]' AND `lenta_news` = '1' AND `i` = '1'");
        while ($f = $db->get_array($q)) {
            $a = $db->get_array($db->query("SELECT * FROM `user` WHERE `id` = '$f[friends]' LIMIT 1"));

            $not_msg = "$SexNap сообщение в [url=/modules/mini_chat/]" . lang('чате') . "[/url]";

            $db->query("INSERT INTO `notifications` (`id_user`, `id_kont`, `id_img`, `msg`, `time`) values('$user[id]', '$a[id]', '3', '$not_msg', '$time')");
        }

        $_SESSION['message'] = lang('Сообщение успешно добавлено');
        header("Location: /index.php");
        exit;
    }
}

if (isset($_GET['ons']) && $_GET['ons'] == 'ons' && isset($user)) {
    $q_q = $db->query("SELECT * FROM `friends` WHERE `user` = '" . $user['id'] . "'");
    while ($ff = $db->get_array($q_q)) {
        $a = $db->get_array($db->query("SELECT * FROM `user` WHERE `id` = '" . $ff['friends'] . "' LIMIT 1"));

        if ($user['id'] != $a['id']) {
            $msgrat = "приглашает Вас в [url=/modules/mini_chat/]чат[/url] ";
            $db->query("INSERT INTO `events` (`id_user`, `id_kont`, `id_img`, `msg`, `time`) values('$user[id]', '$a[id]', '7', '$msgrat', '$time')");
        }
    }
    $db->query("UPDATE `user` SET `money` = '" . ($user['money'] + 5) . "' WHERE `id` = '" . $user['id'] . "' LIMIT 1");
    $db->query("UPDATE `user` SET `activity` = '" . ($user['activity'] + 3) . "' WHERE `id` = '" . $user['id'] . "' LIMIT 1");

    $_SESSION['message'] = lang('Приглашение отправлено друзьям');
    header("Location: index.php");
    exit();
}

$k_post = $db->super_query("SELECT COUNT(id) as count FROM mini_chat");
$k_post = $k_post['count'];
$k_page = k_page($k_post, $set['p_str']);
$page = page($k_page);
$start = $set['p_str'] * $page - $set['p_str'];

$chat_count = $db->super_query("SELECT COUNT(id) as count FROM `user` WHERE `date_last` > '" . (time() - 100) . "' AND `url` like '/modules/mini_chat/%'");
$chat_count = $chat_count['count'];
echo "<div class='list-group-item-null'>";
echo "<a href='who.php'><i class='fa fa-users fa-fw'></i> " . lang('В чате') . " " . sklon_text($chat_count, array(lang('человек'), lang('человека'), lang('человек'))) . "</a> ";

if (isset($user)) {
    echo " &#183; <a href='index.php?ons=ons'>" . lang('Пригласить друзей') . "</a> ";
}
echo "</div>";

// Форма для комментариев
if (isset($user)) {
    echo "<form method='post' class='list-group-item-null list-group-item-grey' name='message' action='?$passgen'>";
    echo auto_bb("message", "msg");
    echo "<textarea placeholder='" . lang('Введите сообщение') . "...' name='msg' class='form-control'></textarea><br />";

    $doc->Button('btn btn-primary btn-sm', null, 'pencil', 'Опубликовать');

    echo '</form>';
}

if ($k_post == 0) {
    $doc->NoResult();
}

$q = $db->query("SELECT * FROM `mini_chat` ORDER BY id DESC LIMIT $start, $set[p_str]");

while ($post = $db->get_row($q)) {
    $ank = $db->get_row($db->query("SELECT * FROM `user` WHERE `id` = " . $post['id_user'] . " LIMIT 1"));
    $k_p = $db->super_query("SELECT COUNT(*) as count FROM `mini_chat_layp` WHERE id_post = '$post[id]'");
    $k_p = $k_p['count'];
    $l = $db->query("SELECT * FROM `mini_chat_layp` WHERE `id_post` = '$post[id]' ORDER by id ASC");

    echo "<table class='list-group-item-null'><tr><td class='icon14' style='vertical-align: top;'>";
    avatar($ank['id'], '48', 'border-radius: 2px;');
    echo "</td><td class='null'>";
    while ($layp = $db->get_row($l)) {
        echo "<img src='img/$layp[dir]/$layp[img].png' style='position: absolute; margin-left: $layp[margin_left]px;' />";
    }
    echo "<span style = 'float:right;color: grey;'><small title='" . date::time($post['time']) . "'>" . date::timek($post['time']) . "</small></span>";
    echo user($ank['id']) . " ";

    echo "<br />\n";


    echo "<div id='accordion' role='tablist' aria-multiselectable='true'>";
    echo "<div role='tab' id='headingTwo'>";
    echo "<span style='float: right;'><a class='collapsed' data-toggle='collapse' data-parent='#accordion' href='#post_$post[id]' aria-expanded='false' aria-controls='collapseTwo'><i class='fa fa-ellipsis-v fa-fw'></i></a></span>";
    echo "</div>";

    echo toOutput($post['msg']) . "\n";

    if (isset($user)) {
        echo "<div id='post_$post[id]' class='panel-collapse collapse' role='tabpanel' aria-labelledby='post_$post[id]'><small>";
        if ($ank['id'] != $user['id']) {
            $doc->Link(null, "reply.php?id=$post[id]", null, 'Ответить');
        }
        if ($k_p > 0) {
            echo " &#183; ";
            $doc->Link(null, "act.php?post=$post[id]&amp;page=$page&amp;act=layp", null, 'История ляпов');
        }
        if (isset($user) && ($ank['id'] != $user['id'])) {
            echo " &#183; ";
            $doc->Link(null, "layp.php?post=$post[id]&amp;page=$page", null, 'Поставить ляп');
        }
        if (isset($user) && ($user['level'] > $ank['level'] || $user['level'] != 0 && $user['id'] == $ank['id']) && access('mini_chat_clear')) {
            echo " &#183; ";
            $doc->Link(null, "delete.php?id=$post[id]", null, 'Удалить');
        }
        echo "</small></div>";
    }

    echo "</div>";

    echo "</td></tr></table>";
    echo "<div class='hr'></div>";
}

if ($k_page > 1) {
    str('index.php?', $k_page, $page);
}

// Форма очистки комментов
if (access('mini_chat_clear')) {
    if (isset($_GET['act']) && $_GET['act'] == 'create') {

        echo "<form method='post' class='list-group-item-null list-group-item-grey' action='?'>";

        echo lang('Будут удалены посты, написаные ... тому назад') . "<br />";

        echo lang('Количество') . "<br />";
        echo "<input name='write' length='250' type='number' required value='12' class='form-control' style='width: 50%;'><br />";

        echo "<select class='form-control' name='write2' style='width: 50%;'>";
        echo "<option value='mes'>" . lang('Месяцев') . "</option>";
        echo "<option value='sut'>" . lang('Суток') . "</option>";
        echo "</select><br />";

        $doc->Button('btn btn-success btn-sm', 'ok', 'trash-o', 'Очистить');
        $doc->Link('btn btn-secondary btn-sm', '?', null, 'Отмена');

        echo "</form>";
    } else {
        ?>
        <div class="list-group-item-null list-group-item-grey">
            <a href="?act=create"><i class='fa fa-trash-o fa-fw'></i> Очистить чат</a><br />
        </div>
        <?php
    }
}

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