Вход Регистрация
Файл: 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;
}
Онлайн: 2
Реклама