View file inc/function.php

File size: 28.07Kb
<?php
// Настройки сайта
$pay_array = parse_ini_file($_SERVER["DOCUMENT_ROOT"]."/inc/payment.ini");
$sys_array = parse_ini_file($_SERVER["DOCUMENT_ROOT"]."/inc/system.ini");
$mod_array = parse_ini_file($_SERVER["DOCUMENT_ROOT"]."/inc/modules.ini");
$rat_array = parse_ini_file($_SERVER["DOCUMENT_ROOT"]."/inc/rating.ini");
// Подключение к БД
include_once(__DIR__."/connect.php");
// Функции для работы с файлами
include_once(__DIR__."/file_function.php");
// Фильтр данных
include_once(__DIR__."/data_filter.php");
// Постраничная навигация
include_once(__DIR__."/navigation.php");
// IP посетителя
$ip = $_COOKIE['ip_user'] ?? $_SERVER['REMOTE_ADDR'] ?? 'NONE';
if (empty($_COOKIE['ip_user'])) {
    setcookie('ip_user', $_SERVER['REMOTE_ADDR'], time() + 3600 * 24);
}
// Определение реального браузера
$ua = $_SERVER['HTTP_X_OPERAMINI_PHONE_UA'] ?? $_SERVER['HTTP_USER_AGENT'] ?? 'NONE';
// Корневая папка
define('ROOT', 'http://'.$_SERVER['HTTP_HOST']);
// Кодировка
iconv_set_encoding('internal_encoding', 'UTF-8');
// Дата и время
date_default_timezone_set('Europe/Moscow');
// Очистка мусора
function fileGarbageClean() {
    global $connect;

    // Каталог files
    $dir = $_SERVER["DOCUMENT_ROOT"]."/files";
    foreach (scandir($dir) as $filename) {
        if (!is_dir($filename) && $filename != 'index.html' && $filename != '.htaccess') {
            // Ищем в почте
            $mail = $connect->prepare("select count(*) from `mail` where `file` = ?");
            $mail->execute(array($filename));
            $mail = $mail->fetchColumn();
            // Ищем в заданиях
            $task = $connect->prepare("select count(*) from `task_ans` where `file` = ?");
            $task->execute(array($filename));
            $task = $task->fetchColumn();
            // Ищем в скринах
            $screen = $connect->prepare("select count(*) from `screen` where `file` = ?");
            $screen->execute(array($filename));
            $screen = $screen->fetchColumn();

            if ($mail > 0) {
                $result = true;
            } elseif ($task > 0) {
                $result = true;
            } elseif ($screen > 0) {
                $result = true;
            } else {
                $result = false;
            }

            // Если нигде нет, то удаляем
            if ($result == false) unlink("$dir/$filename");
        }
    }
    // Каталог files/avatar
    $dir = $_SERVER["DOCUMENT_ROOT"]."/files/avatar";
    foreach (scandir($dir) as $filename) {
        if (!is_dir($filename) && $filename != 'index.html' && $filename != '.htaccess' && $filename != 'no_avatar.png') {
            // Ищем аватарку
            $avatar = $connect->prepare("select count(*) from `users` where `avatar` = ?");
            $avatar->execute(array($filename));
            $avatar = $avatar->fetchColumn();

            if ($avatar > 0) {
                $result = true;
            } else {
                $result = false;
            }

            // Если нигде нет, то удаляем
            if ($result == false) unlink("$dir/$filename");
        }
    }
    // Каталог files/shop
    $dir = $_SERVER["DOCUMENT_ROOT"]."/files/shop";
    foreach (scandir($dir) as $filename) {
        if (!is_dir($filename) && $filename != 'index.html' && $filename != '.htaccess') {
            // Ищем товар
            $product = $connect->prepare("select count(*) from `shop` where `file` = ?");
            $product->execute(array($filename));
            $product = $product->fetchColumn();
            // Ищем в покупках
            $purchase = $connect->prepare("select count(*) from `purchase` where `file` = ?");
            $purchase->execute(array($filename));
            $purchase = $purchase->fetchColumn();

            if ($product > 0) {
                $result = true;
            } elseif ($purchase > 0) {
                $result = true;
            } else {
                $result = false;
            }

            // Если нигде нет, то удаляем
            if ($result == false) unlink("$dir/$filename");
        }
    }
}
// Очистка всех кукисов
function cookie_destroy($dir = null) {
    foreach ($_COOKIE as $key => $value) {
        setcookie($key, null, time() - 3600, $dir);
    }
}
// Валидность URL
function is_url($in){
$w = "a-z0-9";
$url_pattern = "#^(https?://(?:www.)?(?:[$w\\-.]+/?\\.[a-z]{2,4})/? (?:[$w\\-./\\#]+)?(?:\\?[$w\\-&=;\\#]+)?)#xi";
$a = preg_match($url_pattern, $in); 
return $a;
}
// Функция ББ кодов
function bb($str) {
// Перенос текста
$str = preg_replace('#\[br\]#si', '<br/>', $str);
// Жирный шрифт
$str = preg_replace('#\[b\](.*?)\[/b\]#si', '<b>\1</b>', $str);
// Наклоненный шрифт
$str = preg_replace('#\[i\](.*?)\[/i\]#si', '<i>\1</i>', $str);
// Подчеркнутый шрифт
$str = preg_replace('#\[u\](.*?)\[/u\]#si', '<u>\1</u>', $str);
// Зачеркнутый шрифт
$str = preg_replace('#\[del\](.*?)\[/del\]#si', '<del>\1</del>', $str);
// Маленький шрифт
$str = preg_replace('#\[small\](.*?)\[/small\]#si', '<small>\1</small>', $str);
// Цветной шрифт
$str = preg_replace('#\[color=(.*?)\](.*?)\[/color\]#si', '<span style="color:\1">\2</span>', $str);
// Мигающий текст
$str = preg_replace('#\[blink\](.*?)\[/blink\]#si', '<div id="blink2">\1</div>', $str);
// Цитата
$str = preg_replace('#\[cit\](.*?)\[/cit\]#si', '<div class="cit">\1</div>', $str);
return $str;
}
// Ссылки
function url_replace($m) {
    if (!isset($m[3])) {
        return '<a href="'.$m[1].'">'.$m[2].'</a>';
    } else {
        return '<a href="'.$m[3].'">'.$m[3].'</a>';
    }
}
function bblinks($link) {
$link = preg_replace_callback('~\\[url=(https?://.+?)\\](.+?)\\[/url\\]|(https?://(www.)?[0-9a-z\.\-]+\.[0-9a-z]{2,6}[0-9a-zA-Z/\?\.\-\~&;_=%:#\+]*)~', 'url_replace', $link);
return $link;
}
// Функция вывода смайлов
function smiles($str) {
$count_smiles = count(glob($_SERVER["DOCUMENT_ROOT"]."/img/smiles/*.gif"));
for($i = 1; $i <= $count_smiles; $i++) {
    $str = str_replace('#'.$i.';', '<img src="/img/smiles/'.$i.'.gif" alt=""/>', $str);
} 
return $str;
}
// Обработка времени
function daytime($var) {
    $date = date('d.m.Y', $var);
    $time = date('H:i', $var);
    if ($date == date('d.m.Y')) {
        $full_time = date('Сегодня в H:i', $var);
    }
    elseif ($date == date('d.m.Y', time() - 60 * 60 * 24)) {
        $full_time = date('Вчера в H:i', $var);
    } else {
        $full_time = date('d.m.Y в H:i', $var);
    }
    return $full_time;
}
// Функция отправки почты на email
function mailto($mail, $theme, $text, $str) {
    $utf = "From: ".$str." \n";
    $utf.= "X-sender: < ".$str." >\n";
    $utf.= "Content-Type: text/html; charset=utf-8\n";
    return mail($mail, $theme, $text, $utf);
}
// Узнаем id по логину
function uid($login) {
    global $connect;
    $strow = $connect->prepare("select * from `users` where `login` = ?");
    $strow->execute(array($login));
    $row = $strow->fetch(PDO::FETCH_LAZY);
    return $row['id'] ?? false;
}
// Узнаем логин по id
function ulogin($uid) {
    global $connect;
    $strow = $connect->prepare("select * from `users` where `id` = ?");
    $strow->execute(array($uid));
    $row = $strow->fetch(PDO::FETCH_LAZY);
    return $row['login'] ?? false;
}
// Инфо о юзере
function user($user, $type = 0) {
    global $connect;
    $user = $type == 0 ? ulogin($user) : $user;
    $result = $connect->prepare("select * from `users` where `login` = ?");
    $result->execute(array($user));
    $row = $result->fetch(PDO::FETCH_LAZY);
    return $row ?? false;
}
// Статус онлайн
function online($user, $type = 0){
    global $connect;
    if (user($user, $type)) {
        $user = $type == 0 ? ulogin($user) : $user;
        $row = user($user, 1);
        if ($row['online'] == 1 && $row['lasttime'] > time() - 900) {
            $online = "on";
        }
    }
    return $online ?? false;
}
// Приватная почта
function p_mail_user($from, $to) {
    global $connect;
    $stmt_count = $connect->prepare("select count(*) from `friend` where `status` = '1' and `user_from` = :from and `user_to` = :to or `user_from` = :to and `user_to` = :from");
    $row = user($from, 1);
    $p_mail = $row['fmail'] ?? false;
    if ($p_mail == 1) {
        $value = true;
    } else {
        $stmt_count->execute(array(
            ':from' => $from,
            ':to' => $to
        ));
        $count = $stmt_count->fetchColumn();
        if ($count > 0) {
            $value = true;
        }
    }
    return $value ?? false;
}
// Статус юзера
function statusUser($admin = 0) {
    if ($admin == 1) {
        $status = 'Администратор';
    } elseif ($admin == 2) {
        $status = 'Журналист газеты';
    } elseif ($admin == 3) {
        $status = 'Модератор чата';
    } elseif ($admin == 4) {
        $status = 'Tester';
    } else {
        $status = 'Пользователь';
    }
    return $status;
}
// Создаем уведомления
function notification($text, $user, $type = 0) {
    global $connect;
    if (user($user, $type)) {
        $user = $type == 0 ? ulogin($user) : $user;
        $stmt = $connect->prepare("insert into `notifications` set `time` = ?, `uid` = ?, `text` = ?");
        $stmt->execute(array(time(), $user, $text));
    }
}
// Добавляем в контакты
function contact_add($from, $to) {
    global $connect;
    $stmt_count = $connect->prepare("select count(*) from `contacts` where `user_from` = :from and `user_to` = :to or `user_from` = :to and `user_to` = :from");
    $stmt_count->execute(array(
        ':from' => $from,
        ':to' => $to
    ));
    $count = $stmt_count->fetchColumn();
    if ($count == 0) {
        $stmt = $connect->prepare("insert into `contacts` set `time` = ?, `user_from` = ?, `user_to` = ?");
        $stmt->execute(array(time(), $from, $to));
    } else {
        $stmt = $connect->prepare("update `contacts` set `time` = :time where `user_from` = :from and `user_to` = :to or `user_from` = :to and `user_to` = :from");
        $stmt->execute(array(
            ':time' => time(),
            ':from' => $from,
            ':to' => $to
        ));
    }
}
// Рейтинг
function ratingUser($rating, $user, $type = 0) {
    global $connect;
    if (user($user, $type)) {
        $user = $type == 0 ? ulogin($user) : $user;
        $stmt = $connect->prepare("update `users` set `rating` = `rating` + ? where `id` = ?");
        $stmt->execute(array($rating, $user));
    }
}
// Черный список
function in_blacklist($user, $black, $type = 0) {
    global $connect;
    if (user($user, $type) && user($black, $type)) {
        $user = $type == 0 ? ulogin($user) : $user;
        $black = $type == 0 ? ulogin($black) : $black;
        $stmt_black = $connect->prepare("select count(*) from `blacklist` where `user` = ? and `black` = ?");
        $stmt_black->execute(array($user, $black));
        $black = $stmt_black->fetchColumn();
        if ($black > 0) {
            $result = true;
        }
    }
    return $result ?? false;
}

// Авторизация
if (isset($_COOKIE['login']) && isset($_COOKIE['pass'])) {
    if (user($_COOKIE['login'], 1)) {
        $user = user($_COOKIE['login'], 1);
        if ($user['login'] == $_COOKIE['login'] && $user['pass'] == $_COOKIE['pass']) {
            $active = true;
            // Онлайн
            $online = 1;
            $stmt = $connect->prepare("update `users` set `lasttime` = ?, `online` = ? where `id` = ? limit 1");
            $stmt->execute(array(time(), $online, $user['id']));
        } else {
            setcookie('login', null, time() - 3600, '/');
            setcookie('pass', null, time() - 3600, '/');
            session_destroy();
        }
    } else {
        setcookie('login', null, time() - 3600, '/');
        setcookie('pass', null, time() - 3600, '/');
        session_destroy();
    }
}

// WebMoney Merchant
$hash = $pay_array['hash'];
$wmr = $pay_array['wmr'];
// WorldKassa
$id_shop = $pay_array['wk_id'];
$wk_hash = $pay_array['wk_hash'];
// WapKassa
$wpkid = $pay_array['wpk_id'];
$wpkh = $pay_array['wpk_hash'];

// E-mail support
$support_mail = $sys_array['mail'];
// Время антивлуда
$antiflud = $sys_array['antiflud'];
// высота аватара
$width_ava = $sys_array['wava'];
// Минималка
$money_cash = $sys_array['cash'];
// Реферальный процент
$ref_cash = $sys_array['ref_cash'];
// Комиссия на вывод
$money_kom = $sys_array['kom'];
// Минимальная цена перехода
$link_min_cena = $sys_array['cena'];
// Цена лотерейного билета
$loto_cena = $sys_array['loto_cena'];
// Кол-во участников лотереи
$loto_max = $sys_array['loto'];
// время перехода
$click_time = $sys_array['ctime'];
// минимальная ставка в пирамиде
$prmd_min = $sys_array['pmin'];
// максимальная ставка в пирамиде
$prmd_max = $sys_array['pmax'];
// Минимальная цена выполнения задания
$task_min_cena = $sys_array['tcena'];
// Срок обработки платежей в магазине
$shop_days = $sys_array['sdays'];
// Минимальный рейтинг для возможности добавлять товары
$shop_rating = $sys_array['shop_rating'];

// Регистрация
$registration = $mod_array['registration'];
// Работа сайта
$work_status = $mod_array['work'];
// Магазин
$shop_on = $mod_array['shop'];
// Серфинг
$serf_on = $mod_array['serf'];
// Задания
$task_on = $mod_array['task'];
// Лотерея
$loto_on = $mod_array['loto'];
// Угадай число
$num_on = $mod_array['num'];
// Пирамида
$prmd_on = $mod_array['prmd'];

/* Рейтинг */
$plus_r = $rat_array['plus'];
$minus_r = $rat_array['minus'];
$click_r = $rat_array['click'];
$task_r = $rat_array['task'];
$shop_r = $rat_array['shop'];
$buy_r = $rat_array['buy'];
$chat_r = $rat_array['chat'];

/* Счетчики модулей */

// Кол-во новостей
$count_news = $connect->query("select  count(*) from `news`")->fetchColumn();
// Последние новости
$stmt_newss = $connect->prepare("select count(*) from `news` where `time` > :time");
$stmt_newss->bindValue(':time', mktime(0, 0, 1, date('m'), date('d'), date('Y')), PDO::PARAM_INT);
$stmt_newss->execute();
$c_newss = $stmt_newss->fetchColumn();
$newss = $c_newss > 0 ? '<span>+'.$c_newss.'</span>' : '';

// Кол-во пользователей
$count_users = $connect->query("select count(*) from `users`")->fetchColumn();
// Кол-во зарегистрированных пользователей сегодня
$stmt_users_new = $connect->prepare("select count(*) from `users` where `datereg` > :datereg");
$stmt_users_new->bindValue(':datereg', mktime(0, 0, 1, date('m'), date('d'), date('Y')), PDO::PARAM_INT);
$stmt_users_new->execute();
$count_users_new = $stmt_users_new->fetchColumn();
// Команда сайта
$count_team_user = $connect->query("select count(*) from `users` where `admin` != '0'")->fetchColumn();
// Деньги у юзеров
$money_users = $connect->query("select sum(`money`) from `users` where `admin` != '1'")->fetchColumn();
// Активные юзеры
$active_users = $connect->query("select * from `click` group by `uid`")->rowCount();
// Кол-во пользователей онлайн
$stmt_online = $connect->prepare("select count(*) from `users` where `online` = '1' and `lasttime` > :ltime");
$stmt_online->bindValue(':ltime', time() - 900, PDO::PARAM_INT);
$stmt_online->execute();
$count_online_user = $stmt_online->fetchColumn();
// Заходило сегодня
$stmt_day = $connect->prepare("select count(*) from `users` where `lasttime` > :ltime");
$stmt_day->bindValue(':ltime', mktime(0, 0, 1, date('m'), date('d'), date('Y')), PDO::PARAM_INT);
$stmt_day->execute();
$count_day_user = $stmt_day->fetchColumn();

if (isset($active) == true) {

    // черный список
    $stmt_black = $connect->prepare("select count(*) from `blacklist` where `user` = ?");
    $stmt_black->execute(array($user['login']));
    $count_black = $stmt_black->fetchColumn();

    // уведомления
    $stmt_not = $connect->prepare("select count(*) from `notifications` where `uid` = ?");
    $stmt_not->execute(array($user['id']));
    $not = $stmt_not->fetchColumn();
    // Новые уведомления
    $stmt_new_not = $connect->prepare("select count(*) from `notifications` where `new` = '1' and `uid` = ?");
    $stmt_new_not->execute(array($user['id']));
    $c_new_not = $stmt_new_not->fetchColumn();
    $new_not = $c_new_not > 0 ? '<span>+'.$c_new_not.'</span>' : '';

    // Продаж за сегодня
    $stmt_day_sell = $connect->prepare("select count(*) from `purchase` where `time` > ?");
    $stmt_day_sell->execute(array(mktime(0, 0, 1, date('m'), date('d'), date('Y'))));
    $day_sell = $stmt_day_sell->fetchColumn();
    // на сумму
    $stmt_sum_day_sell = $connect->prepare("select sum(`sum`) from `purchase` where `time` > ?");
    $stmt_sum_day_sell->execute(array(mktime(0, 0, 1, date('m'), date('d'), date('Y'))));
    $sum_day_sell = $stmt_sum_day_sell->fetchColumn();
    // Продаж за все время
    $all_sell = $connect->query("select count(*) from `purchase`")->fetchColumn();
    // на сумму
    $sum_all_sell = $connect->query("select sum(`sum`) from `purchase`")->fetchColumn();
    // Кол-во товаров в магазине
    $count_shop = $connect->query("select count(*) from `shop` where `status` = '1'")->fetchColumn();
    // Кол-во товаров на модерации
    $c_mod_shop = $connect->query("select count(*) from `shop` where `status` = '0'")->fetchColumn();
    $new_mod_shop = $c_mod_shop > 0 ? '<span>+'.$c_mod_shop.'</span>' : '';
    // все товары
    $all_shop = $count_shop + $c_mod_shop;
    // Кол-во товаров юзера
    $stmt_user_shop = $connect->prepare("select count(*) from `shop` where `user` = ?");
    $stmt_user_shop->execute(array($user['login']));
    $count_user_shop = $stmt_user_shop->fetchColumn();
    // Новые товары
    $stmt_new_shop = $connect->prepare("select count(*) from `shop` where `status` = '1' and `time` > :time");
    $stmt_new_shop->bindValue(':time', mktime(0, 0, 1, date('m'), date('d'), date('Y')), PDO::PARAM_INT);
    $stmt_new_shop->execute();
    $c_new_shop = $stmt_new_shop->fetchColumn();
    $new_shop = $c_new_shop > 0 ? '<span>+'.$c_new_shop.'</span>' : '';
    // покупки юзера
    $stmt_user_purch = $connect->prepare("select count(*) from `purchase` where `user` = ?");
    $stmt_user_purch->execute(array($user['login']));
    $user_purch = $stmt_user_purch->fetchColumn();
    // корзина
    $stmt_user_bk = $connect->prepare("select count(*) from `basket` where `user` = ?");
    $stmt_user_bk->execute(array($user['login']));
    $user_bk = $stmt_user_bk->fetchColumn();

    // друзья юзера
    $stmt_friends = $connect->prepare("select count(*) from `friend` where `status` = '1' and (`user_from` = :user or `user_to` = :user)");
    $stmt_friends->execute(array(
        ':user' => $user['login']
    ));
    $count_friends = $stmt_friends->fetchColumn();
    // заявки в друзья
    $stmt_req = $connect->prepare("select count(*) from `friend` where `status` = '0' and `user_to` = ?");
    $stmt_req->execute(array($user['login']));
    $count_req = $stmt_req->fetchColumn();
    $new_req = $count_req > 0 ? '<span>+'.$count_req.'</span>' : '';

    // Кол-во цепочек писем
    $stmt_mess = $connect->prepare("select count(*) from `contacts` where `user_from` = :user or `user_to` = :user");
    $stmt_mess->execute(array(
        ':user' => $user['login']
    ));
    $count_mess = $stmt_mess->fetchColumn();
    // Сообщения
    $count_mail = $connect->prepare("select count(*) from `mail` where `who` = :user or `user` = :user");
    $count_mail->execute(array(
        ':user' => $user['login']
    ));
    $count_mail = $count_mail->fetchColumn();
    $c_new_mail = $connect->prepare("select count(*) from `mail` where `read` = '0' and `who` = ?");
    $c_new_mail->execute(array($user['login']));
    $c_new_mail = $c_new_mail->fetchColumn();
    $new_mail = $c_new_mail > 0 ? '<span>+'.$c_new_mail.'</span>' : '';

    // Общее кол-во площадок
    $all_links = $connect->query("select count(*) from `link`")->fetchColumn();
    $active_links = $connect->query("select count(*) from `link` where `click` > '0' and `off` = '0'")->fetchColumn();
    // Кол-во ссылок серфинга
    $count_serf = 0;
    $stmt_click = $connect->prepare("select count(*) from `click` where `uid` = ? and `link` = ?");
    $data = $connect->prepare("select `id` from `link` where `click` > '0' and `uid` != ? and `off` = '0'");
    $data->execute(array($user['id']));
    $sql = $data->fetchAll();
    foreach ($sql as $row) {
        $stmt_click->execute(array($user['id'], $row['id']));
        $num = $stmt_click->fetchColumn();
        if ($num == 0) $count_serf++;
    }
    $new_serf = $count_serf > 0 ? '<span>+'.$count_serf.'</span>' : '';
    // Кол-во площадок
    $stmt_link = $connect->prepare("select count(*) from `link` where `uid` = ?");
    $stmt_link->execute(array($user['id']));
    $links = $stmt_link->fetchColumn();
    // Кол-во платных переходов
    $clicks = $connect->query("select count(*) from `click`")->fetchColumn();

    // Кол-во рефералов
    $stmt_ref = $connect->prepare("select count(*) from `users` where `ref` = ?");
    $stmt_ref->execute(array($user['id']));
    $count_ref = $stmt_ref->fetchColumn();

    // Кол-во заданий
    $stmt_tasks = $connect->prepare("select count(*) from `task` where `status` = '1' and `col` > '0' and `user` != ?");
    $stmt_tasks->execute(array($user['login']));
    $count_tasks = $stmt_tasks->fetchColumn();
    $new_task = $count_tasks > 0 ? '<span>+'.$count_tasks.'</span>' : '';
    $all_tasks = $connect->query("select count(*) from `task`")->fetchColumn();
    // Кол-во заданий юзера
    $stmt_user_tasks = $connect->prepare("select count(*) from `task` where `user` = ?");
    $stmt_user_tasks->execute(array($user['login']));
    $count_user_tasks = $stmt_user_tasks->fetchColumn();
    // статистика выполнений
    $stmt_user_task = $connect->prepare("select count(*) from `task_ans` where `user` = ?");
    $stmt_user_task->execute(array($user['login']));
    $user_task_stat = $stmt_user_task->fetchColumn();

    // Кол-во сообщений чата
    $count_chat = $connect->query("select count(*) from `guest`")->fetchColumn();
    // Новые сообщения чата
    $stmt_new_chat = $connect->prepare("select count(*) from `guest` where `date` > :time");
    $stmt_new_chat->bindValue(':time', mktime(0, 0, 1, date('m'), date('d'), date('Y')), PDO::PARAM_INT);
    $stmt_new_chat->execute();
    $c_new_chat = $stmt_new_chat->fetchColumn();
    $new_chat = $c_new_chat > 0 ? '<span>+'.$c_new_chat.'</span>' : '';

    // Кол-во ставок в num
    $count_num = $connect->query("select count(*) from `num`")->fetchColumn();

    // Кол-во ставок в пирамиде
    $count_prmd = $connect->query("select count(*) from `prmd`")->fetchColumn();
    // выигрыш
    $prmd_cash = $connect->query("select sum(`sum`) from `prmd`")->fetchColumn();
    // Кол-во победителей в пирамиде
    $count_win_prmd = $connect->query("select count(*) from `win_prmd`")->fetchColumn();
    // Последняя ставка
    $row_prmd = $connect->query("select * from `prmd` order by `id` desc")->fetch(PDO::FETCH_LAZY);
    // Последний победитель
    $last_prmd = $connect->query("select * from `win_prmd` order by `id` desc")->fetch(PDO::FETCH_LAZY);

    // Кол-во играющих в лотерею
    $loto_count = $connect->query("select count(*) from `loto`")->fetchColumn();
    // Кол-во победителей в лотерее
    $count_win_loto = $connect->query("select count(*) from `win_loto`")->fetchColumn();

    // Кол-во заявок на вывод
    $count_payment = $connect->query("select count(*) from `payment` where `status` = '0'")->fetchColumn();
    $yes_payment = $connect->query("select count(*) from `payment` where `status` = '1'")->fetchColumn();
    $no_payment = $connect->query("select count(*) from `payment` where `status` = '2'")->fetchColumn();
    $all_payment = $count_payment + $yes_payment + $no_payment;
    // Всего выплачено
    $sum_payment = $connect->query("select sum(`money`) from `payment` where `status` = '1'")->fetchColumn();
    // Выплачено юзеру
    $stmt_user_payment = $connect->prepare("select sum(`money`) from `payment` where `status` = '1' and `user` = ?");
    $stmt_user_payment->execute(array($user['login']));
    $user_payment = $stmt_user_payment->fetchColumn();

    /* Игры */

    // Лотерея
    $loto_cash = $loto_max * $loto_cena;
    if ($loto_on == 1 && $loto_count >= $loto_max) {
        $loto = $connect->query("select * from `loto` order by rand()")->fetch(PDO::FETCH_LAZY);
        $money = $connect->prepare("update  `users` set `money` = `money` + ? where `id` = ?");
        $log = $connect->prepare("insert into `win_loto` set `user` = ?, `sum` = ?");
        if ($money->execute(array($loto_cash, $loto['idu'])) && $log->execute(array(ulogin($loto['idu']), $loto_cash))) {
            notification('Вы победили в лотерее! Выигрыш - '.$loto_cash, $loto['idu']);
            $connect->exec("delete from `loto`");
            header('Refresh: 1');
        }
    }
    // Пирамида
    if ($prmd_on == 1 && $count_prmd > 1 && $row_prmd['time'] < time() - 3600) {
        $money = $connect->prepare("update `users` set `money` = `money` + ? where `login` = ?");
        $log = $connect->prepare("insert into `win_prmd` set `time` = ?, `user` = ?, `sum` = ?");
        if ($money->execute(array($prmd_cash, $row_prmd['user'])) && $log->execute(array(time(), $row_prmd['user'], $prmd_cash))) {
            notification('Вы победили в пирамиде! Выигрыш - '.$prmd_cash, $row_prmd['user'], 1);
            $connect->exec("delete from `prmd`");
            header('Refresh: 1');
        }
    }

    /* Магазин */

    // Обработка платежей магазина
    $shop_time = time() - 3600 * 24 * $shop_days;
    $data = $connect->prepare("select * from `purchase` where `status` = '0' and `time` < :time order by `id` limit 15");
    $data->bindValue(':time', $shop_time, PDO::PARAM_INT);
    $data->execute();
    $sql = $data->fetchAll();
    foreach ($sql as $row) {
        // Рейтинг
        ratingUser($shop_r, $row['seller'], 1);
        // Выплата
        $money = $connect->prepare("update `users` set `money` = `money` + ? where `login` = ?");
        $money->execute(array($row['sum'], $row['seller']));
        // Статус платежа
        $status = 1;
        $purchase = $connect->prepare("update `purchase` set `status` = ? where `id` = ?");
        $purchase->execute(array($status, $row['id']));
    }
}
?>