Merge pull request #79 from EngineGPDev/develop

Upgrade to 3.7.1.4
This commit is contained in:
Sergei Solovev 2024-04-09 12:17:33 +03:00 committed by GitHub
commit 3b3cf279a7
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
1782 changed files with 19430 additions and 200638 deletions

23
.env.example Normal file
View file

@ -0,0 +1,23 @@
# Basic Settings
# Panel operation mode. (dev or prod)
RUN_MODE="prod"
# Site protocol http:// or https://
APP_PROTOCOL="http://"
# The URL of the site
APP_URL="example.com"
# The name of the site
APP_NAME="EngineGP"
# Site Description
APP_DESCRIPTION="EngineGP"
# Database Connection Settings
DB_HOST="127.0.0.1"
DB_DATABASE="enginegp_db"
DB_USERNAME="enginegp_usr"
DB_PASSWORD="enginegp_pwd"
# Settings of the "Control" service
# The IP address of the site
APP_IP="192.168.1.1"
# Site subnet
APP_SUBNET="192.168.1.0/24"

2
.gitignore vendored
View file

@ -1,3 +1,5 @@
.idea
.vscode
.env
vendor
composer.phar

View file

@ -16,22 +16,14 @@ RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !=/favicon.ico
RewriteRule ^(?!acp).* index.php [L]
<Files .env>
Order allow,deny
Deny from all
</Files>
ErrorDocument 403 /403.html
ErrorDocument 404 /404.html
#***Раскодировать, если не загружаются большие файлы:
php_value max_execution_time 500
php_value max_input_time 500
php_value upload_max_filesize 30M
php_value post_max_size 30M
#***Раскодировать, если белый экран:
#php_flag short_open_tag = On
php_flag display_startup_errors on
php_flag display_errors on
php_flag html_errors on
<ifModule mod_expires.c>
ExpiresActive On

View file

@ -1,6 +1,6 @@
MIT License
Copyright (c) 2018-2023 Sergei Solovev and contributors
Copyright (c) 2018-present Solovev Sergei
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal

View file

@ -1,11 +1,29 @@
<?php
header('Content-Type: text/html; charset=utf-8');
header('X-Powered-By: EGP');
date_default_timezone_set('Europe/Moscow');
@ini_set('display_errors', FALSE);
@ini_set('html_errors', FALSE);
@ini_set('error_reporting', E_ALL);
// Composer
if (!file_exists('../vendor/autoload.php')) {
die('Please <a href="https://getcomposer.org/download/" target="_blank" rel="noreferrer" style="color:#0a25bb;">install composer</a> and run <code style="background:#222;color:#00e01f;padding:2px 6px;border-radius:3px;">composer install</code>');
}
require('../vendor/autoload.php');
// Загружаем .env
$dotenv = new Symfony\Component\Dotenv\Dotenv();
$dotenv->load('../.env');
if ($_ENV['RUN_MODE'] === 'dev') {
// Включение отображения ошибок в режиме разработки
ini_set('display_errors', TRUE);
ini_set('html_errors', TRUE);
ini_set('error_reporting', E_ALL);
} else {
// Отключение отображения ошибок в продакшене
ini_set('display_errors', FALSE);
ini_set('html_errors', FALSE);
ini_set('error_reporting', 0);
}
DEFINE('EGP', TRUE);
DEFINE('ROOT', '../');
@ -24,12 +42,6 @@ $start_point = $_SERVER['REQUEST_TIME'];
$mcache = new Memcache;
$mcache->connect('127.0.0.1', 11211) or exit('Ошибка подключения Memcache');
// Composer
if (!file_exists(ROOT . 'vendor/autoload.php')) {
die('Please <a href="https://getcomposer.org/download/" target="_blank" rel="noreferrer" style="color:#0a25bb;">install composer</a> and run <code style="background:#222;color:#00e01f;padding:2px 6px;border-radius:3px;">composer install</code>');
}
require(ROOT . 'vendor/autoload.php');
// Настройки
include(DATA . 'config.php');
include(DATA . 'mysql.php');
@ -48,4 +60,3 @@ include(ACP . 'distributor.php');
// Выхлоп
echo $html->arr['all'];
?>

View file

@ -1,6 +1,7 @@
{
"require": {
"symfony/polyfill": "1.28.0",
"symfony/dotenv": "5.4.35",
"filp/whoops": "2.15.4",
"monolog/monolog": "2.9.2",
"xpaw/php-source-query-class": "2.1.0",

142
composer.lock generated
View file

@ -4,7 +4,7 @@
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
"This file is @generated automatically"
],
"content-hash": "9fe541d20000bad8bcc7a6f093bd89a1",
"content-hash": "06f4af2d7e9531adb777efd893131ba8",
"packages": [
{
"name": "filp/whoops",
@ -229,6 +229,144 @@
},
"time": "2021-05-03T11:20:27+00:00"
},
{
"name": "symfony/deprecation-contracts",
"version": "v2.5.2",
"source": {
"type": "git",
"url": "https://github.com/symfony/deprecation-contracts.git",
"reference": "e8b495ea28c1d97b5e0c121748d6f9b53d075c66"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/e8b495ea28c1d97b5e0c121748d6f9b53d075c66",
"reference": "e8b495ea28c1d97b5e0c121748d6f9b53d075c66",
"shasum": ""
},
"require": {
"php": ">=7.1"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-main": "2.5-dev"
},
"thanks": {
"name": "symfony/contracts",
"url": "https://github.com/symfony/contracts"
}
},
"autoload": {
"files": [
"function.php"
]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Nicolas Grekas",
"email": "p@tchwork.com"
},
{
"name": "Symfony Community",
"homepage": "https://symfony.com/contributors"
}
],
"description": "A generic function and convention to trigger deprecation notices",
"homepage": "https://symfony.com",
"support": {
"source": "https://github.com/symfony/deprecation-contracts/tree/v2.5.2"
},
"funding": [
{
"url": "https://symfony.com/sponsor",
"type": "custom"
},
{
"url": "https://github.com/fabpot",
"type": "github"
},
{
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
"type": "tidelift"
}
],
"time": "2022-01-02T09:53:40+00:00"
},
{
"name": "symfony/dotenv",
"version": "v5.4.35",
"source": {
"type": "git",
"url": "https://github.com/symfony/dotenv.git",
"reference": "4de488440104b99d2e7c0717ee432e760b061e32"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/dotenv/zipball/4de488440104b99d2e7c0717ee432e760b061e32",
"reference": "4de488440104b99d2e7c0717ee432e760b061e32",
"shasum": ""
},
"require": {
"php": ">=7.2.5",
"symfony/deprecation-contracts": "^2.1|^3"
},
"require-dev": {
"symfony/console": "^4.4|^5.0|^6.0",
"symfony/process": "^4.4|^5.0|^6.0"
},
"type": "library",
"autoload": {
"psr-4": {
"Symfony\\Component\\Dotenv\\": ""
},
"exclude-from-classmap": [
"/Tests/"
]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Fabien Potencier",
"email": "fabien@symfony.com"
},
{
"name": "Symfony Community",
"homepage": "https://symfony.com/contributors"
}
],
"description": "Registers environment variables from a .env file",
"homepage": "https://symfony.com",
"keywords": [
"dotenv",
"env",
"environment"
],
"support": {
"source": "https://github.com/symfony/dotenv/tree/v5.4.35"
},
"funding": [
{
"url": "https://symfony.com/sponsor",
"type": "custom"
},
{
"url": "https://github.com/fabpot",
"type": "github"
},
{
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
"type": "tidelift"
}
],
"time": "2024-01-23T13:51:25+00:00"
},
{
"name": "symfony/polyfill",
"version": "v1.28.0",
@ -478,5 +616,5 @@
"prefer-lowest": false,
"platform": [],
"platform-dev": [],
"plugin-api-version": "2.3.0"
"plugin-api-version": "2.6.0"
}

View file

@ -1,9 +1,27 @@
<?php
date_default_timezone_set('Europe/Moscow');
@ini_set('display_errors', TRUE);
@ini_set('html_errors', TRUE);
@ini_set('error_reporting', E_ALL);
// Composer
if (!file_exists(__DIR__ . '/vendor/autoload.php')) {
exit('Please install composer and run composer install' . PHP_EOL);
}
require(__DIR__ . '/vendor/autoload.php');
// Загружаем .env
$dotenv = new Symfony\Component\Dotenv\Dotenv();
$dotenv->load(__DIR__ . '/.env');
if ($_ENV['RUN_MODE'] === 'dev') {
// Включение отображения ошибок в режиме разработки
ini_set('display_errors', TRUE);
ini_set('html_errors', TRUE);
ini_set('error_reporting', E_ALL);
} else {
// Отключение отображения ошибок в продакшене
ini_set('display_errors', FALSE);
ini_set('html_errors', FALSE);
ini_set('error_reporting', 0);
}
DEFINE('EGP', TRUE);
DEFINE('DIR', dirname('index.php'));
@ -21,14 +39,14 @@ DEFINE('CRON', LIB . 'cron/');
$start_point = $_SERVER['REQUEST_TIME'];
$mcache = new Memcache;
$mcache->connect('127.0.0.1', 11211) or exit('Ошибка: не удалось создать связь с Memcache.' . PHP_EOL);
$mcache->connect('127.0.0.1', 11211) or exit('Ошибка подключения Memcache.' . PHP_EOL);
// Настройки
include(DATA . 'config.php');
/*if($argv[1] != $cfg['cron_key'])
exit('error key.'.PHP_EOL);
*/
// Проверка ключа и указания параметра
if($argv[1] != $cfg['cron_key'])
exit('Invalid cron key' . PHP_EOL);
$task = $argv[2];
include(DATA . 'engine.php');
@ -40,4 +58,3 @@ include(LIB . 'sql.php');
include(LIB . 'html.php');
include(LIB . 'system.php');
include(LIB . 'cron.php');
?>

View file

@ -279,19 +279,6 @@ CREATE TABLE `cashback` (
-- --------------------------------------------------------
--
-- Структура таблицы `chat`
--
CREATE TABLE `chat` (
`id` int(11) NOT NULL,
`userid` int(11) NOT NULL,
`date` datetime NOT NULL,
`msg` text NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
-- --------------------------------------------------------
--
-- Структура таблицы `control`
--
@ -689,36 +676,6 @@ CREATE TABLE `help_upload` (
-- --------------------------------------------------------
--
-- Структура таблицы `jobs`
--
CREATE TABLE `jobs` (
`id` int(11) NOT NULL,
`name` varchar(500) NOT NULL,
`job` varchar(150) NOT NULL,
`desc` text NOT NULL,
`status` int(11) NOT NULL,
`date` int(11) NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
-- --------------------------------------------------------
--
-- Структура таблицы `jobs_app`
--
CREATE TABLE `jobs_app` (
`id` int(11) NOT NULL,
`user` int(11) NOT NULL,
`text` text NOT NULL,
`contact` varchar(100) NOT NULL,
`job` int(11) NOT NULL,
`date` int(11) NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
-- --------------------------------------------------------
--
-- Структура таблицы `logs`
--
@ -1330,7 +1287,7 @@ CREATE TABLE `units` (
CREATE TABLE `users` (
`id` int(11) NOT NULL,
`login` char(15) NOT NULL,
`passwd` char(32) NOT NULL,
`passwd` char(60) NOT NULL,
`name` char(32) NOT NULL,
`lastname` char(32) NOT NULL,
`patronymic` char(32) NOT NULL,
@ -1533,12 +1490,6 @@ ALTER TABLE `boost_rating`
ALTER TABLE `cashback`
ADD PRIMARY KEY (`id`);
--
-- Индексы таблицы `chat`
--
ALTER TABLE `chat`
ADD PRIMARY KEY (`id`);
--
-- Индексы таблицы `control`
--
@ -1671,18 +1622,6 @@ ALTER TABLE `help_dialogs`
ALTER TABLE `help_upload`
ADD PRIMARY KEY (`id`);
--
-- Индексы таблицы `jobs`
--
ALTER TABLE `jobs`
ADD PRIMARY KEY (`id`);
--
-- Индексы таблицы `jobs_app`
--
ALTER TABLE `jobs_app`
ADD PRIMARY KEY (`id`);
--
-- Индексы таблицы `logs`
--
@ -1995,11 +1934,6 @@ ALTER TABLE `boost_rating`
ALTER TABLE `cashback`
MODIFY `id` int(11) NOT NULL AUTO_INCREMENT;
--
-- AUTO_INCREMENT для таблицы `chat`
--
ALTER TABLE `chat`
MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=3;
--
-- AUTO_INCREMENT для таблицы `control`
--
ALTER TABLE `control`
@ -2090,16 +2024,6 @@ ALTER TABLE `help_dialogs`
ALTER TABLE `help_upload`
MODIFY `id` int(11) NOT NULL AUTO_INCREMENT;
--
-- AUTO_INCREMENT для таблицы `jobs`
--
ALTER TABLE `jobs`
MODIFY `id` int(11) NOT NULL AUTO_INCREMENT;
--
-- AUTO_INCREMENT для таблицы `jobs_app`
--
ALTER TABLE `jobs_app`
MODIFY `id` int(11) NOT NULL AUTO_INCREMENT;
--
-- AUTO_INCREMENT для таблицы `logs`
--
ALTER TABLE `logs`

View file

@ -1,12 +1,29 @@
<?php
header('Content-Type: text/html; charset=utf-8');
header('X-Powered-By: EGP');
date_default_timezone_set('Europe/Moscow');
@ini_set('display_errors', TRUE);
@ini_set('html_errors', TRUE);
@ini_set('error_reporting', E_ALL);
// Composer
if (!file_exists(__DIR__ . '/vendor/autoload.php')) {
die('Please <a href="https://getcomposer.org/download/" target="_blank" rel="noreferrer" style="color:#0a25bb;">install composer</a> and run <code style="background:#222;color:#00e01f;padding:2px 6px;border-radius:3px;">composer install</code>');
}
require(__DIR__ . '/vendor/autoload.php');
// Загружаем .env
$dotenv = new Symfony\Component\Dotenv\Dotenv();
$dotenv->load(__DIR__ . '/.env');
if ($_ENV['RUN_MODE'] === 'dev') {
// Включение отображения ошибок в режиме разработки
ini_set('display_errors', TRUE);
ini_set('html_errors', TRUE);
ini_set('error_reporting', E_ALL);
} else {
// Отключение отображения ошибок в продакшене
ini_set('display_errors', FALSE);
ini_set('html_errors', FALSE);
ini_set('error_reporting', 0);
}
DEFINE('EGP', TRUE);
DEFINE('DIR', dirname('index.php'));
@ -20,18 +37,11 @@ DEFINE('LIB', SYS . 'library/');
DEFINE('ENG', SYS . 'engine/');
DEFINE('SEC', SYS . 'sections/');
$device = isset($_COOKIE['egp_device']) ? $_COOKIE['egp_device'] : '!mobile';
$start_point = $_SERVER['REQUEST_TIME'];
$mcache = new Memcache;
$mcache->connect('127.0.0.1', 11211) or exit('Ошибка подключения Memcache');
// Composer
if (!file_exists(ROOT . 'vendor/autoload.php')) {
die('Please <a href="https://getcomposer.org/download/" target="_blank" rel="noreferrer" style="color:#0a25bb;">install composer</a> and run <code style="background:#222;color:#00e01f;padding:2px 6px;border-radius:3px;">composer install</code>');
}
require(ROOT . 'vendor/autoload.php');
// Настройки
include(DATA . 'config.php');
include(DATA . 'engine.php');
@ -45,24 +55,8 @@ include(LIB . 'system.php');
$uip = sys::ip();
/* if(!isset($_COOKIE['egp_device']))
{
include(LIB.'megp.php');
$device = $megp->isMobile() ? 'mobile' : '!mobile';
sys::cookie('egp_device', $device, 14);
if($device == 'mobile')
sys::back();
} */
// Распределитель
if ($device == '!mobile')
include(SYS . 'distributor.php');
/* else
include(SYS.'mdistributor.php'); */
include(SYS . 'distributor.php');
// Выхлоп
echo $html->arr['all'];
?>

View file

@ -17,8 +17,6 @@ $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);
$device = '!mobile';
// Парсинг адреса
$url = is_array(sys::url()) ? sys::url() : array();
$route = sys::url(false);
@ -29,30 +27,25 @@ $go = array_key_exists('go', $url);
$page = array_key_exists('page', $url) ? sys::int($url['page']) : 1;
$route = $route == '' ? 'index' : $route;
session_start();
$auth = false;
// Проверка cookie на авторизацию
$aAuth = array();
// Проверка сессии на авторизацию
if (isset($_SESSION['user_id'])) {
$userId = $_SESSION['user_id'];
$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'] : '';
$sql->query('SELECT `id`, `login`, `balance`, `group`, `level`, `time` FROM `users` WHERE `id`="' . $userId . '" LIMIT 1');
if ($sql->num()) {
$user = $sql->get();
$authkey = md5($aAuth['login'] . $uip . $aAuth['passwd']);
if (!in_array('', $aAuth) and $authkey == $aAuth['authkeycheck']) {
if ((!sys::valid($aAuth['login'], 'other', $aValid['login'])) and !sys::valid($aAuth['passwd'], 'md5')) {
$sql->query('SELECT `id` FROM `users` WHERE `login`="' . $aAuth['login'] . '" AND `passwd`="' . $aAuth['passwd'] . '" AND `group`="admin" LIMIT 1');
if ($sql->num()) {
$sql->query('SELECT `id`, `login`, `balance`, `group`, `time` FROM `users` WHERE `login`="' . $aAuth['login'] . '" AND `passwd`="' . $aAuth['passwd'] . '" LIMIT 1');
$user = $sql->get();
// Обновление активности
if ($user['time'] + 10 < $start_point)
$sql->query('UPDATE `users` set `time`="' . $start_point . '" WHERE `id`="' . $user['id'] . '" LIMIT 1');
// Обновление активности
if ($user['time'] + 10 < $start_point)
$sql->query('UPDATE `users` set `time`="' . $start_point . '" WHERE `id`="' . $user['id'] . '" LIMIT 1');
// Проверка принадлежности к группе admin
if ($user['group'] === "admin")
$auth = true;
}
}
}
@ -139,4 +132,3 @@ foreach ($aRoute as $route)
$html->set('main', isset($html->arr['main']) ? $html->arr['main'] : '', true);
$html->pack('all');
?>

View file

@ -35,4 +35,3 @@ $html->set('plugins', $sql->num());
$html->pack('menu');
include(SEC . 'addons/' . $section . '.php');
?>

View file

@ -37,4 +37,3 @@ $html->pack('menu');
$inc = $section != 'index' ? 'service' : 'index';
include(SEC . 'boost/' . $inc . '.php');
?>

View file

@ -2,9 +2,21 @@
if (!DEFINED('EGP'))
exit(header('Refresh: 0; URL=http://' . $_SERVER['HTTP_HOST'] . '/404'));
@ini_set('display_errors', TRUE);
@ini_set('html_errors', TRUE);
@ini_set('error_reporting', E_ALL);
// Загружаем .env
$dotenv = new Symfony\Component\Dotenv\Dotenv();
$dotenv->load(ROOT . '/.env');
if ($_ENV['RUN_MODE'] === 'dev') {
// Включение отображения ошибок в режиме разработки
ini_set('display_errors', TRUE);
ini_set('html_errors', TRUE);
ini_set('error_reporting', E_ALL);
} else {
// Отключение отображения ошибок в продакшене
ini_set('display_errors', FALSE);
ini_set('html_errors', FALSE);
ini_set('error_reporting', 0);
}
$nmc = 'cashback_' . $id;
@ -55,4 +67,3 @@ if ($id) {
}
sys::outjs(array('e' => 'Не передан идентификатор заявки'), $nmc);
?>

View file

@ -2,7 +2,7 @@
if (!DEFINED('EGP'))
exit(header('Refresh: 0; URL=http://' . $_SERVER['HTTP_HOST'] . '/404'));
$info = '<i class="fa fa-dropbox"></i> Контроль';
$info = '<i class="fa-brands fa-dropbox"></i> Контроль';
$aSection = array(
'index',
@ -34,4 +34,3 @@ $html->set('overdue', $sql->num());
$html->pack('menu');
include(SEC . 'control/' . $section . '.php');
?>

View file

@ -6,4 +6,3 @@ $info = '<i class="fa fa-globe"></i> Список вирт. хостингов';
$html->get('menu', 'sections/hosting');
$html->pack('menu');
?>

View file

@ -84,4 +84,3 @@ if ($html->arr['main'] == '') {
$mcache->set($mcache_name, $html->arr['main'], false, 10);
} else
$html->arr['main'] = str_replace('[cashback]', $html->arr['cashback'], $html->arr['main']);
?>

View file

@ -1,32 +0,0 @@
<?php
if (!DEFINED('EGP'))
exit(header('Refresh: 0; URL=http://' . $_SERVER['HTTP_HOST'] . '/404'));
$info = '<i class="fa fa-envelope-open"></i> Вакансии';
$aSection = array(
'index',
'add',
'request'
);
if (!in_array($section, $aSection))
$section = 'index';
$html->get('menu', 'sections/jobs');
$html->unit('s_' . $section, true);
unset($aSection[array_search($section, $aSection)]);
foreach ($aSection as $noactive)
$html->unit('s_' . $noactive);
$sql->query('SELECT `id` FROM `jobs`');
$html->set('jobs', $sql->num());
$sql->query('SELECT `id` FROM `jobs_app`');
$html->set('jobs_app', $sql->num());
$html->pack('menu');
include(SEC . 'jobs/' . $section . '.php');
?>

View file

@ -24,4 +24,3 @@ foreach ($aSection as $noactive)
$html->pack('menu');
include(SEC . 'letter/' . $section . '.php');
?>

View file

@ -30,4 +30,3 @@ foreach ($aSection as $noactive)
$html->pack('menu');
include(SEC . 'logs/' . $section . '.php');
?>

View file

@ -2,7 +2,7 @@
if (!DEFINED('EGP'))
exit(header('Refresh: 0; URL=http://' . $_SERVER['HTTP_HOST'] . '/404'));
$info = '<i class="fa fa-newspaper-o"></i> Управление новостями';
$info = '<i class="fa-regular fa-newspaper"></i> Управление новостями';
$aSection = array(
'index',
@ -28,4 +28,3 @@ $html->set('news', $sql->num());
$html->pack('menu');
include(SEC . 'news/' . $section . '.php');
?>

View file

@ -29,4 +29,3 @@ $html->set('active', $sql->num());
$html->pack('menu');
include(SEC . 'notice/' . $section . '.php');
?>

View file

@ -2,7 +2,7 @@
if (!DEFINED('EGP'))
exit(header('Refresh: 0; URL=http://' . $_SERVER['HTTP_HOST'] . '/404'));
$info = '<i class="fa fa-file-text-o"></i> Управление старницами';
$info = '<i class="fa-regular fa-file-lines"></i> Управление старницами';
$aSection = array(
'index',
@ -25,4 +25,3 @@ foreach ($aSection as $noactive)
$html->pack('menu');
include(SEC . 'pages/' . $section . '.php');
?>

View file

@ -33,4 +33,3 @@ $html->set('end', $sql->num());
$html->pack('menu');
include(SEC . 'promo/' . $section . '.php');
?>

View file

@ -74,4 +74,3 @@ $html->set('overdue', $sql->num());
$html->pack('menu');
include(SEC . 'servers/' . $section . '.php');
?>

View file

@ -52,4 +52,3 @@ if ($go) {
$html->get('index', 'sections/system');
$html->pack('main');
?>

View file

@ -30,4 +30,3 @@ $html->set('tarifs', $sql->num());
$html->pack('menu');
include(SEC . 'tarifs/' . $section . '.php');
?>

View file

@ -30,4 +30,3 @@ $html->set('units', $sql->num());
$html->pack('menu');
include(SEC . 'units/' . $section . '.php');
?>

View file

@ -41,4 +41,3 @@ $html->set('signup', $sql->num());
$html->pack('menu');
include(SEC . 'users/' . $section . '.php');
?>

View file

@ -59,4 +59,3 @@ $html->set('hosting', $sql->num());
$html->pack('menu');
include(SEC . 'web/' . $section . '.php');
?>

View file

@ -28,4 +28,3 @@ foreach ($aSection as $noactive)
$html->pack('menu');
include(SEC . 'wiki/' . $section . '.php');
?>

View file

@ -41,4 +41,3 @@ if ($go) {
$html->get('addcat', 'sections/addons');
$html->pack('main');
?>

View file

@ -346,4 +346,3 @@ if ($go) {
$html->get('addpl', 'sections/addons');
$html->pack('main');
?>

View file

@ -22,4 +22,3 @@ $html->get('cats', 'sections/addons');
$html->set('list', $list);
$html->pack('main');
?>

View file

@ -54,4 +54,3 @@ if ($url['type'] == 'plugin') {
}
sys::outjs(array('s' => 'ok'));
?>

View file

@ -63,4 +63,3 @@ else {
$html->pack('main');
}
?>

View file

@ -318,4 +318,3 @@ while ($data = $sql->get()) {
$html->set('update', $update);
$html->pack('main');
?>

View file

@ -67,4 +67,3 @@ while ($plugin = $sql->get($plugins)) {
$mcache->set($mkey, array('s' => $list), false, 15);
sys::outjs(array('s' => $list));
?>

View file

@ -303,4 +303,3 @@ $html->set('config_write_del_all', $config_write_del_all);
$html->set('files_delete_all', $files_delete_all);
$html->pack('main');
?>

View file

@ -72,4 +72,3 @@ $html->get('updmp', 'sections/addons');
$html->set('units', $units);
$html->pack('main');
?>

View file

@ -76,4 +76,3 @@ $html->set('cur', $cfg['currency']);
$html->set('pages', isset($html->arr['pages']) ? $html->arr['pages'] : '');
$html->pack('main');
?>

View file

@ -68,4 +68,3 @@ while ($log = $sql->get()) {
$mcache->set($mkey, array('s' => $list), false, 15);
sys::outjs(array('s' => $list));
?>

View file

@ -76,4 +76,3 @@ $html->set('cur', $cfg['currency']);
$html->set('pages', isset($html->arr['pages']) ? $html->arr['pages'] : '');
$html->pack('main');
?>

View file

@ -5,4 +5,3 @@ if (!DEFINED('EGP'))
$sql->query('UPDATE `control` set `user`="-1", `status`="overdue", `time`="0", `overdue`="0" WHERE `id`="' . $id . '" LIMIT 1');
sys::outjs(array('s' => 'ok'));
?>

View file

@ -50,4 +50,3 @@ else {
$html->set('pages', isset($html->arr['pages']) ? $html->arr['pages'] : '');
$html->pack('main');
}
?>

View file

@ -31,4 +31,3 @@ else {
$html->set('pages', '');
$html->pack('main');
}
?>

View file

@ -94,4 +94,3 @@ while ($ctrl = $sql->get($ctrls)) {
$mcache->set($mkey, array('s' => $list), false, 15);
sys::outjs(array('s' => $list));
?>

View file

@ -101,4 +101,3 @@ $html->set('overdue', $ctrl['overdue'] == 0 ? 'Установить' : date('d/m
$html->set('block', $ctrl['block'] == 0 ? 'Заблокировать' : date('d/m/Y H:i', $ctrl['block']));
$html->pack('main');
?>

View file

@ -1,27 +0,0 @@
<?php
if (!DEFINED('EGP'))
exit(header('Refresh: 0; URL=http://' . $_SERVER['HTTP_HOST'] . '/404'));
if ($go) {
$aData = [];
$data = ['name', 'job', 'desc', 'status'];
foreach ($data as $idata)
$aData[$idata] = isset($_POST[$idata]) ? $_POST[$idata] : '';
if (in_array('', $aData))
sys::outjs(array('e' => 'Необходимо заполнить все поля!'));
$sql->query('INSERT INTO `jobs` set'
. '`name`="' . $aData['name'] . '",'
. '`job`="' . $aData['job'] . '",'
. '`desc`="' . $aData['desc'] . '",'
. '`status`="' . $aData['status'] . '",'
. '`date`="' . $start_point . '"');
sys::outjs(array('s' => 'ok'));
}
$html->get('add', 'sections/jobs');
$html->pack('main');
?>

View file

@ -1,38 +0,0 @@
<?php
if (!DEFINED('EGP'))
exit(header('Refresh: 0; URL=http://' . $_SERVER['HTTP_HOST'] . '/404'));
$sql->query('SELECT * FROM `jobs` WHERE `id`="' . $id . '" LIMIT 1');
if (!$sql->num())
header('Location: ' . $cfg['http'] . 'acp/jobs');
$jobs = $sql->get();
if ($go) {
$aData = [];
$data = ['name', 'job', 'desc', 'status'];
foreach ($data as $idata)
$aData[$idata] = isset($_POST[$idata]) ? $_POST[$idata] : '';
if (in_array('', $aData))
sys::outjs(array('e' => 'Необходимо заполнить все поля!'));
$sql->query('UPDATE `jobs` set'
. '`name`="' . $aData['name'] . '",'
. '`job`="' . $aData['job'] . '",'
. '`desc`="' . $aData['desc'] . '",'
. '`status`="' . $aData['status'] . '",'
. '`date`="' . $start_point . '"');
sys::outjs(array('s' => 'ok'));
}
$html->get('edit', 'sections/jobs');
$status = $jobs['status'] ? '<option value="1">Доступна</option><option value="0">Недоступна</option>' : '<option value="0">Недоступна</option><option value="1">Доступна</option>';
$html->set('status', $status);
$data = ['id', 'name', 'job', 'desc'];
foreach ($data as $idata)
$html->set($idata, $jobs[$idata]);
$html->pack('main');
?>

View file

@ -1,36 +0,0 @@
<?php
if (!DEFINED('EGP'))
exit(header('Refresh: 0; URL=http://' . $_SERVER['HTTP_HOST'] . '/404'));
if ($url['edit']) {
include(SEC . 'jobs/edit.php');
} else {
$sql->query('SELECT * FROM `jobs` ORDER BY `id` ASC');
while ($jobs = $sql->get()) {
$status = [
'1' => 'Доступна',
'0' => 'Недоступна'
];
$list .= '<tr>';
$list .= '<td>' . $jobs['id'] . '</td>';
$list .= '<td>' . $jobs['name'] . '</td>';
$list .= '<td>' . $jobs['job'] . '</td>';
$list .= '<td>' . $jobs['desc'] . '</td>';
$list .= '<td>' . $status[$jobs['status']] . '</td>';
$list .= '<td>' . sys::today($jobs['date']) . '</td>';
$list .= '<td><div class="text-red" style="cursor: pointer;" onclick="del(\'' . $jobs['id'] . '\', \'confirm\')">удалить</div></td>';
$list .= '<td><a href="[acp]jobs/edit/section/id/' . $jobs['id'] . '" class="green">Изменить</a></td>';
$list .= '</tr>';
}
if (isset($url['del'])) {
$sql->query('DELETE FROM `jobs` WHERE `id`="' . $url['del'] . '" LIMIT 1');
sys::outjs(array('s' => 'ok'));
}
$html->get('index', 'sections/jobs');
$html->set('list', $list);
$html->pack('main');
}
?>

View file

@ -1,60 +0,0 @@
<?php
if (!DEFINED('EGP'))
exit(header('Refresh: 0; URL=http://' . $_SERVER['HTTP_HOST'] . '/404'));
if ($id) {
$sql->query('SELECT * FROM `jobs_app` WHERE `id`="' . $id . '" LIMIT 1');
$jobs_app = $sql->get();
if ($go) {
$aData = [];
$data = ['user', 'text', 'contact', 'job'];
foreach ($data as $idata)
$aData[$idata] = isset($_POST[$idata]) ? $_POST[$idata] : '';
$sql->query('UPDATE `jobs_app` set'
. '`user`="' . $aData['user'] . '",'
. '`text`="' . $aData['text'] . '",'
. '`contact`="' . $aData['contact'] . '",'
. '`job`="' . $aData['job'] . '"');
sys::outjs(array('s' => 'ok'));
}
$html->get('request_edit', 'sections/jobs');
$data = ['id', 'user', 'text', 'contact', 'job'];
foreach ($data as $idata)
$html->set($idata, $jobs_app[$idata]);
$html->pack('main');
} else {
$sql->query('SELECT * FROM `jobs_app` ORDER BY `id` ASC');
while ($jobs = $sql->get()) {
$status = [
'1' => 'Доступна',
'0' => 'Недоступна'
];
$list .= '<tr>';
$list .= '<td>' . $jobs['id'] . '</td>';
$list .= '<td><a href="[acp]users/id/' . $jobs['user'] . '">user_' . $jobs['user'] . '</a></td>';
$list .= '<td>' . sys::strlen($jobs['text']) > 0 ? '<td>' . $jobs['text'] . '</td>' : '<td><a href="[acp]jobs/section/request/id/' . $jobs['id'] . '#text">Ответить</a></td>' . '</td>';
$list .= '<td>' . $jobs['contact'] . '</td>';
$list .= '<td><a href="[acp]jobs/edit/section/id/' . $jobs['job'] . '">job_' . $jobs['job'] . '</a></td>';
$list .= '<td>' . sys::today($jobs['date']) . '</td>';
$list .= '<td><div class="text-red" style="cursor: pointer;" onclick="del(\'' . $jobs['id'] . '\', \'confirm\')">удалить</div></td>';
$list .= '<td><a href="[acp]jobs/section/request/id/' . $jobs['id'] . '" class="green">Изменить</a></td>';
$list .= '</tr>';
if (isset($url['del'])) {
$sql->query('DELETE FROM `jobs_app` WHERE `id`="' . $url['del'] . '" LIMIT 1');
sys::outjs(array('s' => 'ok'));
}
}
$html->get('request', 'sections/jobs');
$html->set('list', $list);
$html->pack('main');
}
?>

View file

@ -21,4 +21,3 @@ $html->get('index', 'sections/letter');
$html->set('list', $list);
$html->pack('main');
?>

View file

@ -50,4 +50,3 @@ if ($noletter == '')
$noletter = 'отправлено всем.';
sys::outjs(array('s' => $noletter));
?>

View file

@ -28,4 +28,3 @@ $html->set('list', $list);
$html->set('pages', isset($html->arr['pages']) ? $html->arr['pages'] : '');
$html->pack('main');
?>

View file

@ -28,4 +28,3 @@ $html->set('list', $list);
$html->set('pages', isset($html->arr['pages']) ? $html->arr['pages'] : '');
$html->pack('main');
?>

View file

@ -28,4 +28,3 @@ $html->set('list', $list);
$html->set('pages', isset($html->arr['pages']) ? $html->arr['pages'] : '');
$html->pack('main');
?>

View file

@ -36,4 +36,3 @@ $html->set('list', $list);
$html->set('pages', isset($html->arr['pages']) ? $html->arr['pages'] : '');
$html->pack('main');
?>

View file

@ -28,4 +28,3 @@ $html->set('list', $list);
$html->set('pages', isset($html->arr['pages']) ? $html->arr['pages'] : '');
$html->pack('main');
?>

View file

@ -28,4 +28,3 @@ $html->set('list', $list);
$html->set('pages', isset($html->arr['pages']) ? $html->arr['pages'] : '');
$html->pack('main');
?>

View file

@ -71,4 +71,3 @@ while ($log = $sql->get()) {
$mcache->set($mkey, array('s' => $list), false, 15);
sys::outjs(array('s' => $list));
?>

View file

@ -75,4 +75,3 @@ while ($log = $sql->get()) {
$mcache->set($mkey, array('s' => $list), false, 15);
sys::outjs(array('s' => $list));
?>

View file

@ -33,4 +33,3 @@ if ($go) {
$html->get('add', 'sections/news');
$html->pack('main');
?>

View file

@ -5,4 +5,3 @@ if (!DEFINED('EGP'))
$sql->query('DELETE FROM `news` WHERE `id`="' . $id . '" LIMIT 1');
sys::outjs(array('s' => 'ok'));
?>

View file

@ -36,4 +36,3 @@ else {
$html->pack('main');
}
?>

View file

@ -40,4 +40,3 @@ $html->set('full', htmlspecialchars_decode($news['full_text']));
$html->set('tags', htmlspecialchars_decode($news['tags']));
$html->pack('main');
?>

View file

@ -57,4 +57,3 @@ while ($news = $sql->get()) {
$mcache->set($mkey, array('s' => $list), false, 15);
sys::outjs(array('s' => $list));
?>

View file

@ -50,4 +50,3 @@ $html->get('add', 'sections/notice');
$html->set('units', $units);
$html->pack('main');
?>

View file

@ -5,4 +5,3 @@ if (!DEFINED('EGP'))
$sql->query('DELETE FROM `notice` WHERE `id`="' . $id . '" LIMIT 1');
sys::outjs(array('s' => 'ok'));
?>

View file

@ -47,4 +47,3 @@ else {
$html->pack('main');
}
?>

View file

@ -47,4 +47,3 @@ else {
$html->pack('main');
}
?>

View file

@ -73,4 +73,3 @@ if ($notice['unit']) {
$html->set('colors', str_replace('"' . $notice['color'] . '"', '"' . $notice['color'] . '" selected', '<option value="red">Красный</option><option value="green">Зеленый</option><option value="blue">Синий</option>'));
$html->pack('main');
?>

View file

@ -67,4 +67,3 @@ while ($notice = $sql->get($notices)) {
$mcache->set($mkey, array('s' => $list), false, 15);
sys::outjs(array('s' => $list));
?>

View file

@ -27,4 +27,3 @@ if ($go) {
$html->get('add', 'sections/pages');
$html->pack('main');
?>

View file

@ -10,4 +10,3 @@ unlink(FILES . 'pages/' . $page['file']);
$sql->query('DELETE FROM `pages` WHERE `id`="' . $id . '" LIMIT 1');
sys::outjs(array('s' => 'ok'));
?>

View file

@ -32,4 +32,3 @@ else {
$html->pack('main');
}
?>

View file

@ -33,4 +33,3 @@ $html->set('name', htmlspecialchars_decode($page['name']));
$html->set('text', htmlspecialchars(file_get_contents(FILES . 'pages/' . $page['file'])));
$html->pack('main');
?>

View file

@ -80,4 +80,3 @@ $html->get('add', 'sections/promo');
$html->set('tarifs', $tarifs);
$html->pack('main');
?>

View file

@ -6,4 +6,3 @@ $sql->query('DELETE FROM `promo` WHERE `id`="' . $id . '" LIMIT 1');
$sql->query('DELETE FROM `promo_use` WHERE `promo`="' . $id . '" LIMIT 1');
sys::outjs(array('s' => 'ok'));
?>

View file

@ -42,4 +42,3 @@ else {
$html->pack('main');
}
?>

View file

@ -42,4 +42,3 @@ else {
$html->pack('main');
}
?>

View file

@ -86,4 +86,3 @@ $html->set('extend', $promo['extend'] ? '<option value="1">Для продлен
$html->set('tarif', $unit['name'] . ' / #' . $tarif['id'] . ' ' . $tarif['name'] . ' (' . strtoupper($tarif['game']) . ')');
$html->pack('main');
?>

View file

@ -61,4 +61,3 @@ while ($promo = $sql->get($promos)) {
$mcache->set($mkey, array('s' => $list), false, 15);
sys::outjs(array('s' => $list));
?>

View file

@ -33,4 +33,3 @@ $html->get('stats', 'sections/promo');
$html->set('list', $list);
$html->pack('main');
?>

View file

@ -72,4 +72,3 @@ else {
$html->pack('main');
}
?>

View file

@ -72,4 +72,3 @@ else {
$html->pack('main');
}
?>

View file

@ -72,4 +72,3 @@ else {
$html->pack('main');
}
?>

View file

@ -72,4 +72,3 @@ else {
$html->pack('main');
}
?>

View file

@ -72,4 +72,3 @@ else {
$html->pack('main');
}
?>

View file

@ -72,4 +72,3 @@ else {
$html->pack('main');
}
?>

View file

@ -5,4 +5,3 @@ if (!DEFINED('EGP'))
$sql->query('UPDATE `servers` set `user`="-1", `status`="overdue", `time`="0", `overdue`="0" WHERE `id`="' . $id . '" LIMIT 1');
sys::outjs(array('s' => 'ok'));
?>

View file

@ -75,4 +75,3 @@ else {
$html->pack('main');
}
?>

View file

@ -72,4 +72,3 @@ else {
$html->pack('main');
}
?>

View file

@ -72,4 +72,3 @@ else {
$html->pack('main');
}
?>

View file

@ -39,4 +39,3 @@ else {
$html->set('pages', '');
$html->pack('main');
}
?>

View file

@ -72,4 +72,3 @@ else {
$html->pack('main');
}
?>

View file

@ -72,4 +72,3 @@ else {
$html->pack('main');
}
?>

View file

@ -129,4 +129,3 @@ while ($server = $sql->get($servers)) {
$mcache->set($mkey, array('s' => $list), false, 15);
sys::outjs(array('s' => $list));
?>

View file

@ -267,4 +267,3 @@ foreach (array('ftp_use', 'plugins_use', 'console_use', 'stats_use', 'copy_use',
}
$html->pack('main');
?>

View file

@ -398,4 +398,3 @@ $html->get('add', 'sections/tarifs');
$html->set('units', $units);
$html->pack('main');
?>

Some files were not shown because too many files have changed in this diff Show more