EngineGP/system/distributor.php
Roman Kelesidis f8f9f66d70 Fixed Undefined variable: aop
Undefined variable: aop in file C:\OSPanel\domains\localhost\system\distributor.php on line 124
2023-04-13 21:24:46 +07:00

203 lines
7.5 KiB
PHP

<?php
if(!DEFINED('EGP'))
exit(header('Refresh: 0; URL=http://'.$_SERVER['SERVER_NAME'].'/404'));
$device = '!mobile';
// Подключение filp/whoops
$whoops = new \Whoops\Run;
$whoops->pushHandler(new \Whoops\Handler\PrettyPageHandler);
$whoops->register();
// логи в консоль браузера
$loggingInConsole = new \Whoops\Handler\PlainTextHandler();
$loggingInConsole->loggerOnly(true);
$loggingInConsole->setLogger((new \Monolog\Logger('EngineGP', [(new \Monolog\Handler\BrowserConsoleHandler())->setFormatter((new \Monolog\Formatter\LineFormatter(null, null, true)))])));
$whoops->pushHandler($loggingInConsole);
// логи в файл
$loggingInFile = new \Whoops\Handler\PlainTextHandler();
$loggingInFile->loggerOnly(true);
$loggingInFile->setLogger((new \Monolog\Logger('EngineGP', [(new \Monolog\Handler\StreamHandler(ROOT . '/logs/enginegp.log'))->setFormatter((new \Monolog\Formatter\LineFormatter(null, null, true)))])));
$whoops->pushHandler($loggingInFile);
// Парсинг адреса
$url = is_array(sys::url()) ? sys::url() : array();
$route = sys::url(false);
$section = isset($url['section']) ? $url['section'] : false;
$id = array_key_exists('id', $url) ? sys::int($url['id']) : false;
$go = array_key_exists('go', $url);
$page = array_key_exists('page', $url) ? sys::int($url['page']) : 1;
$route = $route == '' ? 'index' : $route;
// Реферал
if(isset($_GET['account']))
sys::cookie('part', sys::int($_GET['account']), 10);
$auth = false;
// Проверка cookie на авторизацию
$aAuth = array();
$aAuth['login'] = isset($_COOKIE['egp_login']) ? $_COOKIE['egp_login'] : '';
$aAuth['passwd'] = isset($_COOKIE['egp_passwd']) ? $_COOKIE['egp_passwd'] : '';
$aAuth['authkeycheck'] = isset($_COOKIE['egp_authkeycheck']) ? $_COOKIE['egp_authkeycheck'] : '';
$authkey = md5($aAuth['login'].$uip.$aAuth['passwd']);
$userkey = md5($aAuth['login'].$authkey.$aAuth['passwd']);
if(!in_array('', $aAuth) && $authkey == $aAuth['authkeycheck'])
{
$users = $mcache->get('users_auth');
$user = isset($users[$userkey]) ? $users[$userkey] : 0;
if(!$user)
{
if((!sys::valid($aAuth['login'], 'other', $aValid['login'])) && !sys::valid($aAuth['passwd'], 'md5'))
{
$sql->query('SELECT `id` FROM `users` WHERE `login`="'.$aAuth['login'].'" AND `passwd`="'.$aAuth['passwd'].'" LIMIT 1');
if($sql->num())
{
$sql->query('SELECT `id`, `login`, `passwd`, `balance`, `group`, `level`, `time` FROM `users` WHERE `login`="'.$aAuth['login'].'" AND `passwd`="'.$aAuth['passwd'].'" LIMIT 1');
$user = array_merge(array('authkey' => $authkey), $sql->get());
$auth = 1;
sys::users($users, $user, $authkey);
}
}
if(!$auth)
{
sys::cookie('egp_login', 'quit', -1);
sys::cookie('egp_passwd', 'quit', -1);
sys::cookie('egp_authkeycheck', 'quit', -1);
}
}else{
$sql->query('SELECT `balance`, `time` FROM `users` WHERE `id`="'.$user['id'].'" LIMIT 1');
$user = array_merge($user, $sql->get());
sys::user($user);
$auth = 1;
}
}
// Заголовок
$title = '';
// Навигация
$html->nav($cfg['name'], $cfg['http']);
include(DATA.'header.php');
// Подключение файла
if(in_array($route, $aRoute))
include(ENG.$route.'.php');
else
include(ENG.'404.php');
// Обновление ссылок
if(isset($html->arr['main']))
{
$html->upd(
'main',
array(
'[home]',
'[js]',
'[css]',
'[img]'
),
array(
$cfg['http'],
$cfg['http'].'template/js/',
$cfg['http'].'template/css/',
$cfg['http'].'template/images/'
),
);
}
// Онлайн игроков (общее количество всех игроков)
$aop = '';
//$aop = $mcache->get('all_online_players'); //Если ваш хостинг чувствует себя плохо из за чрезмерной нагрузки от данного модуля, то включите кеширование, раскомментировав этот кусочек кода
if($aop == '')
{
$sql->query('SELECT SUM(`online`) FROM `servers` WHERE `status`="working" OR `status`="change"');
$sum = $sql->get();
$aop = $sum['SUM(`online`)'];
$mcache->set('all_online_players', $aop, false, 1);
}
// Заготовка выхлопа
$html->get('all');
$html->set('title', $title.' | '.$cfg['name']);
$html->set('description', sys::head('description'));
$html->set('keywords', sys::head('keywords'));
$html->set('home', $cfg['http']);
$html->set('js', $cfg['http'].'template/js/');
$html->set('css', $cfg['http'].'template/css/');
$html->set('img', $cfg['http'].'template/images/');
$html->set('aop', $aop);
$html->set('cur', $cfg['currency']);
// Если авторизован
if($auth)
{
$html->set('login', $user['login']);
$html->set('balance', round($user['balance'], 2));
$html->set('other_menu', isset($html->arr['vmenu']) ? $html->arr['vmenu'] : '');
}else
$html->set('other_menu', '');
$html->set('nav', isset($html->arr['nav']) ? $html->arr['nav'] : '', true);
$html->set('main', isset($html->arr['main']) ? $html->arr['main'] : '', true);
$sql->query('SELECT `id`, `login`, `time` FROM `users` ORDER BY `id` ASC');
$online = '<span style="padding:0 5px;">';
while($staff = $sql->get())
{
if ($staff['time']+15 > $start_point) {
$online .= $staff['login'].', ';
}
else {
$online .= '';
}
}
$online .= '</span>';
$html->set('online_users', $online);
$html->pack('all');
// Блоки
if($auth)
{
// Проверка наличия игрового сервера
$servers = $sql->query('(SELECT `id` FROM `servers` WHERE `user`="'.$user['id'].'" LIMIT 1) UNION (SELECT `id` FROM `owners` WHERE `user`="'.$user['id'].'" LIMIT 1)');
if($sql->num())
$html->unitall('servers', 'all', 1, 1);
else
$html->unitall('servers', 'all', 0, 1);
// Проверка наличия игрового сервера
$servers = $sql->query('SELECT `id` FROM `control` WHERE `user`="'.$user['id'].'" LIMIT 1');
if($sql->num())
$html->unitall('control', 'all', 1);
else
$html->unitall('control', 'all', 0);
$html->unitall('auth', 'all', 1, 1);
$html->unitall('admin', 'all', $user['group'] == 'admin', 1);
$html->unitall('support', 'all', $user['group'] == 'support', 1);
}else{
$html->unitall('auth', 'all', 0, 1);
$html->unitall('servers', 'all', 0, 1);
$html->unitall('control', 'all', 0, 1);
$html->unitall('admin', 'all', 0, 1);
$html->unitall('support', 'all', 0, 1);
}
?>