Файл: system/system.config.php
Строк: 176
<?php
#выключаем показ ошибок
error_reporting(E_ALL);
ini_set("display_errors", 1);
#подключаем настройки сайта
require_once 'settings.php';
#id-пользователя (доступна после авторизации)
if (isset($_SESSION['userId'])) {
define('ID_USER', $_SESSION['userId']);
}
#функция для "создания" странички
function page($title,$text){
return '<div class="r1_golov">'.$title.'</div><div class="r1">'.$text.'</div>';
}
#функция подсчета событий, которые нужно расчитать
function numEventCalc() {
global $db;
$timeNow = time();
$queryCalculation = $db -> query("SELECT * FROM events WHERE timestart < $timeNow AND old = 0");
$numCalculation = $db -> numRows($queryCalculation);
return $numCalculation;
}
#функция подсчета пользователей запросивших на ввод
function usersInput() {
global $db;
$queryIn = $db -> query("SELECT * FROM input_means WHERE confirm = 0");
$numIn = $db -> numRows($queryIn);
return $numIn;
}
#функция подсчета пользователей запросивших на вывод
function usersOutput() {
global $db;
$queryOut = $db -> query("SELECT * FROM output_means WHERE confirm = 0");
$numOut = $db -> numRows($queryOut);
return $numOut;
}
#общее кол-во пользователей в системе
function numUsers() {
global $db;
$query = $db -> query("SELECT * FROM users");
$num = $db -> numRows($query);
return $num;
}
#всего денег в системе
function allMoney() {
global $db;
$amount = $db -> getOne("SELECT SUM(balance) FROM users");
return round($amount, 2);
}
#очистка данных. Защита от XSS.
function XSS($var) {
$var = trim($var);
$var = htmlspecialchars($var);
$var = stripslashes($var);
return $var;
}
#очистка числовых данных
function clear($var){
$var = trim($var);
$var = abs($var);
$var = intval($var);
return $var;
}
#функция для вывода ошибок
function errors($text) {
echo '<div class="error">';
echo $text;
echo '</div>';
}
#функция для вывода фатальных ошибок (останавливает дальнейшее выпонение сценария)
function fatalError($text) {
echo '<div class="r1_golov">Ошибка</div>';
echo '<div class="error">';
echo $text;
echo '</div>';
require_once 'footer.php';
exit();
}
#вывод информации
function show($text) {
echo '<div class="info">';
echo $text;
echo '</div>';
}
#функция проверки email
function CheckEmail($email) {
global $db;
$match = 0;
#производим запрос в базу (поиск совпадений)
$query = $db -> query("SELECT `id` FROM `users` WHERE `email` = ?s ", $email);
if ($db -> numRows($query) > 0)
#если нашли совпадение, то увеличиваем кол-во совпадений
$match++;
#база доменов, которые являются зеркалами
$baseEmail = array('yandex.com', 'yandex.ua', 'yandex.kz', 'yandex.by', 'ya.ru', 'yandex.ru');
#обрезаем E-mail до символа @
$emailShort = explode('@', $email);
#выбираем имя почтового ящика
$nameEmail = $emailShort[0];
#выбираем домен и зону
$domenAndZona = $emailShort[1];
#ищем домен и зону в нашей базе $baseEmail
if (in_array($domenAndZona, $baseEmail)) {
#если нашелся такой домен с зоной в базе, то проверяем,
#не регистрировался ли уже кто-то с этим email
#кол-во совпадений
$match = 0;
#перебираем базу до конца
foreach ($baseEmail as $domenZona) {
#формируем email
$newEmail = $nameEmail.'@'.$domenZona;
#производим запрос в базу (поиск совпадений)
$query = $db -> query("SELECT `id` FROM `users` WHERE `email` = ?s ", $newEmail);
if ($db -> numRows($query) > 0)
#если нашли совпадение, то увеличиваем кол-во совпадений
$match++;
}
}
#если уже регистрировались с этим именем почты, то выдаем false, иначе true
if ($match)
return false;
else
return true;
}
#функция вывода ближайших события (в скобках указывается, кол-во матчей)
function forthcoming_events($count) {
global $db;
#проверяем больше ли 0 записей мы просим вывести
$count = ($count > 0) ? $count : 1;
#время сейчас
$timeNow = time();
#запрос на выборку событий, которые еще не начались
$queryEvents = $db -> query("SELECT * FROM events WHERE timestart > ?i LIMIT ?i", $timeNow, $count);
#выводим события
?>
<div class="r1_golov">Ближайшие события</div>
<?
while($event = $db -> fetch($queryEvents)) {
#выбираем из базы название "раздела", в котором находится событие
$querySection = $db -> query("SELECT * FROM sections WHERE id = ?i ", $event['section']);
$dataSection = $db -> fetch($querySection);
?>
<div class="r1">
<strong><? echo $dataSection['title'] ?></strong><br />
<? echo $event['team1'], ' - ', $event['team2'], '<br>'; ?>
Начало: <? echo date('d-m-Y H:i', $event['timestart']), '<br>'; ?>
Коэфф.:
<? echo '
<a href="put.on/?event='.$event['id'].'&outcome=1">[П.1 - ', $event['factor1'], ']</a>
<a href="put.on/?event='.$event['id'].'&outcome=3">[Н.X - ', $event['factor0'], ']</a>
<a href="put.on/?event='.$event['id'].'&outcome=2">[П.2 - ', $event['factor2'], ']</a>';
?>
</div>
<?
}
}
#баланс пользователя, в аргументах передается ID-пользователя
function userBalance($id) {
global $db;
$query = $db -> query("SELECT * FROM users WHERE id = ?i", $id);
$fetch = $db -> fetch($query);
return $fetch['balance'];
}
#логин пользователя, в аргументах передается ID-пользователя
function userLogin($id) {
global $db;
$query = $db -> query("SELECT * FROM users WHERE id = ?i", $id);
$fetch = $db -> fetch($query);
return $fetch['login'];
}
#вывод всех существующих турниров
function all_tournaments() {
global $db;
?>
<div class="r1_golov">Все турниры</div>
<?
$query = $db -> query("SELECT * FROM sections");
while ($tournament = $db -> fetch($query)) {
?>
<a style='text-decoration: none; color: #000;' href='events/?section=<? echo $tournament['id']; ?>'>
<div class='r5'> <img src="../style/default/imgs/icon.png"> <? echo $tournament['title']; ?></div>
</a>
<?
}
}
#функция проверки заполнения реквизитов (в аргементах ID-пользователя)
function checkDetails($id, $wm = NULL, $qiwi = NULL) {
global $db;
$queryDetails = $db -> query("SELECT * FROM users WHERE id = ?i", $id);
$dataDetails = $db -> fetch($queryDetails);
#проверяем на заполненность
if (!$dataDetails['wmr'] && !$dataDetails['qiwi']) {
fatalError('У вас не заполнено ни одного реквизита!');
}
}
#проверяем на заполненность wmr
function checkWMR($id) {
global $db;
$queryWMR = $db -> query("SELECT * FROM users WHERE id = ?i", $id);
$dataWMR = $db -> fetch($queryWMR);
#проверяем заполненность wmr
if (!$dataWMR['wmr'])
return false;
else
return true;
}
#проверяем на заполненность qiwi
function checkQIWI($id) {
global $db;
$queryQIWI = $db -> query("SELECT * FROM users WHERE id = ?i", $id);
$dataQIWI = $db -> fetch($queryQIWI);
#проверяем заполненность wmr
if (!$dataQIWI['qiwi'])
return false;
else
return true;
}