Bläddra i källkod

Minor fixes

Convert to spaces
Fixer array
Sergey 2 år sedan
förälder
incheckning
ee61ff490d
100 ändrade filer med 6038 tillägg och 6038 borttagningar
  1. 24 24
      403.html
  2. 24 24
      404.html
  3. 38 38
      cron.php
  4. 22 22
      fail.html
  5. 22 22
      success.html
  6. 171 171
      system/distributor.php
  7. 109 109
      system/sections/chat/chats.php
  8. 32 32
      system/sections/chat/dialog.php
  9. 145 145
      system/sections/check/compiler.php
  10. 99 99
      system/sections/check/index.php
  11. 45 45
      system/sections/control/extend.php
  12. 51 51
      system/sections/control/index.php
  13. 61 61
      system/sections/control/install.php
  14. 14 14
      system/sections/control/noaccess.php
  15. 13 13
      system/sections/control/reboot.php
  16. 11 11
      system/sections/control/scan.php
  17. 50 50
      system/sections/control/servers/action.php
  18. 5 5
      system/sections/control/servers/boost.php
  19. 5 5
      system/sections/control/servers/console.php
  20. 5 5
      system/sections/control/servers/copy.php
  21. 57 57
      system/sections/control/servers/cs/boost.php
  22. 47 47
      system/sections/control/servers/cs/console.php
  23. 63 63
      system/sections/control/servers/cs/copy.php
  24. 21 21
      system/sections/control/servers/cs/index.php
  25. 127 127
      system/sections/control/servers/cs/plugins.php
  26. 39 39
      system/sections/control/servers/cs/rcon.php
  27. 60 60
      system/sections/control/servers/cs/settings.php
  28. 96 96
      system/sections/control/servers/cs/settings/admins.php
  29. 60 60
      system/sections/control/servers/cs/settings/amxlogs.php
  30. 159 159
      system/sections/control/servers/cs/settings/bans.php
  31. 12 12
      system/sections/control/servers/cs/settings/debug.php
  32. 60 60
      system/sections/control/servers/cs/settings/logs.php
  33. 79 79
      system/sections/control/servers/cs/settings/server.php
  34. 132 132
      system/sections/control/servers/cs/settings/start.php
  35. 11 11
      system/sections/control/servers/cs/settings/top.php
  36. 48 48
      system/sections/control/servers/csgo/console.php
  37. 63 63
      system/sections/control/servers/csgo/copy.php
  38. 21 21
      system/sections/control/servers/csgo/index.php
  39. 127 127
      system/sections/control/servers/csgo/plugins.php
  40. 40 40
      system/sections/control/servers/csgo/rcon.php
  41. 60 60
      system/sections/control/servers/csgo/settings.php
  42. 79 79
      system/sections/control/servers/csgo/settings/admins.php
  43. 150 150
      system/sections/control/servers/csgo/settings/bans.php
  44. 12 12
      system/sections/control/servers/csgo/settings/debug.php
  45. 60 60
      system/sections/control/servers/csgo/settings/logs.php
  46. 79 79
      system/sections/control/servers/csgo/settings/server.php
  47. 60 60
      system/sections/control/servers/csgo/settings/smlogs.php
  48. 139 139
      system/sections/control/servers/csgo/settings/start.php
  49. 48 48
      system/sections/control/servers/css/console.php
  50. 56 56
      system/sections/control/servers/css/copy.php
  51. 20 20
      system/sections/control/servers/css/index.php
  52. 127 127
      system/sections/control/servers/css/plugins.php
  53. 40 40
      system/sections/control/servers/css/rcon.php
  54. 60 60
      system/sections/control/servers/css/settings.php
  55. 79 79
      system/sections/control/servers/css/settings/admins.php
  56. 150 150
      system/sections/control/servers/css/settings/bans.php
  57. 12 12
      system/sections/control/servers/css/settings/debug.php
  58. 60 60
      system/sections/control/servers/css/settings/logs.php
  59. 79 79
      system/sections/control/servers/css/settings/server.php
  60. 60 60
      system/sections/control/servers/css/settings/smlogs.php
  61. 124 124
      system/sections/control/servers/css/settings/start.php
  62. 48 48
      system/sections/control/servers/cssold/console.php
  63. 56 56
      system/sections/control/servers/cssold/copy.php
  64. 20 20
      system/sections/control/servers/cssold/index.php
  65. 127 127
      system/sections/control/servers/cssold/plugins.php
  66. 40 40
      system/sections/control/servers/cssold/rcon.php
  67. 60 60
      system/sections/control/servers/cssold/settings.php
  68. 79 79
      system/sections/control/servers/cssold/settings/admins.php
  69. 150 150
      system/sections/control/servers/cssold/settings/bans.php
  70. 12 12
      system/sections/control/servers/cssold/settings/debug.php
  71. 60 60
      system/sections/control/servers/cssold/settings/logs.php
  72. 79 79
      system/sections/control/servers/cssold/settings/server.php
  73. 60 60
      system/sections/control/servers/cssold/settings/smlogs.php
  74. 133 133
      system/sections/control/servers/cssold/settings/start.php
  75. 128 128
      system/sections/control/servers/cssold/start.php
  76. 140 140
      system/sections/control/servers/filetp.php
  77. 16 16
      system/sections/control/servers/games/copy/check.php
  78. 35 35
      system/sections/control/servers/games/copy/create.php
  79. 14 14
      system/sections/control/servers/games/copy/fullcopy.php
  80. 51 51
      system/sections/control/servers/games/copy/recfull.php
  81. 33 33
      system/sections/control/servers/games/copy/recpart.php
  82. 13 13
      system/sections/control/servers/games/copy/remove.php
  83. 53 53
      system/sections/control/servers/games/plugins/config.php
  84. 60 60
      system/sections/control/servers/games/plugins/delete.php
  85. 130 130
      system/sections/control/servers/games/plugins/install.php
  86. 63 63
      system/sections/control/servers/games/plugins/plugin.php
  87. 198 198
      system/sections/control/servers/games/plugins/search.php
  88. 56 56
      system/sections/control/servers/games/plugins/update.php
  89. 75 75
      system/sections/control/servers/games/settings/crontab.php
  90. 36 36
      system/sections/control/servers/games/settings/file.php
  91. 28 28
      system/sections/control/servers/games/settings/firewall.php
  92. 10 10
      system/sections/control/servers/games/settings/pack.php
  93. 67 67
      system/sections/control/servers/games/settings/startlogs.php
  94. 5 5
      system/sections/control/servers/index.php
  95. 11 11
      system/sections/control/servers/noaccess.php
  96. 5 5
      system/sections/control/servers/plugins.php
  97. 5 5
      system/sections/control/servers/rcon.php
  98. 17 17
      system/sections/control/servers/scan.php
  99. 5 5
      system/sections/control/servers/settings.php
  100. 38 38
      system/sections/control/settings.php

+ 24 - 24
403.html

@@ -1,13 +1,13 @@
 <!DOCTYPE html>
 <html lang="ru">
-	<head>
-		<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-		<title>Доступ запрещен</title>
-		<link rel="icon" href="/favicon.ico">
-		<meta name="viewport" content="width=device-width, initial-scale=1.0">
+    <head>
+        <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+        <title>Доступ запрещен</title>
+        <link rel="icon" href="/favicon.ico">
+        <meta name="viewport" content="width=device-width, initial-scale=1.0">
 
-		<meta name="description" content="EGPv3 - Панель управления для хостинга игровых серверов." />
-		<meta name="keywords" content="Панель управления, хостинг игровых севреров, аренда сервера" />
+        <meta name="description" content="EGPv3 - Панель управления для хостинга игровых серверов." />
+        <meta name="keywords" content="Панель управления, хостинг игровых севреров, аренда сервера" />
 <style>
 @import url('https://fonts.googleapis.com/css?family=Roboto+Condensed:400,700&subset=cyrillic');
 * {margin:0px; padding:0px; border:none; outline:none; box-sizing:border-box;}
@@ -38,21 +38,21 @@ body {min-height:100vh; background:url('/template/images/error/403.png') center
     .links ul li:nth-child(4) {clear:none;}
 }
 </style>
-	</head>
-	<body>
-		<div class="container">
-			<div class="content">
-				У вас нет прав для просмотра данной страницы
-				<span>Ошибка 403</span> Вы можете посетить другие страницы хостинга
-			</div>
-			<div class="links">
-				<ul>
-				<li><a href="/">Главная</a></li>
-				<li><a href="/news">Новости</a></li>
-				<li><a href="/services">Услуги</a></li>
-				<li><a href="/contacts">Контакты</a></li>
-				</ul>
-			</div>
-		</div>
-	</body>
+    </head>
+    <body>
+        <div class="container">
+            <div class="content">
+                У вас нет прав для просмотра данной страницы
+                <span>Ошибка 403</span> Вы можете посетить другие страницы хостинга
+            </div>
+            <div class="links">
+                <ul>
+                <li><a href="/">Главная</a></li>
+                <li><a href="/news">Новости</a></li>
+                <li><a href="/services">Услуги</a></li>
+                <li><a href="/contacts">Контакты</a></li>
+                </ul>
+            </div>
+        </div>
+    </body>
 </html>

+ 24 - 24
404.html

@@ -1,13 +1,13 @@
 <!DOCTYPE html>
 <html lang="ru">
-	<head>
-		<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-		<title>Страница не найдена</title>
-		<link rel="icon" href="/favicon.ico">
-		<meta name="viewport" content="width=device-width, initial-scale=1.0">
+    <head>
+        <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+        <title>Страница не найдена</title>
+        <link rel="icon" href="/favicon.ico">
+        <meta name="viewport" content="width=device-width, initial-scale=1.0">
 
-		<meta name="description" content="EGPv3 - Панель управления для хостинга игровых серверов." />
-		<meta name="keywords" content="Панель управления, хостинг игровых севреров, аренда сервера" />
+        <meta name="description" content="EGPv3 - Панель управления для хостинга игровых серверов." />
+        <meta name="keywords" content="Панель управления, хостинг игровых севреров, аренда сервера" />
 
 <style>
 @import url('https://fonts.googleapis.com/css?family=Roboto+Condensed:400,700&subset=cyrillic');
@@ -39,21 +39,21 @@ body {min-height:100vh; background:url('/template/images/error/404.png') center
     .links ul li:nth-child(4) {clear:none;}
 }
 </style>
-	</head>
-	<body>
-		<div class="container">
-			<div class="content">
-				К сожалению, страница не найдена
-				<span>Ошибка 404</span> Вы можете посетить другие страницы хостинга
-			</div>
-			<div class="links">
-				<ul>
-				<li><a href="/">Главная</a></li>
-				<li><a href="/news">Новости</a></li>
-				<li><a href="/services">Услуги</a></li>
-				<li><a href="/contacts">Контакты</a></li>
-				</ul>
-			</div>
-		</div>
-	</body>
+    </head>
+    <body>
+        <div class="container">
+            <div class="content">
+                К сожалению, страница не найдена
+                <span>Ошибка 404</span> Вы можете посетить другие страницы хостинга
+            </div>
+            <div class="links">
+                <ul>
+                <li><a href="/">Главная</a></li>
+                <li><a href="/news">Новости</a></li>
+                <li><a href="/services">Услуги</a></li>
+                <li><a href="/contacts">Контакты</a></li>
+                </ul>
+            </div>
+        </div>
+    </body>
 </html>

+ 38 - 38
cron.php

@@ -1,43 +1,43 @@
 <?php
-	date_default_timezone_set('Europe/Moscow');
-
-	@ini_set('display_errors', TRUE);
-	@ini_set('html_errors', TRUE);
-	@ini_set('error_reporting', E_ALL ^ E_WARNING ^ E_NOTICE ^ E_STRICT);
-
-	DEFINE('EGP', TRUE);
-	DEFINE('DIR', dirname('index.php'));
-	DEFINE('ROOT', DIR.'/');
-	DEFINE('SYS', ROOT.'system/');
-	DEFINE('TPL', ROOT.'template/');
-	DEFINE('TEMP', ROOT.'temp/');
-	DEFINE('FILES', ROOT.'files/');
-	DEFINE('DATA', SYS.'data/');
-	DEFINE('LIB', SYS.'library/');
-	DEFINE('ENG', SYS.'engine/');
-	DEFINE('SEC', SYS.'sections/');
-	DEFINE('CRON', LIB.'cron/');
-
-	$start_point = $_SERVER['REQUEST_TIME'];
-
-	$mcache = new Memcache;
-	$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);
+    date_default_timezone_set('Europe/Moscow');
+
+    @ini_set('display_errors', TRUE);
+    @ini_set('html_errors', TRUE);
+    @ini_set('error_reporting', E_ALL ^ E_WARNING ^ E_NOTICE ^ E_STRICT);
+
+    DEFINE('EGP', TRUE);
+    DEFINE('DIR', dirname('index.php'));
+    DEFINE('ROOT', DIR.'/');
+    DEFINE('SYS', ROOT.'system/');
+    DEFINE('TPL', ROOT.'template/');
+    DEFINE('TEMP', ROOT.'temp/');
+    DEFINE('FILES', ROOT.'files/');
+    DEFINE('DATA', SYS.'data/');
+    DEFINE('LIB', SYS.'library/');
+    DEFINE('ENG', SYS.'engine/');
+    DEFINE('SEC', SYS.'sections/');
+    DEFINE('CRON', LIB.'cron/');
+
+    $start_point = $_SERVER['REQUEST_TIME'];
+
+    $mcache = new Memcache;
+    $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);
 */
-	$task = $argv[2];
+    $task = $argv[2];
 
-	include(DATA.'engine.php');
-	include(DATA.'mysql.php');
-	include(DATA.'params.php');
+    include(DATA.'engine.php');
+    include(DATA.'mysql.php');
+    include(DATA.'params.php');
 
-	// Библиотеки
-	include(LIB.'sql.php');
-	include(LIB.'html.php');
-	include(LIB.'system.php');
-	include(LIB.'cron.php');
+    // Библиотеки
+    include(LIB.'sql.php');
+    include(LIB.'html.php');
+    include(LIB.'system.php');
+    include(LIB.'cron.php');
 ?>

+ 22 - 22
fail.html

@@ -1,27 +1,27 @@
 <!DOCTYPE html>
 <html lang="ru">
-	<head>
-		<title>EGPv3 - Ошибка при пополнении баланса</title>
-		<link rel="icon" href="/favicon.ico">
-		<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
-		
-		<meta name="description" content="EGPv3 - Панель управления для хостинга игровых серверов." />
-		<meta name="keywords" content="Панель управления, хостинг игровых севреров, аренда сервера" />
+    <head>
+        <title>EGPv3 - Ошибка при пополнении баланса</title>
+        <link rel="icon" href="/favicon.ico">
+        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+        
+        <meta name="description" content="EGPv3 - Панель управления для хостинга игровых серверов." />
+        <meta name="keywords" content="Панель управления, хостинг игровых севреров, аренда сервера" />
 
-		<!-- styles !-->
-		<link rel="stylesheet" type="text/css" href="/template/css/error.css" media="screen" />
-	</head>
-	<body>
-		<div class="error fail-replenish"></div>
-		<div class="content">
-			<h1 class="info-fail">Уважаемый клиент, к сожалению, произошла ошибка при пополнении</h1>
+        <!-- styles !-->
+        <link rel="stylesheet" type="text/css" href="/template/css/error.css" media="screen" />
+    </head>
+    <body>
+        <div class="error fail-replenish"></div>
+        <div class="content">
+            <h1 class="info-fail">Уважаемый клиент, к сожалению, произошла ошибка при пополнении</h1>
 
-			<ul>
-				<li><a href="/">Главная</a></li>
-				<li><a href="/news">Новости</a></li>
-				<li><a href="/services">Услуги</a></li>
-				<li><a href="/contacts">Контакты</a></li>
-			</ul>
-		</div>
-	</body>
+            <ul>
+                <li><a href="/">Главная</a></li>
+                <li><a href="/news">Новости</a></li>
+                <li><a href="/services">Услуги</a></li>
+                <li><a href="/contacts">Контакты</a></li>
+            </ul>
+        </div>
+    </body>
 </html>

+ 22 - 22
success.html

@@ -1,27 +1,27 @@
 <!DOCTYPE html>
 <html lang="ru">
-	<head>
-		<title>EGPv3 - Успешное пополение баланса</title>
-		<link rel="icon" href="/favicon.ico">
-		<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
-		
-		<meta name="description" content="EGPv3 - Панель управления для хостинга игровых серверов." />
-		<meta name="keywords" content="Панель управления, хостинг игровых севреров, аренда сервера" />
+    <head>
+        <title>EGPv3 - Успешное пополение баланса</title>
+        <link rel="icon" href="/favicon.ico">
+        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+        
+        <meta name="description" content="EGPv3 - Панель управления для хостинга игровых серверов." />
+        <meta name="keywords" content="Панель управления, хостинг игровых севреров, аренда сервера" />
 
-		<!-- styles !-->
-		<link rel="stylesheet" type="text/css" href="/template/css/replenish.css" media="screen" />
-	</head>
-	<body>
-		<div class="success success-replenish"></div>
-		<div class="content">
-			<h1 class="info-success">Уважаемый клиент, Вы успешо пополнили свой баланс</h1>
+        <!-- styles !-->
+        <link rel="stylesheet" type="text/css" href="/template/css/replenish.css" media="screen" />
+    </head>
+    <body>
+        <div class="success success-replenish"></div>
+        <div class="content">
+            <h1 class="info-success">Уважаемый клиент, Вы успешо пополнили свой баланс</h1>
 
-			<ul>
-				<li><a href="/">Главная</a></li>
-				<li><a href="/news">Новости</a></li>
-				<li><a href="/services">Услуги</a></li>
-				<li><a href="/contacts">Контакты</a></li>
-			</ul>
-		</div>
-	</body>
+            <ul>
+                <li><a href="/">Главная</a></li>
+                <li><a href="/news">Новости</a></li>
+                <li><a href="/services">Услуги</a></li>
+                <li><a href="/contacts">Контакты</a></li>
+            </ul>
+        </div>
+    </body>
 </html>

+ 171 - 171
system/distributor.php

@@ -1,93 +1,93 @@
 <?php
 
-	if(!DEFINED('EGP'))
-		exit(header('Refresh: 0; URL=http://'.$_SERVER['SERVER_NAME'].'/404'));
-
-	$device = '!mobile';
-	
-	// Парсинг адреса
-	$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',
+    if(!DEFINED('EGP'))
+        exit(header('Refresh: 0; URL=http://'.$_SERVER['SERVER_NAME'].'/404'));
+
+    $device = '!mobile';
+    
+    // Парсинг адреса
+    $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]',
@@ -102,87 +102,87 @@
                 $cfg['http'].'template/css/',
                 $cfg['http'].'template/images/'
             ),
-		);
-	}
-
-	// Онлайн игроков (общее количество всех игроков)
-	//$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);
-	}
+        );
+    }
+
+    // Онлайн игроков (общее количество всех игроков)
+    //$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);
+    }
 ?>

+ 109 - 109
system/sections/chat/chats.php

@@ -1,118 +1,118 @@
 <?php
     if(!DEFINED('EGP'))
-		exit(header('Refresh: 0; URL=http://'.$_SERVER['SERVER_NAME'].'/404'));
-	
-	if(isset($section))
-	{
-		switch($section)
-		{
-			case 'send':
-				if(empty($_POST['text']))
-					sys::outjs(array('e' => 'Необходимо написать сообщение'));
-				
-				$msg = $_POST['text'];
-				$sql->query('INSERT INTO `chat` (`userid`, `date`, `msg`) VALUES ("'.$user['id'].'", NOW(), "'.mysqli_real_escape_string($sql->sql_id, $msg).'");');
-				sys::outjs(array('s' => ''));
-			case 'dialog':
-				$q_Msgs = $sql->query('SELECT `chat`.`id`, `userid`, `msg`, `chat`.`date`, `login`, `group` FROM `chat` INNER JOIN `users` ON `chat`.`userid` = `users`.`id` ORDER BY `chat`.`date` ASC LIMIT 30');
-				while($msg = $sql->get($q_Msgs))
-				{
-					$html->get('messages_all', 'sections/chat');
-						if($msg['group'] == 'admin')
-							$group = '<span style="color: #f94747">Администратор</span>';
-						else if($msg['group'] == 'support')
-							$group = '<span style="color: #00ff8a">Тех. Поддержка</span>';
-						else if($msg['group'] == 'user')
-							$group = '<span>Клиент</span>';
-						
-						$name = $msg['login'].' ('.$group.')';
-					
-						$html->set('id', $msg['id']);
-						$html->set('userid', $msg['userid']);
-						$html->set('name', $name);
-						$html->set('time', $time);
-						$html->set('date', $msg['date']);
-						$html->set('msg', $msg['msg']);
-						$html->set('login', $msg['login']);
-						
-						$html->unit('me', $user['id'] == $userid, 1);
-					
-						for($i = 1; $i <= 32; $i++)
-							$html->set('emoji_'.$i, '<span class="emoji" data-value="emoji_'.$i.'"></span>');
-						
-		global $cfg;
-		$file = 'upload/avatars/' . $resp['uid'] . '.';
-		$link = $cfg['http'] . 'upload/avatars/' . $resp['uid'] . '.';
-		if (file_exists(ROOT . $file . 'jpg'))
-			$html->set('ava', '/upload/avatars/' . $resp['uid'] . '.jpg');
-		elseif (file_exists(ROOT . $file . 'png'))
-			$html->set('ava', '/upload/avatars/' . $resp['uid'] . '.png');
-		elseif (file_exists(ROOT . $file . 'gif'))
-			$html->set('ava', '/upload/avatars/' . $resp['uid'] . '.gif');
-		else
-			$html->set('ava', $cfg['http'] . 'template/images/avatar.png');
-					$html->pack('dialog');
-				}
-				sys::out(isset($html->arr['dialog']) ? $html->arr['dialog'] : '');
-			case 'delete':
-				if($user['group'] != 'admin')
-					sys::outjs(array('e' => 'Недостаточно прав'));
-				
-				if(!isset($url['id']))
-					sys::outjs(array('e' => 'Отсутствует идентификатор'));
-				
-				if($go)
-					$sql->query('DELETE FROM `chat` WHERE `userid`="'.$url['id'].'";');
-				else
-					$sql->query('DELETE FROM `chat` WHERE `id`="'.$url['id'].'";');
-				
-				sys::outjs(array('s' => ''));
-		}
-	}
+        exit(header('Refresh: 0; URL=http://'.$_SERVER['SERVER_NAME'].'/404'));
+    
+    if(isset($section))
+    {
+        switch($section)
+        {
+            case 'send':
+                if(empty($_POST['text']))
+                    sys::outjs(array('e' => 'Необходимо написать сообщение'));
+                
+                $msg = $_POST['text'];
+                $sql->query('INSERT INTO `chat` (`userid`, `date`, `msg`) VALUES ("'.$user['id'].'", NOW(), "'.mysqli_real_escape_string($sql->sql_id, $msg).'");');
+                sys::outjs(array('s' => ''));
+            case 'dialog':
+                $q_Msgs = $sql->query('SELECT `chat`.`id`, `userid`, `msg`, `chat`.`date`, `login`, `group` FROM `chat` INNER JOIN `users` ON `chat`.`userid` = `users`.`id` ORDER BY `chat`.`date` ASC LIMIT 30');
+                while($msg = $sql->get($q_Msgs))
+                {
+                    $html->get('messages_all', 'sections/chat');
+                        if($msg['group'] == 'admin')
+                            $group = '<span style="color: #f94747">Администратор</span>';
+                        else if($msg['group'] == 'support')
+                            $group = '<span style="color: #00ff8a">Тех. Поддержка</span>';
+                        else if($msg['group'] == 'user')
+                            $group = '<span>Клиент</span>';
+                        
+                        $name = $msg['login'].' ('.$group.')';
+                    
+                        $html->set('id', $msg['id']);
+                        $html->set('userid', $msg['userid']);
+                        $html->set('name', $name);
+                        $html->set('time', $time);
+                        $html->set('date', $msg['date']);
+                        $html->set('msg', $msg['msg']);
+                        $html->set('login', $msg['login']);
+                        
+                        $html->unit('me', $user['id'] == $userid, 1);
+                    
+                        for($i = 1; $i <= 32; $i++)
+                            $html->set('emoji_'.$i, '<span class="emoji" data-value="emoji_'.$i.'"></span>');
+                        
+        global $cfg;
+        $file = 'upload/avatars/' . $resp['uid'] . '.';
+        $link = $cfg['http'] . 'upload/avatars/' . $resp['uid'] . '.';
+        if (file_exists(ROOT . $file . 'jpg'))
+            $html->set('ava', '/upload/avatars/' . $resp['uid'] . '.jpg');
+        elseif (file_exists(ROOT . $file . 'png'))
+            $html->set('ava', '/upload/avatars/' . $resp['uid'] . '.png');
+        elseif (file_exists(ROOT . $file . 'gif'))
+            $html->set('ava', '/upload/avatars/' . $resp['uid'] . '.gif');
+        else
+            $html->set('ava', $cfg['http'] . 'template/images/avatar.png');
+                    $html->pack('dialog');
+                }
+                sys::out(isset($html->arr['dialog']) ? $html->arr['dialog'] : '');
+            case 'delete':
+                if($user['group'] != 'admin')
+                    sys::outjs(array('e' => 'Недостаточно прав'));
+                
+                if(!isset($url['id']))
+                    sys::outjs(array('e' => 'Отсутствует идентификатор'));
+                
+                if($go)
+                    $sql->query('DELETE FROM `chat` WHERE `userid`="'.$url['id'].'";');
+                else
+                    $sql->query('DELETE FROM `chat` WHERE `id`="'.$url['id'].'";');
+                
+                sys::outjs(array('s' => ''));
+        }
+    }
 
-	$html->nav($title);
+    $html->nav($title);
 
-	$q_Msgs = $sql->query('SELECT `chat`.`id`, `userid`, `msg`, `chat`.`date`, `login`, `group` FROM `chat` INNER JOIN `users` ON `chat`.`userid` = `users`.`id` ORDER BY `chat`.`date` ASC LIMIT 30');
-	while($msg = $sql->get($q_Msgs))
-	{
+    $q_Msgs = $sql->query('SELECT `chat`.`id`, `userid`, `msg`, `chat`.`date`, `login`, `group` FROM `chat` INNER JOIN `users` ON `chat`.`userid` = `users`.`id` ORDER BY `chat`.`date` ASC LIMIT 30');
+    while($msg = $sql->get($q_Msgs))
+    {
         $html->get('messages_all', 'sections/chat');
-			if($msg['group'] == 'admin')
-				$group = '<span style="color: #f94747">Администратор</span>';
-			else if($msg['group'] == 'support')
-				$group = '<span style="color: #00ff8a">Тех. Поддержка</span>';
-			else if($msg['group'] == 'user')
-				$group = '<span>Клиент</span>';
-			
-			$name = $msg['login'].' ('.$group.')';
-		
-        	$html->set('id', $msg['id']);
-	    	$html->set('userid', $msg['userid']);
-	    	$html->set('name', $name);
-	    	$html->set('time', $time);
-	    	$html->set('date', $msg['date']);
-	    	$html->set('msg', $msg['msg']);
-			$html->set('login', $msg['login']);
-			
-	    	$html->unit('me', $user['id'] == $userid, 1);
+            if($msg['group'] == 'admin')
+                $group = '<span style="color: #f94747">Администратор</span>';
+            else if($msg['group'] == 'support')
+                $group = '<span style="color: #00ff8a">Тех. Поддержка</span>';
+            else if($msg['group'] == 'user')
+                $group = '<span>Клиент</span>';
+            
+            $name = $msg['login'].' ('.$group.')';
+        
+            $html->set('id', $msg['id']);
+            $html->set('userid', $msg['userid']);
+            $html->set('name', $name);
+            $html->set('time', $time);
+            $html->set('date', $msg['date']);
+            $html->set('msg', $msg['msg']);
+            $html->set('login', $msg['login']);
+            
+            $html->unit('me', $user['id'] == $userid, 1);
         
             for($i = 1; $i <= 32; $i++)
-				$html->set('emoji_'.$i, '<span class="emoji" data-value="emoji_'.$i.'"></span>');
-	    	
-			global $cfg;
-			$file = 'upload/avatars/' . $msg['uid'] . '.';
-			$link = $cfg['http'] . 'upload/avatars/' . $msg['uid'] . '.';
-			if (file_exists(ROOT . $file . 'jpg'))
-				$html->set('ava', '/upload/avatars/' . $msg['uid'] . '.jpg');
-			elseif (file_exists(ROOT . $file . 'png'))
-				$html->set('ava', '/upload/avatars/' . $msg['uid'] . '.png');
-			elseif (file_exists(ROOT . $file . 'gif'))
-				$html->set('ava', '/upload/avatars/' . $msg['uid'] . '.gif');
-			else
-				$html->set('ava', $cfg['http'] . 'template/images/avatar.png');
+                $html->set('emoji_'.$i, '<span class="emoji" data-value="emoji_'.$i.'"></span>');
+            
+            global $cfg;
+            $file = 'upload/avatars/' . $msg['uid'] . '.';
+            $link = $cfg['http'] . 'upload/avatars/' . $msg['uid'] . '.';
+            if (file_exists(ROOT . $file . 'jpg'))
+                $html->set('ava', '/upload/avatars/' . $msg['uid'] . '.jpg');
+            elseif (file_exists(ROOT . $file . 'png'))
+                $html->set('ava', '/upload/avatars/' . $msg['uid'] . '.png');
+            elseif (file_exists(ROOT . $file . 'gif'))
+                $html->set('ava', '/upload/avatars/' . $msg['uid'] . '.gif');
+            else
+                $html->set('ava', $cfg['http'] . 'template/images/avatar.png');
         $html->pack('msg_all');
-	}
-	
-	$html->get('dialog', 'sections/chat');
-		$html->set('chats', isset($html->arr['msg_all']) ? $html->arr['msg_all'] : '');
-	$html->pack('main');
+    }
+    
+    $html->get('dialog', 'sections/chat');
+        $html->set('chats', isset($html->arr['msg_all']) ? $html->arr['msg_all'] : '');
+    $html->pack('main');
 ?>

+ 32 - 32
system/sections/chat/dialog.php

@@ -1,39 +1,39 @@
 <?php
-	if(!DEFINED('EGP'))
-		exit(header('Refresh: 0; URL=http://'.$_SERVER['SERVER_NAME'].'/404'));
-	
-	if(!$section || !in_array($section, array('dialog')))
-		sys::back($cfg['http']);
-	
-	$q_Msgs = $sql->query('SELECT * FROM (SELECT `id`, `userid`, `msg`, `date` FROM `chat` ORDER BY `date` DESC LIMIT 30) t ORDER BY `date` ASC;');
-	while($msg = $sql->get($q_Msgs))
-	{
-		if($user['group'] == 'admin')
-			$group = '<span style="color: #f94747">Администратор</span>';
-		//elseif ()
-		//	$group = '<span style="color: #03aa46">(Клиент, серверов: 1 шт.)</span>';
-		else
-			$group = '<span>Клиент</span>';
-		
-		$name = $user['login'].' ('.$group.')'; // <span style="color: #f94747">(Администратор)</span>
-		// $time = '[date]';
-		
-		$html->get('message', 'chatwin');
+    if(!DEFINED('EGP'))
+        exit(header('Refresh: 0; URL=http://'.$_SERVER['SERVER_NAME'].'/404'));
+    
+    if(!$section || !in_array($section, array('dialog')))
+        sys::back($cfg['http']);
+    
+    $q_Msgs = $sql->query('SELECT * FROM (SELECT `id`, `userid`, `msg`, `date` FROM `chat` ORDER BY `date` DESC LIMIT 30) t ORDER BY `date` ASC;');
+    while($msg = $sql->get($q_Msgs))
+    {
+        if($user['group'] == 'admin')
+            $group = '<span style="color: #f94747">Администратор</span>';
+        //elseif ()
+        //  $group = '<span style="color: #03aa46">(Клиент, серверов: 1 шт.)</span>';
+        else
+            $group = '<span>Клиент</span>';
+        
+        $name = $user['login'].' ('.$group.')'; // <span style="color: #f94747">(Администратор)</span>
+        // $time = '[date]';
+        
+        $html->get('message', 'chatwin');
 
-			$html->set('id', $msg['id']);
-			$html->set('userid', $msg['userid']);
-			$html->set('name', $name);
-			$html->set('time', $time);
-			$html->set('date', $msg['date']);
-			$html->set('msg', $msg['msg']);
+            $html->set('id', $msg['id']);
+            $html->set('userid', $msg['userid']);
+            $html->set('name', $name);
+            $html->set('time', $time);
+            $html->set('date', $msg['date']);
+            $html->set('msg', $msg['msg']);
 
-			$html->unit('me', $user['id'] == $userid, 1);
+            $html->unit('me', $user['id'] == $userid, 1);
 
-			for($i = 1; $i <= 32; $i++)
-				$html->set('emoji_'.$i, '<span class="emoji" data-value="emoji_'.$i.'"></span>');
+            for($i = 1; $i <= 32; $i++)
+                $html->set('emoji_'.$i, '<span class="emoji" data-value="emoji_'.$i.'"></span>');
 
-		$html->pack('dialog');
-	}
+        $html->pack('dialog');
+    }
 
-	sys::out(isset($html->arr['dialog']) ? $html->arr['dialog'] : '');
+    sys::out(isset($html->arr['dialog']) ? $html->arr['dialog'] : '');
 ?>

+ 145 - 145
system/sections/check/compiler.php

@@ -1,148 +1,148 @@
 <?php
-	if(!DEFINED('EGP'))
-		exit(header('Refresh: 0; URL=http://'.$_SERVER['SERVER_NAME'].'/404'));
-
-	if($go)
-	{
-		function createPostString($aPostFields) 
-		{
-        	foreach($aPostFields as $key => $value) 
+    if(!DEFINED('EGP'))
+        exit(header('Refresh: 0; URL=http://'.$_SERVER['SERVER_NAME'].'/404'));
+
+    if($go)
+    {
+        function createPostString($aPostFields) 
+        {
+            foreach($aPostFields as $key => $value) 
                 $aPostFields[$key] = urlencode($key).'='. urlencode($value);
-	
-			return implode('&', $aPostFields);
-		}
-
-		$sql->query('SELECT `browser` FROM `users` WHERE `id`="'.$user['id'].'" LIMIT 1');
-		$u_sql = $sql->get();
-
-		$browser = base64_decode($u_sql['browser']);
-
-		$file = $_FILES['file_code'];
-		
-		if(substr($file['name'], -4) != '.sma')
-			sys::outjs(array('e' => 'Только .sma разрешается загружать'));
-
-		$text = file_get_contents($file['tmp_name']);
-		$textArray = explode("\n", $text);
-
-		$postFields['fname'] = $file['name'];
-		$postFields['scode'] = $textArray;
-		$postFields['go'] = 'send';
-	
-		$ch = curl_init('http://amxmodx.org/webcompiler.cgi');
-		curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
-		curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (X11; U; Linux i686; pl; rv:1.8.0.3) Gecko/20060426 Firefox/1.5.0.3');
-		curl_setopt($ch, CURLOPT_POSTFIELDS, createPostString($postFields));
-		$tresc = curl_exec($ch);
-		
-		sys::out($tresc);
-	
-		curl_close($ch);
-						
-		if(strpos($tresc, 'Your plugin successfully compiled!'))
-		{
-	        $tresc = substr($tresc, strpos($tresc, "http://www.amxmodx.org/webcompiler.cgi?"));
-	        $ile = strpos($tresc, "</a>");
-	        $link = substr($tresc, 0, $ile);
-	        $tresc = substr($tresc, strpos($tresc, "Welcome to the AMX Mod X"));
-	        $ile = strpos($tresc, "</pre>");
-	        $inf = substr($tresc, 0, $ile);
-	        $inf = str_replace("\r\n","<br/ >", $inf);
-
-		    $out = '
-				<br><center>Ваш плагин скомпилирован <span class="compiller_good"><b>удачно</b></span><br><br>
-		        	Чтобы скачать пройдите по <a href="'.$link.'"><b>ссылке</b></a><br />
-
-				<a href="javascript:void(0)" onclick="ShowHideLog(\'block_id\')">Посмотреть лог компиляции</a><br/><br/>
-						<div id="block_id" style="display: none;">
-    							<pre>'.$inf.'</pre>
-					</div>
-		        	</center>';
-
-			$good = "good.txt";
-
-			if(!file_exists(FILES.$good))
-			{
-				$handle = fopen(FILES.$good, "w");
-				$count_good = 0;
-				fwrite($handle, $count_good);
-				fclose($handle);
-			}else{
-				$file = file(FILES.$good);
-				$count_good = $file[0];
-			}
-
-			$count_good++;
-		
-			$handle = fopen(FILES.$good, "w");
-			fwrite($handle, $count_good);
-			fclose($handle);
-		}else{
-	        $ktory = strpos($tresc, "Your plugin failed to compile");
-	        $tresc = substr($tresc, $ktory + 63);
-	        $ile = strpos($tresc, "</pre>");
-	        $tresc = substr($tresc, 0, $ile);
-
-		    $out = '
-				<br><center>Ваш плагин скомпилирован <span class="compiller_failed"><b>неудачно</b></span><br><br>
-
-				<a href="javascript:void(0)" onclick="ShowHideLog(\'block_id\')">Посмотреть лог ошибок</a><br/><br/>
-						<div id="block_id" style="display: none;">
-    							<pre>'.$tresc.'</pre>
-					</div>
-		        	</center>
-			';
-
-			$failed = "failed.txt";
-
-			if(!file_exists(FILES.$failed))
-			{
-				$handle = fopen(FILES.$failed, "w");
-				$count_failed = 0;
-				fwrite($handle, $count_failed);
-				fclose($handle);
-			}else{
-				$file = file(FILES.$failed);
-				$count_failed = $file[0];
-			}
-
-			$count_failed++;
-		
-			$handle = fopen(FILES.$failed, "w");
-			fwrite($handle, $count_failed);
-			fclose($handle);
-		}
-	}else{
-		$good = "good.txt";
-		$failed = "failed.txt";
-	
-		if(!file_exists(FILES.$good))
-		{
-			$handle = fopen(FILES.$good, "w");
-			$count_good = 0;
-			fwrite($handle, $count_good);
-			fclose($handle);
-		}else{
-			$file = file(FILES.$good);
-			$count_good = $file[0];
-		}
-	
-		if(!file_exists(FILES.$failed))
-		{
-			$handle = fopen(FILES.$failed, "w");
-			$count_failed = 0;
-			fwrite($handle, $count_failed);
-			fclose($handle);
-		}else{
-			$file = file(FILES.$failed);
-			$count_failed = $file[0];
-		}
-		
-		$html->get('compiler', 'sections/check');
-			$html->set('success', $count_good);
-			$html->set('failed', $count_failed);
-		$html->pack('compilers');
-
-		include(SEC.'check/index.php');
-	}
+    
+            return implode('&', $aPostFields);
+        }
+
+        $sql->query('SELECT `browser` FROM `users` WHERE `id`="'.$user['id'].'" LIMIT 1');
+        $u_sql = $sql->get();
+
+        $browser = base64_decode($u_sql['browser']);
+
+        $file = $_FILES['file_code'];
+        
+        if(substr($file['name'], -4) != '.sma')
+            sys::outjs(array('e' => 'Только .sma разрешается загружать'));
+
+        $text = file_get_contents($file['tmp_name']);
+        $textArray = explode("\n", $text);
+
+        $postFields['fname'] = $file['name'];
+        $postFields['scode'] = $textArray;
+        $postFields['go'] = 'send';
+    
+        $ch = curl_init('http://amxmodx.org/webcompiler.cgi');
+        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
+        curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (X11; U; Linux i686; pl; rv:1.8.0.3) Gecko/20060426 Firefox/1.5.0.3');
+        curl_setopt($ch, CURLOPT_POSTFIELDS, createPostString($postFields));
+        $tresc = curl_exec($ch);
+        
+        sys::out($tresc);
+    
+        curl_close($ch);
+                        
+        if(strpos($tresc, 'Your plugin successfully compiled!'))
+        {
+            $tresc = substr($tresc, strpos($tresc, "http://www.amxmodx.org/webcompiler.cgi?"));
+            $ile = strpos($tresc, "</a>");
+            $link = substr($tresc, 0, $ile);
+            $tresc = substr($tresc, strpos($tresc, "Welcome to the AMX Mod X"));
+            $ile = strpos($tresc, "</pre>");
+            $inf = substr($tresc, 0, $ile);
+            $inf = str_replace("\r\n","<br/ >", $inf);
+
+            $out = '
+                <br><center>Ваш плагин скомпилирован <span class="compiller_good"><b>удачно</b></span><br><br>
+                    Чтобы скачать пройдите по <a href="'.$link.'"><b>ссылке</b></a><br />
+
+                <a href="javascript:void(0)" onclick="ShowHideLog(\'block_id\')">Посмотреть лог компиляции</a><br/><br/>
+                        <div id="block_id" style="display: none;">
+                                <pre>'.$inf.'</pre>
+                    </div>
+                    </center>';
+
+            $good = "good.txt";
+
+            if(!file_exists(FILES.$good))
+            {
+                $handle = fopen(FILES.$good, "w");
+                $count_good = 0;
+                fwrite($handle, $count_good);
+                fclose($handle);
+            }else{
+                $file = file(FILES.$good);
+                $count_good = $file[0];
+            }
+
+            $count_good++;
+        
+            $handle = fopen(FILES.$good, "w");
+            fwrite($handle, $count_good);
+            fclose($handle);
+        }else{
+            $ktory = strpos($tresc, "Your plugin failed to compile");
+            $tresc = substr($tresc, $ktory + 63);
+            $ile = strpos($tresc, "</pre>");
+            $tresc = substr($tresc, 0, $ile);
+
+            $out = '
+                <br><center>Ваш плагин скомпилирован <span class="compiller_failed"><b>неудачно</b></span><br><br>
+
+                <a href="javascript:void(0)" onclick="ShowHideLog(\'block_id\')">Посмотреть лог ошибок</a><br/><br/>
+                        <div id="block_id" style="display: none;">
+                                <pre>'.$tresc.'</pre>
+                    </div>
+                    </center>
+            ';
+
+            $failed = "failed.txt";
+
+            if(!file_exists(FILES.$failed))
+            {
+                $handle = fopen(FILES.$failed, "w");
+                $count_failed = 0;
+                fwrite($handle, $count_failed);
+                fclose($handle);
+            }else{
+                $file = file(FILES.$failed);
+                $count_failed = $file[0];
+            }
+
+            $count_failed++;
+        
+            $handle = fopen(FILES.$failed, "w");
+            fwrite($handle, $count_failed);
+            fclose($handle);
+        }
+    }else{
+        $good = "good.txt";
+        $failed = "failed.txt";
+    
+        if(!file_exists(FILES.$good))
+        {
+            $handle = fopen(FILES.$good, "w");
+            $count_good = 0;
+            fwrite($handle, $count_good);
+            fclose($handle);
+        }else{
+            $file = file(FILES.$good);
+            $count_good = $file[0];
+        }
+    
+        if(!file_exists(FILES.$failed))
+        {
+            $handle = fopen(FILES.$failed, "w");
+            $count_failed = 0;
+            fwrite($handle, $count_failed);
+            fclose($handle);
+        }else{
+            $file = file(FILES.$failed);
+            $count_failed = $file[0];
+        }
+        
+        $html->get('compiler', 'sections/check');
+            $html->set('success', $count_good);
+            $html->set('failed', $count_failed);
+        $html->pack('compilers');
+
+        include(SEC.'check/index.php');
+    }
 ?>

+ 99 - 99
system/sections/check/index.php

@@ -1,105 +1,105 @@
 <?php
     if(!DEFINED('EGP'))
-		exit(header('Refresh: 0; URL=http://'.$_SERVER['SERVER_NAME'].'/404'));
+        exit(header('Refresh: 0; URL=http://'.$_SERVER['SERVER_NAME'].'/404'));
 
-	if($go)
-	{
-		$badCommands = [
-			'exec',
-			'zzz',
-			'SVC_DIRECTOR',
-			'SVC_STUFFTEXT',
-			'gl_*',
-			'r_*',
-			'hud_*',
-			'cl_*', 
-			'm_*', 
-			'_restart', 
-			'_set_vid_level', 
-			'_setaddons_folder', 
-			'_setgamedir', 
-			'_sethdmodels', 
-			'_setrenderer', 
-			'_setvideomode', 
-			'rate', 
-			'connect', 
-			'cmd', 
-			'retry', 
-			'timerefresh', 
-			'alias', 
-			'bind', 
-			'abcdefghijklmnopqrstu', 
-			'unbind', 
-			'unbindall', 
-			'cd', 
-			'vzlom', 
-			'flag', 
-			'exec', 
-			'exit', 
-			'kill', 
-			'quit', 
-			'say', 
-			'setinfo', 
-			'sensitivity', 
-			'sys_ticrate', 
-			'writecfg', 
-			'removedemo', 
-			'ex_interp', 
-			'developer', 
-			'fps_max', 
-			'speak_enabled', 
-			'voice_enable', 
-			'volume', 
-			'mp3volume', 
-			'motd_write',
-			'dem_save'
-		];
+    if($go)
+    {
+        $badCommands = [
+            'exec',
+            'zzz',
+            'SVC_DIRECTOR',
+            'SVC_STUFFTEXT',
+            'gl_*',
+            'r_*',
+            'hud_*',
+            'cl_*', 
+            'm_*', 
+            '_restart', 
+            '_set_vid_level', 
+            '_setaddons_folder', 
+            '_setgamedir', 
+            '_sethdmodels', 
+            '_setrenderer', 
+            '_setvideomode', 
+            'rate', 
+            'connect', 
+            'cmd', 
+            'retry', 
+            'timerefresh', 
+            'alias', 
+            'bind', 
+            'abcdefghijklmnopqrstu', 
+            'unbind', 
+            'unbindall', 
+            'cd', 
+            'vzlom', 
+            'flag', 
+            'exec', 
+            'exit', 
+            'kill', 
+            'quit', 
+            'say', 
+            'setinfo', 
+            'sensitivity', 
+            'sys_ticrate', 
+            'writecfg', 
+            'removedemo', 
+            'ex_interp', 
+            'developer', 
+            'fps_max', 
+            'speak_enabled', 
+            'voice_enable', 
+            'volume', 
+            'mp3volume', 
+            'motd_write',
+            'dem_save'
+        ];
 
-		if(isset($_POST) && !empty($_POST)){
-		
-			if(!isset($_FILES['file'])){
-				sys::outjs(array('e' => 'Необходимо указать проверяемый файл.'));
-			}
-			
-			$file = $_FILES['file'];
-			
-			if(substr($file['name'], -4) != '.sma'){
-				sys::outjs(array('e' => 'Только .sma разрешается загружать'));
-			}
-			
-			$text = file_get_contents($file['tmp_name']);
-			$textArray = explode("\n", $text);
-			
-			$errors = [];
-			
-			foreach($textArray as $key => $str){
-				$strNum = $key + 1;
-				
-				foreach($badCommands as $cmd){
-					if(strpos($str, $cmd) !== false){
-						$errors[$strNum] = $cmd;
-					}
-				}
-			}
-			
-			if(!empty($errors)){
-				$outputErrors .= '<thead><tr><th>Номер строки</th><th>Вредоносный код</th></tr></thead><tbody>';
-				foreach($errors as $key => $msg){
-					$outputErrors .= '<tr><td style="text-align: center;">'.$key.'</td><td style="text-align: center;">'.$msg.'</td></tr>';
-				}
-				$outputErrors .= '</tbody>';
-			}
-			else {
-				if(!isset($outputErrors)){
-					sys::outjs(array('s' => 'Вредоносный код не найден.'));
-				}
-			}
-			sys::outjs(array('sma' => $outputErrors));
-		}
-	}
+        if(isset($_POST) && !empty($_POST)){
+        
+            if(!isset($_FILES['file'])){
+                sys::outjs(array('e' => 'Необходимо указать проверяемый файл.'));
+            }
+            
+            $file = $_FILES['file'];
+            
+            if(substr($file['name'], -4) != '.sma'){
+                sys::outjs(array('e' => 'Только .sma разрешается загружать'));
+            }
+            
+            $text = file_get_contents($file['tmp_name']);
+            $textArray = explode("\n", $text);
+            
+            $errors = [];
+            
+            foreach($textArray as $key => $str){
+                $strNum = $key + 1;
+                
+                foreach($badCommands as $cmd){
+                    if(strpos($str, $cmd) !== false){
+                        $errors[$strNum] = $cmd;
+                    }
+                }
+            }
+            
+            if(!empty($errors)){
+                $outputErrors .= '<thead><tr><th>Номер строки</th><th>Вредоносный код</th></tr></thead><tbody>';
+                foreach($errors as $key => $msg){
+                    $outputErrors .= '<tr><td style="text-align: center;">'.$key.'</td><td style="text-align: center;">'.$msg.'</td></tr>';
+                }
+                $outputErrors .= '</tbody>';
+            }
+            else {
+                if(!isset($outputErrors)){
+                    sys::outjs(array('s' => 'Вредоносный код не найден.'));
+                }
+            }
+            sys::outjs(array('sma' => $outputErrors));
+        }
+    }
 
-	$html->nav('Проверка плагинов на наличие бэкдоров');
-	$html->get('check', 'sections/check');
-	
-	$html->pack('main');
+    $html->nav('Проверка плагинов на наличие бэкдоров');
+    $html->get('check', 'sections/check');
+    
+    $html->pack('main');
 ?>

+ 45 - 45
system/sections/control/extend.php

@@ -1,65 +1,65 @@
 <?php
     if(!DEFINED('EGP'))
-		exit(header('Refresh: 0; URL=http://'.$_SERVER['SERVER_NAME'].'/404'));
+        exit(header('Refresh: 0; URL=http://'.$_SERVER['SERVER_NAME'].'/404'));
 
-	$sql->query('SELECT `price`, `time` FROM `control` WHERE `id`="'.$id.'" LIMIT 1');
-	$ctrl = $sql->get();
+    $sql->query('SELECT `price`, `time` FROM `control` WHERE `id`="'.$id.'" LIMIT 1');
+    $ctrl = $sql->get();
 
-	include(LIB.'games/games.php');
+    include(LIB.'games/games.php');
 
-	if($go)
-	{
-		if(!isset($url['time']) || !in_array($url['time'], $cfg['control_time']))
-			$url['time'] = array_shift($cfg['control_time']);
+    if($go)
+    {
+        if(!isset($url['time']) || !in_array($url['time'], $cfg['control_time']))
+            $url['time'] = array_shift($cfg['control_time']);
 
-		$sum = games::define_sum(false, $ctrl['price'], 1, $url['time']);
+        $sum = games::define_sum(false, $ctrl['price'], 1, $url['time']);
 
-		// Проверка баланса
-		if($user['balance'] < $sum)
-			sys::outjs(array('e' => 'У вас не хватает '.(round($sum-$user['balance'], 2)).' '.$cfg['currency']));
+        // Проверка баланса
+        if($user['balance'] < $sum)
+            sys::outjs(array('e' => 'У вас не хватает '.(round($sum-$user['balance'], 2)).' '.$cfg['currency']));
 
-		// Списание средств с баланса пользователя
-		$sql->query('UPDATE `users` set `balance`="'.($user['balance']-$sum).'" WHERE `id`="'.$user['id'].'" LIMIT 1');
+        // Списание средств с баланса пользователя
+        $sql->query('UPDATE `users` set `balance`="'.($user['balance']-$sum).'" WHERE `id`="'.$user['id'].'" LIMIT 1');
 
-		$time = $ctrl['time'] < $start_point ? $url['time']*86400 : $url['time']*86400+$ctrl['time'];
+        $time = $ctrl['time'] < $start_point ? $url['time']*86400 : $url['time']*86400+$ctrl['time'];
 
-		// Обновление информации
-		$sql->query('UPDATE `control` set `time`="'.$time.'" WHERE `id`="'.$id.'" LIMIT 1');
+        // Обновление информации
+        $sql->query('UPDATE `control` set `time`="'.$time.'" WHERE `id`="'.$id.'" LIMIT 1');
 
-		// Запись логов
-		$sql->query('INSERT INTO `logs` set `user`="'.$user['id'].'", `text`="'.sys::updtext(sys::text('logs', 'extend_control'), array('days' => games::parse_day($days, true), 'money' => $sum, 'id' => $id)).'", `date`="'.$start_point.'", `type`="extend", `money`="'.$sum.'"');
+        // Запись логов
+        $sql->query('INSERT INTO `logs` set `user`="'.$user['id'].'", `text`="'.sys::updtext(sys::text('logs', 'extend_control'), array('days' => games::parse_day($days, true), 'money' => $sum, 'id' => $id)).'", `date`="'.$start_point.'", `type`="extend", `money`="'.$sum.'"');
 
-		sys::outjs(array('s' => 'ok'));
-	}
+        sys::outjs(array('s' => 'ok'));
+    }
 
-	if(isset($url['get']))
-	{
-		if(!isset($url['time']) || !in_array($url['time'], $cfg['control_time']))
-			$url['time'] = array_shift($cfg['control_time']);
+    if(isset($url['get']))
+    {
+        if(!isset($url['time']) || !in_array($url['time'], $cfg['control_time']))
+            $url['time'] = array_shift($cfg['control_time']);
 
-		sys::out(games::define_sum(false, $ctrl['price'], 1, $url['time']));
-	}
+        sys::out(games::define_sum(false, $ctrl['price'], 1, $url['time']));
+    }
 
-	$html->nav('Список подключенных серверов', $cfg['http'].'control');
-	$html->nav('Подключенный сервер #'.$id, $cfg['http'].'control/id/'.$id);
-	$html->nav('Продление аренды');
+    $html->nav('Список подключенных серверов', $cfg['http'].'control');
+    $html->nav('Подключенный сервер #'.$id, $cfg['http'].'control/id/'.$id);
+    $html->nav('Продление аренды');
 
-	$options = '';
+    $options = '';
 
-	foreach($cfg['control_time'] as $time)
-		$options .= '<option value="'.$time.'">'.games::parse_day($time, true).'</option>';
+    foreach($cfg['control_time'] as $time)
+        $options .= '<option value="'.$time.'">'.games::parse_day($time, true).'</option>';
 
-	$html->get('extend', 'sections/control');
-		$html->set('id', $id);
-		$html->set('time', $options);
-		$html->set('price', $ctrl);
-		$html->set('cur', $cfg['currency']);
+    $html->get('extend', 'sections/control');
+        $html->set('id', $id);
+        $html->set('time', $options);
+        $html->set('price', $ctrl);
+        $html->set('cur', $cfg['currency']);
 
-		if($cfg['settlement_period'])
-		{
-			$html->set('date', date('d.m.Y', $start_point));
-			$html->unit('settlement_period', true, true);
-		}else
-			$html->unit('settlement_period', false, true);
-	$html->pack('main');
+        if($cfg['settlement_period'])
+        {
+            $html->set('date', date('d.m.Y', $start_point));
+            $html->unit('settlement_period', true, true);
+        }else
+            $html->unit('settlement_period', false, true);
+    $html->pack('main');
 ?>

+ 51 - 51
system/sections/control/index.php

@@ -1,54 +1,54 @@
 <?php
     if(!DEFINED('EGP'))
-		exit(header('Refresh: 0; URL=http://'.$_SERVER['SERVER_NAME'].'/404'));
-
-	$html->nav('Список подключенных серверов', $cfg['http'].'control');
-	$html->nav('Список игровых серверов #'.$id);
-
-	$sql->query('SELECT '
-		.'`id`,'
-		.'`address`,'
-		.'`game`,'
-		.'`slots`,'
-		.'`online`,'
-		.'`status`,'
-		.'`name`,'
-		.'`map`'
-		.' FROM `control_servers` WHERE `unit`="'.$id.'" ORDER BY `id` ASC');
-
-	$wait_servers = '';
-	$updates_servers = '';
-
-	while($server = $sql->get())
-	{
-		$btn = sys::buttons($server['id'], $server['status'], $server['game'], $id);
-
-		$html->get('list', 'sections/control/servers');
-
-			$html->set('ctrl', $id);
-			$html->set('id', $server['id']);
-			$html->set('address', $server['address']);
-			$html->set('game', $aGname[$server['game']]);
-			$html->set('slots', $server['slots']);
-			$html->set('online', $server['online']);
-			$html->set('name', $server['name']);
-			$html->set('status', sys::status($server['status'], $server['game'], $server['map']));
-			$html->set('img', sys::status($server['status'], $server['game'], $server['map'], 'img', $server['game']));
-			$html->set('btn', $btn);
-
-		$html->pack('list');
-
-		$wait_servers .= $server['id'].':false,';
-		$updates_servers .= 'setTimeout(function() {update_info(\''.$server['id'].'\', \''.$id.'\', true)}, 5000);'
-			.'setTimeout(function() {update_status(\''.$server['id'].'\', \''.$id.'\', true)}, 5000);'
-			.'setTimeout(function() {update_resources(\''.$server['id'].'\', \''.$id.'\', true)}, 3000);';
-	}
-
-	$html->get('servers', 'sections/control/servers');
-
-		$html->set('list', isset($html->arr['list']) ? $html->arr['list'] : 'Нет установленных серверов');
-		$html->set('wait_servers', $wait_servers);
-		$html->set('updates_servers', $updates_servers);
-
-	$html->pack('main');
+        exit(header('Refresh: 0; URL=http://'.$_SERVER['SERVER_NAME'].'/404'));
+
+    $html->nav('Список подключенных серверов', $cfg['http'].'control');
+    $html->nav('Список игровых серверов #'.$id);
+
+    $sql->query('SELECT '
+        .'`id`,'
+        .'`address`,'
+        .'`game`,'
+        .'`slots`,'
+        .'`online`,'
+        .'`status`,'
+        .'`name`,'
+        .'`map`'
+        .' FROM `control_servers` WHERE `unit`="'.$id.'" ORDER BY `id` ASC');
+
+    $wait_servers = '';
+    $updates_servers = '';
+
+    while($server = $sql->get())
+    {
+        $btn = sys::buttons($server['id'], $server['status'], $server['game'], $id);
+
+        $html->get('list', 'sections/control/servers');
+
+            $html->set('ctrl', $id);
+            $html->set('id', $server['id']);
+            $html->set('address', $server['address']);
+            $html->set('game', $aGname[$server['game']]);
+            $html->set('slots', $server['slots']);
+            $html->set('online', $server['online']);
+            $html->set('name', $server['name']);
+            $html->set('status', sys::status($server['status'], $server['game'], $server['map']));
+            $html->set('img', sys::status($server['status'], $server['game'], $server['map'], 'img', $server['game']));
+            $html->set('btn', $btn);
+
+        $html->pack('list');
+
+        $wait_servers .= $server['id'].':false,';
+        $updates_servers .= 'setTimeout(function() {update_info(\''.$server['id'].'\', \''.$id.'\', true)}, 5000);'
+            .'setTimeout(function() {update_status(\''.$server['id'].'\', \''.$id.'\', true)}, 5000);'
+            .'setTimeout(function() {update_resources(\''.$server['id'].'\', \''.$id.'\', true)}, 3000);';
+    }
+
+    $html->get('servers', 'sections/control/servers');
+
+        $html->set('list', isset($html->arr['list']) ? $html->arr['list'] : 'Нет установленных серверов');
+        $html->set('wait_servers', $wait_servers);
+        $html->set('updates_servers', $updates_servers);
+
+    $html->pack('main');
 ?>

+ 61 - 61
system/sections/control/install.php

@@ -1,85 +1,85 @@
 <?php
     if(!DEFINED('EGP'))
-		exit(header('Refresh: 0; URL=http://'.$_SERVER['SERVER_NAME'].'/404'));
+        exit(header('Refresh: 0; URL=http://'.$_SERVER['SERVER_NAME'].'/404'));
 
-	$html->nav('Список подключенных серверов', $cfg['http'].'control');
+    $html->nav('Список подключенных серверов', $cfg['http'].'control');
 
-	if(in_array($ctrl['status'], array('install', 'overdue', 'blocked')))
-		include(SEC.'control/noaccess.php');
-	else{
-		if($go)
-		{
-			$game = isset($url['game']) ? $url['game'] : sys::outjs(array('e' => 'Необходимо указать игру'));
+    if(in_array($ctrl['status'], array('install', 'overdue', 'blocked')))
+        include(SEC.'control/noaccess.php');
+    else{
+        if($go)
+        {
+            $game = isset($url['game']) ? $url['game'] : sys::outjs(array('e' => 'Необходимо указать игру'));
 
-			if(!in_array($game, array('cs', 'cssold', 'css', 'csgo')))
-				sys::outjs(array('e' => 'Указанная игра не найдена'));
+            if(!in_array($game, array('cs', 'cssold', 'css', 'csgo')))
+                sys::outjs(array('e' => 'Указанная игра не найдена'));
 
-			$sql->query('SELECT `address`, `passwd`, `limit` FROM `control` WHERE `id`="'.$id.'" LIMIT 1');
-			$ctrl = $sql->get();
+            $sql->query('SELECT `address`, `passwd`, `limit` FROM `control` WHERE `id`="'.$id.'" LIMIT 1');
+            $ctrl = $sql->get();
 
-			$sql->query('SELECT `id` FROM `control_servers` WHERE `unit`="'.$id.'" LIMIT '.$ctrl['limit']);
-			if($sql->num() == $ctrl['limit'])
-				sys::outjs(array('e' => 'На данном тарифе нельзя установить больше, чем '.$ctrl['limit'].' шт. игровых серверов'));
+            $sql->query('SELECT `id` FROM `control_servers` WHERE `unit`="'.$id.'" LIMIT '.$ctrl['limit']);
+            if($sql->num() == $ctrl['limit'])
+                sys::outjs(array('e' => 'На данном тарифе нельзя установить больше, чем '.$ctrl['limit'].' шт. игровых серверов'));
 
-			$ip = $ctrl['address'];
-			$port = false;
+            $ip = $ctrl['address'];
+            $port = false;
 
-			$port_min = 27015;
+            $port_min = 27015;
 
-			// Проверка наличия свободного порта
-			for($port_min; $port_min <= 30000; $port_min+=1)
-			{
-				$sql->query('SELECT `id` FROM `control_servers` WHERE `unit`="'.$id.'" AND `address`="'.$ip.':'.$port_min.'" LIMIT 1');
-				if(!$sql->num())
-				{
-					$port = $port_min;
+            // Проверка наличия свободного порта
+            for($port_min; $port_min <= 30000; $port_min+=1)
+            {
+                $sql->query('SELECT `id` FROM `control_servers` WHERE `unit`="'.$id.'" AND `address`="'.$ip.':'.$port_min.'" LIMIT 1');
+                if(!$sql->num())
+                {
+                    $port = $port_min;
 
-					break;
-				}
-			}
+                    break;
+                }
+            }
 
-			$sql->query('INSERT INTO `control_servers` set '
-				.'`unit`="'.$id.'",'
-				.'`address`="'.$ip.':'.$port.'",'
-				.'`game`="'.$game.'",'
-				.'`slots`="32",'
-				.'`status`="install", '.$cfg['control_install'][$game]);
+            $sql->query('INSERT INTO `control_servers` set '
+                .'`unit`="'.$id.'",'
+                .'`address`="'.$ip.':'.$port.'",'
+                .'`game`="'.$game.'",'
+                .'`slots`="32",'
+                .'`status`="install", '.$cfg['control_install'][$game]);
 
-			$uid = $sql->id()+1000;
+            $uid = $sql->id()+1000;
 
-			if(in_array($game, array('css', 'csgo')))
-				$screen = 'cd '.$cfg['steamcmd'].'; ./steamcmd.sh +login anonymous +force_install_dir "/servers/'.$uid.'" +app_update '.$cfg['control_steamcmd'][$game].' +quit; cd /servers/'.$uid.';';
-			else{
-				$zip = array_shift(array_keys($cfg['control_packs'][$game])).'.zip';
+            if(in_array($game, array('css', 'csgo')))
+                $screen = 'cd '.$cfg['steamcmd'].'; ./steamcmd.sh +login anonymous +force_install_dir "/servers/'.$uid.'" +app_update '.$cfg['control_steamcmd'][$game].' +quit; cd /servers/'.$uid.';';
+            else{
+                $zip = array_shift(array_keys($cfg['control_packs'][$game])).'.zip';
 
-				$screen = 'rm '.$zip.'; wget '.$cfg['control_server'].'/'.$zip.'; unzip -d . '.$zip.'; rm '.$zip.';';
-			}
+                $screen = 'rm '.$zip.'; wget '.$cfg['control_server'].'/'.$zip.'; unzip -d . '.$zip.'; rm '.$zip.';';
+            }
 
-			include(LIB.'ssh.php');
+            include(LIB.'ssh.php');
 
-			if(!$ssh->auth($ctrl['passwd'], $ctrl['address']))
-				sys::outjs(array('e' => 'Неудалось создать связь с физическим сервером'));
+            if(!$ssh->auth($ctrl['passwd'], $ctrl['address']))
+                sys::outjs(array('e' => 'Неудалось создать связь с физическим сервером'));
 
-			$ssh->set('mkdir /servers/'.$uid.';' // Создание директории
-				.'useradd -s /bin/false -d /servers/'.$uid.' -g servers -u '.$uid.' server'.$uid.';' // Создание пользователя сервера на локации
-				.'chown server'.$uid.':1000 /servers/'.$uid.';' // Изменение владельца и группы директории
-				.'cd /servers/'.$uid.' && sudo -u server'.$uid.' screen -dmS i_'.$uid.' sh -c "'.$screen
-				.'find . -type d -exec chmod 700 {} \;;'
-				.'find . -type f -exec chmod 600 {} \;;'
-				.'chmod 500 '.params::$aFileGame[$game].'"');
+            $ssh->set('mkdir /servers/'.$uid.';' // Создание директории
+                .'useradd -s /bin/false -d /servers/'.$uid.' -g servers -u '.$uid.' server'.$uid.';' // Создание пользователя сервера на локации
+                .'chown server'.$uid.':1000 /servers/'.$uid.';' // Изменение владельца и группы директории
+                .'cd /servers/'.$uid.' && sudo -u server'.$uid.' screen -dmS i_'.$uid.' sh -c "'.$screen
+                .'find . -type d -exec chmod 700 {} \;;'
+                .'find . -type f -exec chmod 600 {} \;;'
+                .'chmod 500 '.params::$aFileGame[$game].'"');
 
-			$id = $uid-1000;
+            $id = $uid-1000;
 
-			$sql->query('UPDATE `control_servers` set `uid`="'.$uid.'" WHERE `id`="'.$id.'" LIMIT 1');
+            $sql->query('UPDATE `control_servers` set `uid`="'.$uid.'" WHERE `id`="'.$id.'" LIMIT 1');
 
-			sys::outjs(array('s' => 'ok', 'id' => $id));
-		}
+            sys::outjs(array('s' => 'ok', 'id' => $id));
+        }
 
-		$html->nav('Подключенный сервер #'.$id, $cfg['http'].'control/id/'.$id);
-		$html->nav('Установка игрового сервера');
+        $html->nav('Подключенный сервер #'.$id, $cfg['http'].'control/id/'.$id);
+        $html->nav('Установка игрового сервера');
 
-		$html->get('install', 'sections/control');
-			$html->set('id', $id);
-		$html->pack('main');
-	}
+        $html->get('install', 'sections/control');
+            $html->set('id', $id);
+        $html->pack('main');
+    }
 ?>

+ 14 - 14
system/sections/control/noaccess.php

@@ -1,22 +1,22 @@
 <?php
     if(!DEFINED('EGP'))
-		exit(header('Refresh: 0; URL=http://'.$_SERVER['SERVER_NAME'].'/404'));
+        exit(header('Refresh: 0; URL=http://'.$_SERVER['SERVER_NAME'].'/404'));
 
-	$html->nav('Раздел недоступен');
+    $html->nav('Раздел недоступен');
 
-	if($ctrl['time'] < $start_point)
-		$html->get('overdue');
-	else{
-		$status = array(
-			'install' => 'установки',
-			'reboot' => 'перезагрузки',
-			'blocked' => 'блокировки'
-		);
+    if($ctrl['time'] < $start_point)
+        $html->get('overdue');
+    else{
+        $status = array(
+            'install' => 'установки',
+            'reboot' => 'перезагрузки',
+            'blocked' => 'блокировки'
+        );
 
-		$html->get('noaccess');
+        $html->get('noaccess');
 
-			$html->set('status', $status[$ctrl['status']]);
-	}
+            $html->set('status', $status[$ctrl['status']]);
+    }
 
-	$html->pack('main');
+    $html->pack('main');
 ?>

+ 13 - 13
system/sections/control/reboot.php

@@ -1,24 +1,24 @@
 <?php
     if(!DEFINED('EGP'))
-		exit(header('Refresh: 0; URL=http://'.$_SERVER['SERVER_NAME'].'/404'));
+        exit(header('Refresh: 0; URL=http://'.$_SERVER['SERVER_NAME'].'/404'));
 
-	if($ctrl['status'] != 'working')
-		sys::outjs(array('e' => 'Сервер должен быть в рабочем состоянии'));
+    if($ctrl['status'] != 'working')
+        sys::outjs(array('e' => 'Сервер должен быть в рабочем состоянии'));
 
-	$sql->query('SELECT `address`, `passwd` FROM `control` WHERE `id`="'.$id.'" LIMIT 1');
-	$ctrl = $sql->get();
+    $sql->query('SELECT `address`, `passwd` FROM `control` WHERE `id`="'.$id.'" LIMIT 1');
+    $ctrl = $sql->get();
 
-	include(LIB.'ssh.php');
+    include(LIB.'ssh.php');
 
-	if(!$ssh->auth($ctrl['passwd'], $ctrl['address']))
-		sys::outjs(array('e' => 'Неудалось создать связь с физическим сервером'));
+    if(!$ssh->auth($ctrl['passwd'], $ctrl['address']))
+        sys::outjs(array('e' => 'Неудалось создать связь с физическим сервером'));
 
-	$ssh->set('screen -dmS reboot reboot');
+    $ssh->set('screen -dmS reboot reboot');
 
-	$sql->query('UPDATE `control` set `status`="reboot" WHERE `id`="'.$id.'" LIMIT 1');
-	$sql->query('UPDATE `control_servers` set `status`="off" WHERE `unit`="'.$id.'" LIMIT 1');
+    $sql->query('UPDATE `control` set `status`="reboot" WHERE `id`="'.$id.'" LIMIT 1');
+    $sql->query('UPDATE `control_servers` set `status`="off" WHERE `unit`="'.$id.'" LIMIT 1');
 
-	$mcache->set('reboot_control_'.$id, true, false, 10);
+    $mcache->set('reboot_control_'.$id, true, false, 10);
 
-	sys::outjs(array('s' => 'ok'));
+    sys::outjs(array('s' => 'ok'));
 ?>

+ 11 - 11
system/sections/control/scan.php

@@ -1,18 +1,18 @@
 <?php
     if(!DEFINED('EGP'))
-		exit(header('Refresh: 0; URL=http://'.$_SERVER['SERVER_NAME'].'/404'));
+        exit(header('Refresh: 0; URL=http://'.$_SERVER['SERVER_NAME'].'/404'));
 
-	// Запрошена информация (cpu, ram, hdd)
-	if(isset($url['resources']))
-		sys::outjs(ctrl::resources($id));
+    // Запрошена информация (cpu, ram, hdd)
+    if(isset($url['resources']))
+        sys::outjs(ctrl::resources($id));
 
-	// Запрошена подробная информация (cpu, ram, hdd)
-	if(isset($url['update_info']))
-		sys::outjs(ctrl::update_info($id));
+    // Запрошена подробная информация (cpu, ram, hdd)
+    if(isset($url['update_info']))
+        sys::outjs(ctrl::update_info($id));
 
-	// Обновление информации (status, time)
-	if(isset($url['update_status']))
-		sys::outjs(ctrl::update_status($id));
+    // Обновление информации (status, time)
+    if(isset($url['update_status']))
+        sys::outjs(ctrl::update_status($id));
 
-	exit;
+    exit;
 ?>

+ 50 - 50
system/sections/control/servers/action.php

@@ -1,74 +1,74 @@
 <?php
     if(!DEFINED('EGP'))
-		exit(header('Refresh: 0; URL=http://'.$_SERVER['SERVER_NAME'].'/404'));
+        exit(header('Refresh: 0; URL=http://'.$_SERVER['SERVER_NAME'].'/404'));
 
-	$sql->query('SELECT `game`, `status` FROM `control_servers` WHERE `id`="'.$sid.'" LIMIT 1');
-	$server = $sql->get();
+    $sql->query('SELECT `game`, `status` FROM `control_servers` WHERE `id`="'.$sid.'" LIMIT 1');
+    $server = $sql->get();
 
-	if(!isset($url['action']))
-		sys::outjs(array('e' => 'Неверный запрос для выполнения операции'));
+    if(!isset($url['action']))
+        sys::outjs(array('e' => 'Неверный запрос для выполнения операции'));
 
-	$nmch = 'ctrl_server_action_'.$sid;
+    $nmch = 'ctrl_server_action_'.$sid;
 
-	if($mcache->get($nmch))
-		sys::outjs(array('e' => sys::text('other', 'mcache')));
+    if($mcache->get($nmch))
+        sys::outjs(array('e' => sys::text('other', 'mcache')));
 
-	$mcache->set($nmch, true, false, 10);
+    $mcache->set($nmch, true, false, 10);
 
-	include(LIB.'control/'.$server['game'].'/action.php');
-	
-	switch($url['action'])
-	{
-		case 'stop':
-			if(!in_array($server['status'], array('working', 'start', 'restart', 'change')))
-				sys::outjs(array('e' => sys::text('error', 'ser_stop')), $nmch);
+    include(LIB.'control/'.$server['game'].'/action.php');
+    
+    switch($url['action'])
+    {
+        case 'stop':
+            if(!in_array($server['status'], array('working', 'start', 'restart', 'change')))
+                sys::outjs(array('e' => sys::text('error', 'ser_stop')), $nmch);
 
-			sys::outjs(action::stop($sid), $nmch);
+            sys::outjs(action::stop($sid), $nmch);
 
-		case 'start':
-			if($server['status'] != 'off')
-				sys::outjs(array('e' => sys::text('error', 'ser_start')), $nmch);
+        case 'start':
+            if($server['status'] != 'off')
+                sys::outjs(array('e' => sys::text('error', 'ser_start')), $nmch);
 
-			sys::outjs(action::start($sid), $nmch);
+            sys::outjs(action::start($sid), $nmch);
 
-		case 'restart':
-			if(!in_array($server['status'], array('working', 'start', 'restart', 'change')))
-				sys::outjs(array('e' => sys::text('error', 'ser_restart')), $nmch);
+        case 'restart':
+            if(!in_array($server['status'], array('working', 'start', 'restart', 'change')))
+                sys::outjs(array('e' => sys::text('error', 'ser_restart')), $nmch);
 
-			sys::outjs(action::start($sid, 'restart'), $nmch);
+            sys::outjs(action::start($sid, 'restart'), $nmch);
 
-		case 'change':
-			if($server['status'] != 'working')
-			{
-				if($server['status'] == 'change')
-					sys::outjs(array('e' => sys::text('other', 'mcache')), $nmch);
-				
-				sys::outjs(array('e' => sys::text('error', 'ser_change')), $nmch);
-			}
+        case 'change':
+            if($server['status'] != 'working')
+            {
+                if($server['status'] == 'change')
+                    sys::outjs(array('e' => sys::text('other', 'mcache')), $nmch);
+                
+                sys::outjs(array('e' => sys::text('error', 'ser_change')), $nmch);
+            }
 
-			if(isset($url['change']))
-				sys::outjs(action::change($sid, $url['change']), $nmch);
+            if(isset($url['change']))
+                sys::outjs(action::change($sid, $url['change']), $nmch);
 
-			sys::outjs(action::change($sid), $nmch);
+            sys::outjs(action::change($sid), $nmch);
 
-		case 'reinstall':
-			if($server['status'] != 'off')
-				sys::outjs(array('e' => sys::text('error', 'ser_reinstall')), $nmch);
+        case 'reinstall':
+            if($server['status'] != 'off')
+                sys::outjs(array('e' => sys::text('error', 'ser_reinstall')), $nmch);
 
-			sys::outjs(action::reinstall($sid), $nmch);
+            sys::outjs(action::reinstall($sid), $nmch);
 
-		case 'update':
-			if($server['status'] != 'off')
-				sys::outjs(array('e' => sys::text('error', 'ser_update')), $nmch);
+        case 'update':
+            if($server['status'] != 'off')
+                sys::outjs(array('e' => sys::text('error', 'ser_update')), $nmch);
 
-			sys::outjs(action::update($sid), $nmch);
+            sys::outjs(action::update($sid), $nmch);
 
-		case 'delete':
-			if($server['status'] != 'off')
-				sys::outjs(array('e' => sys::text('error', 'ser_delete')), $nmch);
+        case 'delete':
+            if($server['status'] != 'off')
+                sys::outjs(array('e' => sys::text('error', 'ser_delete')), $nmch);
 
-			sys::outjs(action::delete($sid), $nmch);
-	}
+            sys::outjs(action::delete($sid), $nmch);
+    }
 
-	exit;
+    exit;
 ?>

+ 5 - 5
system/sections/control/servers/boost.php

@@ -1,11 +1,11 @@
 <?php
     if(!DEFINED('EGP'))
-		exit(header('Refresh: 0; URL=http://'.$_SERVER['SERVER_NAME'].'/404'));
+        exit(header('Refresh: 0; URL=http://'.$_SERVER['SERVER_NAME'].'/404'));
 
-	$sql->query('SELECT `address`, `game`, `status` FROM `control_servers` WHERE `id`="'.$sid.'" LIMIT 1');
-	$server = $sql->get();
+    $sql->query('SELECT `address`, `game`, `status` FROM `control_servers` WHERE `id`="'.$sid.'" LIMIT 1');
+    $server = $sql->get();
 
-	ctrl::nav($server, $id, $sid, 'boost');
+    ctrl::nav($server, $id, $sid, 'boost');
 
-	include(ctrl::route($server, 'boost', $go));
+    include(ctrl::route($server, 'boost', $go));
 ?>

+ 5 - 5
system/sections/control/servers/console.php

@@ -1,11 +1,11 @@
 <?php
     if(!DEFINED('EGP'))
-		exit(header('Refresh: 0; URL=http://'.$_SERVER['SERVER_NAME'].'/404'));
+        exit(header('Refresh: 0; URL=http://'.$_SERVER['SERVER_NAME'].'/404'));
 
-	$sql->query('SELECT `address`, `game`, `status` FROM `control_servers` WHERE `id`="'.$sid.'" LIMIT 1');
-	$server = $sql->get();
+    $sql->query('SELECT `address`, `game`, `status` FROM `control_servers` WHERE `id`="'.$sid.'" LIMIT 1');
+    $server = $sql->get();
 
-	ctrl::nav($server, $id, $sid, 'console');
+    ctrl::nav($server, $id, $sid, 'console');
 
-	include(ctrl::route($server, 'console', $go));
+    include(ctrl::route($server, 'console', $go));
 ?>

+ 5 - 5
system/sections/control/servers/copy.php

@@ -1,11 +1,11 @@
 <?php
     if(!DEFINED('EGP'))
-		exit(header('Refresh: 0; URL=http://'.$_SERVER['SERVER_NAME'].'/404'));
+        exit(header('Refresh: 0; URL=http://'.$_SERVER['SERVER_NAME'].'/404'));
 
-	$sql->query('SELECT `uid`, `address`, `game`, `pack`, `status` FROM `control_servers` WHERE `id`="'.$sid.'" LIMIT 1');
-	$server = $sql->get();
+    $sql->query('SELECT `uid`, `address`, `game`, `pack`, `status` FROM `control_servers` WHERE `id`="'.$sid.'" LIMIT 1');
+    $server = $sql->get();
 
-	ctrl::nav($server, $id, $sid, 'copy');
+    ctrl::nav($server, $id, $sid, 'copy');
 
-	include(ctrl::route($server, 'copy', $go));
+    include(ctrl::route($server, 'copy', $go));
 ?>

+ 57 - 57
system/sections/control/servers/cs/boost.php

@@ -1,80 +1,80 @@
 <?php
     if(!DEFINED('EGP'))
-		exit(header('Refresh: 0; URL=http://'.$_SERVER['SERVER_NAME'].'/404'));
+        exit(header('Refresh: 0; URL=http://'.$_SERVER['SERVER_NAME'].'/404'));
 
-	include(DATA.'boost.php');
+    include(DATA.'boost.php');
 
-	if($go)
-	{
-		$aData = array();
+    if($go)
+    {
+        $aData = array();
 
-		$aData['site'] = isset($url['site']) ? $url['site'] : sys::outjs(array('e' => 'Необходимо указать сервис.'));
+        $aData['site'] = isset($url['site']) ? $url['site'] : sys::outjs(array('e' => 'Необходимо указать сервис.'));
 
-		// Проверка сервиса
-		if(!in_array($aData['site'], $aBoost[$server['game']]['boost']))
-			sys::outjs(array('e' => 'Указанный сервис по раскрутке не найден.'));
+        // Проверка сервиса
+        if(!in_array($aData['site'], $aBoost[$server['game']]['boost']))
+            sys::outjs(array('e' => 'Указанный сервис по раскрутке не найден.'));
 
-		if(isset($url['rating']))
-		{
-			$rating = $url['rating'] == 'up' ? '1' : '-1';
+        if(isset($url['rating']))
+        {
+            $rating = $url['rating'] == 'up' ? '1' : '-1';
 
-			$sql->query('SELECT `id` FROM `boost_rating` WHERE `boost`="'.$aData['site'].'" AND `user`="'.$user['id'].'" AND `rating`="'.$rating.'" LIMIT 1');
-			if($sql->num())
-				sys::out('err');
+            $sql->query('SELECT `id` FROM `boost_rating` WHERE `boost`="'.$aData['site'].'" AND `user`="'.$user['id'].'" AND `rating`="'.$rating.'" LIMIT 1');
+            if($sql->num())
+                sys::out('err');
 
-			$sql->query('DELETE FROM `boost_rating` WHERE `boost`="'.$aData['site'].'" AND `user`="'.$user['id'].'" LIMIT 1');
-			$sql->query('INSERT INTO `boost_rating` set `boost`="'.$aData['site'].'", `rating`="'.$rating.'", `user`="'.$user['id'].'"');
+            $sql->query('DELETE FROM `boost_rating` WHERE `boost`="'.$aData['site'].'" AND `user`="'.$user['id'].'" LIMIT 1');
+            $sql->query('INSERT INTO `boost_rating` set `boost`="'.$aData['site'].'", `rating`="'.$rating.'", `user`="'.$user['id'].'"');
 
-			$sql->query('SELECT SUM(`rating`) FROM `boost_rating` WHERE `boost`="'.$aData['site'].'"');
-			$sum = $sql->get();
+            $sql->query('SELECT SUM(`rating`) FROM `boost_rating` WHERE `boost`="'.$aData['site'].'"');
+            $sum = $sql->get();
 
-			$rating = (int) $sum['SUM(`rating`)'];
+            $rating = (int) $sum['SUM(`rating`)'];
 
-			sys::out($rating, 'ctrl_server_boost_'.$sid);
-		}
+            sys::out($rating, 'ctrl_server_boost_'.$sid);
+        }
 
-		$aData['service'] = isset($url['service']) ? sys::int($url['service']) : sys::outjs(array('e' => 'Необходимо указать номер услуги.'));
+        $aData['service'] = isset($url['service']) ? sys::int($url['service']) : sys::outjs(array('e' => 'Необходимо указать номер услуги.'));
 
-		// Проверка номера услуги
-		if(!in_array($aData['service'], $aBoost[$server['game']][$aData['site']]['services']))
-			sys::outjs(array('e' => 'Неправильно указан номер услуги.'));
+        // Проверка номера услуги
+        if(!in_array($aData['service'], $aBoost[$server['game']][$aData['site']]['services']))
+            sys::outjs(array('e' => 'Неправильно указан номер услуги.'));
 
-		// Определение суммы
-		$sum = $aBoost[$server['game']][$aData['site']]['price'][$aData['service']];
+        // Определение суммы
+        $sum = $aBoost[$server['game']][$aData['site']]['price'][$aData['service']];
 
-		// Проверка баланса
-		if($user['balance'] < $sum)
-			sys::outjs(array('e' => 'У вас не хватает '.(round($sum-$user['balance'], 2)).' '.$cfg['currency']), $name_mcache);
+        // Проверка баланса
+        if($user['balance'] < $sum)
+            sys::outjs(array('e' => 'У вас не хватает '.(round($sum-$user['balance'], 2)).' '.$cfg['currency']), $name_mcache);
 
-		include(LIB.'games/boost.php');
+        include(LIB.'games/boost.php');
 
-		$boost = new boost($aBoost[$server['game']][$aData['site']]['key'], $aBoost[$server['game']][$aData['site']]['api']);
+        $boost = new boost($aBoost[$server['game']][$aData['site']]['key'], $aBoost[$server['game']][$aData['site']]['api']);
 
-		$buy = $boost->$aBoost[$server['game']][$aData['site']]['type'](array('period' => $aData['service'], 'address' => $server['address']));
+        $buy = $boost->$aBoost[$server['game']][$aData['site']]['type'](array('period' => $aData['service'], 'address' => $server['address']));
 
-		if(is_array($buy))
-			sys::outjs(array('e' => $buy['error']));
+        if(is_array($buy))
+            sys::outjs(array('e' => $buy['error']));
 
-		// Списание средств с баланса пользователя
-		$sql->query('UPDATE `users` set `balance`="'.($user['balance']-$sum).'" WHERE `id`="'.$user['id'].'" LIMIT 1');
+        // Списание средств с баланса пользователя
+        $sql->query('UPDATE `users` set `balance`="'.($user['balance']-$sum).'" WHERE `id`="'.$user['id'].'" LIMIT 1');
 
-		include(LIB.'games/games.php');
+        include(LIB.'games/games.php');
 
-		// Реф. система
-		games::part($user['id'], $sum);
+        // Реф. система
+        games::part($user['id'], $sum);
 
-		$sql->query('INSERT INTO `logs` set `user`="'.$user['id'].'", `text`="'.sys::updtext(sys::text('logs', 'ctrl_buy_boost'),
-			array('circles' => $aBoost[$server['game']][$aData['site']]['circles'][$aData['service']],
-				'money' => $sum, 'site' => $aBoost[$server['game']][$aData['site']]['site'], 'id' => $id)).'", `date`="'.$start_point.'", `type`="boost", `money`="'.$sum.'"');
+        $sql->query('INSERT INTO `logs` set `user`="'.$user['id'].'", `text`="'.sys::updtext(sys::text('logs', 'ctrl_buy_boost'),
+            array('circles' => $aBoost[$server['game']][$aData['site']]['circles'][$aData['service']],
+                'money' => $sum, 'site' => $aBoost[$server['game']][$aData['site']]['site'], 'id' => $id)).'", `date`="'.$start_point.'", `type`="boost", `money`="'.$sum.'"');
 
-		$sql->query('INSERT INTO `control_boost` set `user`="'.$user['id'].'", `server`="'.$sid.'", `site`="'.$aData['site'].'", `circles`="'.$aBoost[$server['game']][$aData['site']]['circles'][$aData['service']].'", `money`="'.$sum.'", `date`="'.$start_point.'"');
+        $sql->query('INSERT INTO `control_boost` set `user`="'.$user['id'].'", `server`="'.$sid.'", `site`="'.$aData['site'].'", `circles`="'.$aBoost[$server['game']][$aData['site']]['circles'][$aData['service']].'", `money`="'.$sum.'", `date`="'.$start_point.'"');
 
-		sys::outjs(array('s' => 'ok'), $name_mcache);
-	}
+        sys::outjs(array('s' => 'ok'), $name_mcache);
+    }
 
-	$html->nav('Список подключенных серверов', $cfg['http'].'control');
-	$html->nav('Список игровых серверов #'.$id, $cfg['http'].'control/id/'.$id);
-	$html->nav($server['address'], $cfg['http'].'control/id/'.$id.'/server/'.$sid);
+    $html->nav('Список подключенных серверов', $cfg['http'].'control');
+    $html->nav('Список игровых серверов #'.$id, $cfg['http'].'control/id/'.$id);
+    $html->nav($server['address'], $cfg['http'].'control/id/'.$id.'/server/'.$sid);
     $html->nav('Раскрутка');
 
     if($mcache->get('ctrl_server_boost_'.$sid) != '')
@@ -86,15 +86,15 @@
             $html->set('server', $sid);
             $html->set('address', $server['address']);
 
-			foreach($aBoost[$server['game']]['boost'] as $boost)
-			{
-				$sql->query('SELECT SUM(`rating`) FROM `boost_rating` WHERE `boost`="'.$boost.'"');
-				$sum = $sql->get();
+            foreach($aBoost[$server['game']]['boost'] as $boost)
+            {
+                $sql->query('SELECT SUM(`rating`) FROM `boost_rating` WHERE `boost`="'.$boost.'"');
+                $sum = $sql->get();
 
-				$rating = (int) $sum['SUM(`rating`)'];
+                $rating = (int) $sum['SUM(`rating`)'];
 
-				$html->set($boost, $rating);
-			}
+                $html->set($boost, $rating);
+            }
 
         $html->pack('main');
 

+ 47 - 47
system/sections/control/servers/cs/console.php

@@ -1,67 +1,67 @@
 <?php
-	if(!DEFINED('EGP'))
-		exit(header('Refresh: 0; URL=http://'.$_SERVER['SERVER_NAME'].'/404'));
+    if(!DEFINED('EGP'))
+        exit(header('Refresh: 0; URL=http://'.$_SERVER['SERVER_NAME'].'/404'));
 
-	$sql->query('SELECT `uid`, `time_start` FROM `control_servers` WHERE `id`="'.$sid.'" LIMIT 1');
-	$server = array_merge($server, $sql->get());
+    $sql->query('SELECT `uid`, `time_start` FROM `control_servers` WHERE `id`="'.$sid.'" LIMIT 1');
+    $server = array_merge($server, $sql->get());
 
-	if($go)
-	{
-		$sql->query('SELECT `address`, `passwd` FROM `control` WHERE `id`="'.$id.'" LIMIT 1');
-		$unit = $sql->get();
+    if($go)
+    {
+        $sql->query('SELECT `address`, `passwd` FROM `control` WHERE `id`="'.$id.'" LIMIT 1');
+        $unit = $sql->get();
 
-		include(LIB.'ssh.php');
+        include(LIB.'ssh.php');
 
-		$command = isset($_POST['command']) ? sys::cmd($_POST['command']) : '';
+        $command = isset($_POST['command']) ? sys::cmd($_POST['command']) : '';
 
-		if($server['status'] == 'off')
-		{
-			if($command)
-				sys::outjs(array('e' => sys::text('servers', 'off')));
+        if($server['status'] == 'off')
+        {
+            if($command)
+                sys::outjs(array('e' => sys::text('servers', 'off')));
 
-			sys::out(sys::text('servers', 'off'));
-		}
+            sys::out(sys::text('servers', 'off'));
+        }
 
-		if(!$ssh->auth($unit['passwd'], $unit['address']))
-		{
-			if($command)
-				sys::outjs(array('e' => sys::text('error', 'ssh')));
+        if(!$ssh->auth($unit['passwd'], $unit['address']))
+        {
+            if($command)
+                sys::outjs(array('e' => sys::text('error', 'ssh')));
 
-			sys::out(sys::text('error', 'ssh'));
-		}
+            sys::out(sys::text('error', 'ssh'));
+        }
 
-		$dir = '/servers/'.$server['uid'].'/cstrike/';
+        $dir = '/servers/'.$server['uid'].'/cstrike/';
 
-		$filecmd = $dir.'qconsole.log';
+        $filecmd = $dir.'qconsole.log';
 
-		if($command)
-		{
-			if(strtolower($command) == 'clear')
-				$ssh->set('sudo -u server'.$server['uid'].' sh -c "echo \"Очистка консоли\n\" > '.$filecmd.'"');
-			else
-				$ssh->set('sudo -u server'.$server['uid'].' screen -p 0 -S s_'.$server['uid'].' -X eval \'stuff "'.$command.'"\015\';'
-						.'sudo -u server'.$server['uid'].' screen -p 0 -S s_'.$server['uid'].' -X eval \'stuff \015\'');
+        if($command)
+        {
+            if(strtolower($command) == 'clear')
+                $ssh->set('sudo -u server'.$server['uid'].' sh -c "echo \"Очистка консоли\n\" > '.$filecmd.'"');
+            else
+                $ssh->set('sudo -u server'.$server['uid'].' screen -p 0 -S s_'.$server['uid'].' -X eval \'stuff "'.$command.'"\015\';'
+                        .'sudo -u server'.$server['uid'].' screen -p 0 -S s_'.$server['uid'].' -X eval \'stuff \015\'');
 
-			sys::outjs(array('s' => 'ok'));
-		}
+            sys::outjs(array('s' => 'ok'));
+        }
 
-		$filecmd_copy = $dir.'oldstart/'.date('d.m.Y_H:i:s', $server['time_start']).'.log';
+        $filecmd_copy = $dir.'oldstart/'.date('d.m.Y_H:i:s', $server['time_start']).'.log';
 
-		$weight = sys::int($ssh->get('du --block-size=1 '.$filecmd.' | awk \'{print $1}\''));
+        $weight = sys::int($ssh->get('du --block-size=1 '.$filecmd.' | awk \'{print $1}\''));
 
-		if($weight > 524288)
-			$ssh->set('sudo -u server'.$server['uid'].' sh -c "mkdir -p '.$dir.'oldstart; cat '.$filecmd.' >> '.$filecmd_copy.'; echo \"Выполнена очистка консоли, слишком большой объем данных\n\" > '.$filecmd.'"');
+        if($weight > 524288)
+            $ssh->set('sudo -u server'.$server['uid'].' sh -c "mkdir -p '.$dir.'oldstart; cat '.$filecmd.' >> '.$filecmd_copy.'; echo \"Выполнена очистка консоли, слишком большой объем данных\n\" > '.$filecmd.'"');
 
-		sys::out(htmlspecialchars($ssh->get('cat '.$filecmd), NULL, ''));
-	}
+        sys::out(htmlspecialchars($ssh->get('cat '.$filecmd), NULL, ''));
+    }
 
-	$html->nav('Список подключенных серверов', $cfg['http'].'control');
-	$html->nav('Список игровых серверов #'.$id, $cfg['http'].'control/id/'.$id);
-	$html->nav($server['address'], $cfg['http'].'control/id/'.$id.'/server/'.$sid);
-	$html->nav('Консоль');
+    $html->nav('Список подключенных серверов', $cfg['http'].'control');
+    $html->nav('Список игровых серверов #'.$id, $cfg['http'].'control/id/'.$id);
+    $html->nav($server['address'], $cfg['http'].'control/id/'.$id.'/server/'.$sid);
+    $html->nav('Консоль');
 
-	$html->get('console', 'sections/control/servers/'.$server['game']);
-		$html->set('id', $id);
-		$html->set('server', $sid);
-	$html->pack('main');
+    $html->get('console', 'sections/control/servers/'.$server['game']);
+        $html->set('id', $id);
+        $html->set('server', $sid);
+    $html->pack('main');
 ?>

+ 63 - 63
system/sections/control/servers/cs/copy.php

@@ -1,85 +1,85 @@
 <?php
-	if(!DEFINED('EGP'))
-		exit(header('Refresh: 0; URL=http://'.$_SERVER['SERVER_NAME'].'/404'));
+    if(!DEFINED('EGP'))
+        exit(header('Refresh: 0; URL=http://'.$_SERVER['SERVER_NAME'].'/404'));
 
-	if($go)
-	{
-		// Подразделы
-		$aSub = array('fullcopy', 'create', 'recfull', 'recpart', 'remove', 'check');
+    if($go)
+    {
+        // Подразделы
+        $aSub = array('fullcopy', 'create', 'recfull', 'recpart', 'remove', 'check');
 
-		// Если выбран подраздел
-		if(isset($url['subsection']) AND in_array($url['subsection'], $aSub))
-		{
-			if($url['subsection'] != 'check')
-				$nmch = sys::rep_act('ctrl_server_copy_go_'.$sid, 10);
+        // Если выбран подраздел
+        if(isset($url['subsection']) AND in_array($url['subsection'], $aSub))
+        {
+            if($url['subsection'] != 'check')
+                $nmch = sys::rep_act('ctrl_server_copy_go_'.$sid, 10);
 
-			if($server['status'] != 'off' AND $url['subsection'] != 'remove')
-				sys::outjs(array('e' => 'Игровой сервер должен быть выключен'), $nmch);
+            if($server['status'] != 'off' AND $url['subsection'] != 'remove')
+                sys::outjs(array('e' => 'Игровой сервер должен быть выключен'), $nmch);
 
-			$sql->query('SELECT `address`, `passwd` FROM `control` WHERE `id`="'.$id.'" LIMIT 1');
-			$unit = $sql->get();
+            $sql->query('SELECT `address`, `passwd` FROM `control` WHERE `id`="'.$id.'" LIMIT 1');
+            $unit = $sql->get();
 
-			include(LIB.'ssh.php');
+            include(LIB.'ssh.php');
 
-			if(!$ssh->auth($unit['passwd'], $unit['address']))
-				sys::outjs(array('e' => sys::text('error', 'ssh')), $nmch);
+            if(!$ssh->auth($unit['passwd'], $unit['address']))
+                sys::outjs(array('e' => sys::text('error', 'ssh')), $nmch);
 
-			include(SEC.'control/servers/games/copy/'.$url['subsection'].'.php');
-		}
-	}
+            include(SEC.'control/servers/games/copy/'.$url['subsection'].'.php');
+        }
+    }
 
-	$html->nav('Список подключенных серверов', $cfg['http'].'control');
-	$html->nav('Список игровых серверов #'.$id, $cfg['http'].'control/id/'.$id);
-	$html->nav($server['address'], $cfg['http'].'control/id/'.$id.'/server/'.$sid);
-	$html->nav('Резервные копии');
+    $html->nav('Список подключенных серверов', $cfg['http'].'control');
+    $html->nav('Список игровых серверов #'.$id, $cfg['http'].'control/id/'.$id);
+    $html->nav($server['address'], $cfg['http'].'control/id/'.$id.'/server/'.$sid);
+    $html->nav('Резервные копии');
 
-	if($mcache->get('ctrl_server_copy_'.$sid) != '')
-		$html->arr['main'] = $mcache->get('ctrl_server_copy_'.$sid);
-	else{
-		// Построение списка создания копии
-		foreach(params::$section_copy[$server['game']]['aCopy'] as $name => $info)
-		{
-			$html->get('list', 'sections/control/servers/games/copy');
+    if($mcache->get('ctrl_server_copy_'.$sid) != '')
+        $html->arr['main'] = $mcache->get('ctrl_server_copy_'.$sid);
+    else{
+        // Построение списка создания копии
+        foreach(params::$section_copy[$server['game']]['aCopy'] as $name => $info)
+        {
+            $html->get('list', 'sections/control/servers/games/copy');
 
-				$html->set('name', $name);
-				$html->set('info', $info);
+                $html->set('name', $name);
+                $html->set('info', $info);
 
-			$html->pack('list');
-		}
+            $html->pack('list');
+        }
 
-		// Построение списка созданных копий
-		$sql->query('SELECT `id`, `server`, `info`, `date`, `status` FROM `control_copy` WHERE `user`="'.$ctrl['user'].'_'.$id.'" AND `game`="'.$server['game'].'" ORDER BY `id` ASC');
-		while($copy = $sql->get())
-		{
-			$html->get('copy', 'sections/control/servers/games/copy');
+        // Построение списка созданных копий
+        $sql->query('SELECT `id`, `server`, `info`, `date`, `status` FROM `control_copy` WHERE `user`="'.$ctrl['user'].'_'.$id.'" AND `game`="'.$server['game'].'" ORDER BY `id` ASC');
+        while($copy = $sql->get())
+        {
+            $html->get('copy', 'sections/control/servers/games/copy');
 
-				$html->set('id', $copy['id']);
-				$html->set('info', $copy['info']);
-				$html->set('server', $copy['server']);
-				$html->set('date', sys::today($copy['date']));
+                $html->set('id', $copy['id']);
+                $html->set('info', $copy['info']);
+                $html->set('server', $copy['server']);
+                $html->set('date', sys::today($copy['date']));
 
-				if($copy['status'])
-				{
-					$html->unit('created', 1);
-					$html->unit('!created');
-				}else{
-					$html->unit('created');
-					$html->unit('!created', 1);
-				}
+                if($copy['status'])
+                {
+                    $html->unit('created', 1);
+                    $html->unit('!created');
+                }else{
+                    $html->unit('created');
+                    $html->unit('!created', 1);
+                }
 
-			$html->pack('copy');
-		}
+            $html->pack('copy');
+        }
 
-		$html->get('copy', 'sections/control/servers/'.$server['game']);
+        $html->get('copy', 'sections/control/servers/'.$server['game']);
 
-			$html->set('id', $id);
-			$html->set('server', $sid);
+            $html->set('id', $id);
+            $html->set('server', $sid);
 
-			$html->set('list', isset($html->arr['list']) ? $html->arr['list'] : '');
-			$html->set('copy', isset($html->arr['copy']) ? $html->arr['copy'] : 'Резервные копии отсутствуют.');
+            $html->set('list', isset($html->arr['list']) ? $html->arr['list'] : '');
+            $html->set('copy', isset($html->arr['copy']) ? $html->arr['copy'] : 'Резервные копии отсутствуют.');
 
-		$html->pack('main');
+        $html->pack('main');
 
-		$mcache->set('ctrl_server_copy_'.$sid, $html->arr['main'], false, 4);
-	}
+        $mcache->set('ctrl_server_copy_'.$sid, $html->arr['main'], false, 4);
+    }
 ?>

+ 21 - 21
system/sections/control/servers/cs/index.php

@@ -1,30 +1,30 @@
 <?php
     if(!DEFINED('EGP'))
-		exit(header('Refresh: 0; URL=http://'.$_SERVER['SERVER_NAME'].'/404'));
+        exit(header('Refresh: 0; URL=http://'.$_SERVER['SERVER_NAME'].'/404'));
 
-	$sql->query('SELECT `slots`, `online`, `players`, `name`, `map` FROM `control_servers` WHERE `id`="'.$sid.'" LIMIT 1');
-	$server = array_merge($server, $sql->get());
+    $sql->query('SELECT `slots`, `online`, `players`, `name`, `map` FROM `control_servers` WHERE `id`="'.$sid.'" LIMIT 1');
+    $server = array_merge($server, $sql->get());
 
-	$html->nav('Список подключенных серверов', $cfg['http'].'control');
-	$html->nav('Список игровых серверов #'.$id, $cfg['http'].'control/id/'.$id);
-	$html->nav($server['address']);
+    $html->nav('Список подключенных серверов', $cfg['http'].'control');
+    $html->nav('Список игровых серверов #'.$id, $cfg['http'].'control/id/'.$id);
+    $html->nav($server['address']);
 
-	$btn = sys::buttons($sid, $server['status'], $server['game'], $id);
+    $btn = sys::buttons($sid, $server['status'], $server['game'], $id);
 
-	$html->get('index', 'sections/control/servers/'.$server['game']);
+    $html->get('index', 'sections/control/servers/'.$server['game']);
 
-		$html->set('id', $id);
-		$html->set('server', $sid);
-		$html->set('address', $server['address']);
-		$html->set('game', $aGname[$server['game']]);
-		$html->set('slots', $server['slots']);
-		$html->set('online', $server['online']);
-		$html->set('players', base64_decode($server['players']));
-		$html->set('name', $server['name']);
-		$html->set('status', sys::status($server['status'], $server['game'], $server['map']));
-		$html->set('img', sys::status($server['status'], $server['game'], $server['map'], 'img'));
+        $html->set('id', $id);
+        $html->set('server', $sid);
+        $html->set('address', $server['address']);
+        $html->set('game', $aGname[$server['game']]);
+        $html->set('slots', $server['slots']);
+        $html->set('online', $server['online']);
+        $html->set('players', base64_decode($server['players']));
+        $html->set('name', $server['name']);
+        $html->set('status', sys::status($server['status'], $server['game'], $server['map']));
+        $html->set('img', sys::status($server['status'], $server['game'], $server['map'], 'img'));
 
-		$html->set('btn', $btn);
-			
-	$html->pack('main');
+        $html->set('btn', $btn);
+            
+    $html->pack('main');
 ?>

+ 127 - 127
system/sections/control/servers/cs/plugins.php

@@ -1,160 +1,160 @@
 <?php
     if(!DEFINED('EGP'))
-		exit(header('Refresh: 0; URL=http://'.$_SERVER['SERVER_NAME'].'/404'));
-
-	$html->nav('Список подключенных серверов', $cfg['http'].'control');
-	$html->nav('Список игровых серверов #'.$id, $cfg['http'].'control/id/'.$id);
-	$html->nav($server['address'], $cfg['http'].'control/id/'.$id.'/server/'.$sid);
-
-	// Подразделы
-	$aSub = array('install', 'delete', 'update', 'plugin', 'config', 'search');
-
-	// Если выбран подраздел
-	if(isset($url['subsection']) AND in_array($url['subsection'], $aSub))
-	{
-		$html->nav('Плагины', $cfg['http'].'control/id/'.$id.'/server/'.$sid.'/section/plugins');
-
-		$nmch = sys::rep_act('ctrl_server_plugins_go_'.$sid, 10);
-
-		include(SEC.'control/servers/games/plugins/'.$url['subsection'].'.php');
-	}else{
-		$html->nav('Плагины');
-
-		// Если есть кеш
-		if($mcache->get('ctrl_server_plugins_'.$sid) != '')
-			$html->arr['main'] = $mcache->get('ctrl_server_plugins_'.$sid);
-		else{
-			include(LIB.'games/plugins.php');
-
-			// Категории
-			$cats = $sql->query('SELECT `id`, `name` FROM `plugins_category` WHERE `game`="'.$server['game'].'" ORDER BY `sort` ASC');
-			while($cat = $sql->get($cats))
-			{
-				// Плагины
-				$plugins = $sql->query('SELECT `id`, `name`, `desc`, `images`, `status`, `upd`, `packs`, `price` FROM `plugins` WHERE `cat`="'.$cat['id'].'" ORDER BY `sort`, `id` ASC');
-				while($plugin = $sql->get($plugins))
-				{
-					// Проверка, установлен ли плагин на сервер
-					$sql->query('SELECT `id` FROM `control_plugins_install` WHERE `server`="'.$sid.'" AND `plugin`="'.$plugin['id'].'" LIMIT 1');
-					if($sql->num())
-						continue;
+        exit(header('Refresh: 0; URL=http://'.$_SERVER['SERVER_NAME'].'/404'));
+
+    $html->nav('Список подключенных серверов', $cfg['http'].'control');
+    $html->nav('Список игровых серверов #'.$id, $cfg['http'].'control/id/'.$id);
+    $html->nav($server['address'], $cfg['http'].'control/id/'.$id.'/server/'.$sid);
+
+    // Подразделы
+    $aSub = array('install', 'delete', 'update', 'plugin', 'config', 'search');
+
+    // Если выбран подраздел
+    if(isset($url['subsection']) AND in_array($url['subsection'], $aSub))
+    {
+        $html->nav('Плагины', $cfg['http'].'control/id/'.$id.'/server/'.$sid.'/section/plugins');
+
+        $nmch = sys::rep_act('ctrl_server_plugins_go_'.$sid, 10);
+
+        include(SEC.'control/servers/games/plugins/'.$url['subsection'].'.php');
+    }else{
+        $html->nav('Плагины');
+
+        // Если есть кеш
+        if($mcache->get('ctrl_server_plugins_'.$sid) != '')
+            $html->arr['main'] = $mcache->get('ctrl_server_plugins_'.$sid);
+        else{
+            include(LIB.'games/plugins.php');
+
+            // Категории
+            $cats = $sql->query('SELECT `id`, `name` FROM `plugins_category` WHERE `game`="'.$server['game'].'" ORDER BY `sort` ASC');
+            while($cat = $sql->get($cats))
+            {
+                // Плагины
+                $plugins = $sql->query('SELECT `id`, `name`, `desc`, `images`, `status`, `upd`, `packs`, `price` FROM `plugins` WHERE `cat`="'.$cat['id'].'" ORDER BY `sort`, `id` ASC');
+                while($plugin = $sql->get($plugins))
+                {
+                    // Проверка, установлен ли плагин на сервер
+                    $sql->query('SELECT `id` FROM `control_plugins_install` WHERE `server`="'.$sid.'" AND `plugin`="'.$plugin['id'].'" LIMIT 1');
+                    if($sql->num())
+                        continue;
 
-					// Проверка наличия обновленной версии плагина
-					if($plugin['upd'])
-					{
-						$idp = $plugin['id'];
-
-						$sql->query('SELECT `name`, `desc`, `images`, `status`, `packs`, `price` FROM `plugins_update` WHERE `plugin`="'.$plugin['id'].'" ORDER BY `id` DESC LIMIT 1');
-						if($sql->num())
-						{
-							$plugin = $sql->get();
+                    // Проверка наличия обновленной версии плагина
+                    if($plugin['upd'])
+                    {
+                        $idp = $plugin['id'];
+
+                        $sql->query('SELECT `name`, `desc`, `images`, `status`, `packs`, `price` FROM `plugins_update` WHERE `plugin`="'.$plugin['id'].'" ORDER BY `id` DESC LIMIT 1');
+                        if($sql->num())
+                        {
+                            $plugin = $sql->get();
 
-							$plugin['id'] = $idp;
-						}else
-							$plugin['upd'] = 0;
-					}
+                            $plugin['id'] = $idp;
+                        }else
+                            $plugin['upd'] = 0;
+                    }
 
-					// Проверка на доступность плагина к установленной на сервере сборке
-					$packs = strpos($plugin['packs'], ':') ? explode(':',$plugin['packs']) : array($plugin['packs']);
-					if(!in_array($server['pack'], $packs) AND $plugin['packs'] != 'all')
-						continue;
+                    // Проверка на доступность плагина к установленной на сервере сборке
+                    $packs = strpos($plugin['packs'], ':') ? explode(':',$plugin['packs']) : array($plugin['packs']);
+                    if(!in_array($server['pack'], $packs) AND $plugin['packs'] != 'all')
+                        continue;
 
-					$images = plugins::images($plugin['images'], $plugin['id']);
+                    $images = plugins::images($plugin['images'], $plugin['id']);
 
-					if($plugin['price'])
-					{
-						$sql->query('SELECT `id` FROM `plugins_buy` WHERE `plugin`="'.$plugin['id'].'" AND `server`="'.$sid.'" LIMIT 1');
-						$buy = $sql->num();
-					}
+                    if($plugin['price'])
+                    {
+                        $sql->query('SELECT `id` FROM `plugins_buy` WHERE `plugin`="'.$plugin['id'].'" AND `server`="'.$sid.'" LIMIT 1');
+                        $buy = $sql->num();
+                    }
 
-					// Шаблон плагина
-					$html->get('plugin', 'sections/control/servers/games/plugins');
+                    // Шаблон плагина
+                    $html->get('plugin', 'sections/control/servers/games/plugins');
 
-						$html->set('id', $id);
-						$html->set('server', $sid);
-						$html->set('plugin', $plugin['id']);
+                        $html->set('id', $id);
+                        $html->set('server', $sid);
+                        $html->set('plugin', $plugin['id']);
 
-						plugins::status($plugin['status']);
+                        plugins::status($plugin['status']);
 
-						$html->set('name', htmlspecialchars_decode($plugin['name']));
-						$html->set('desc', htmlspecialchars_decode($plugin['desc']));
+                        $html->set('name', htmlspecialchars_decode($plugin['name']));
+                        $html->set('desc', htmlspecialchars_decode($plugin['desc']));
 
-						if(!empty($images))
-						{
-							$html->unit('images', 1);
-							$html->set('images', $images);
-						}else
-							$html->unit('images');
+                        if(!empty($images))
+                        {
+                            $html->unit('images', 1);
+                            $html->set('images', $images);
+                        }else
+                            $html->unit('images');
 
-						if(!$buy AND $plugin['price'])
-						{
-							$html->unit('price', true, true);
-							$html->set('price', $plugin['price']);
-						}else
-							$html->unit('price', false, true);
+                        if(!$buy AND $plugin['price'])
+                        {
+                            $html->unit('price', true, true);
+                            $html->set('price', $plugin['price']);
+                        }else
+                            $html->unit('price', false, true);
 
-					$html->pack('plugins');
-				}
+                    $html->pack('plugins');
+                }
 
-				// Шаблон блока плагинов
-				$html->get('category', 'sections/control/servers/games/plugins');
+                // Шаблон блока плагинов
+                $html->get('category', 'sections/control/servers/games/plugins');
 
-					$html->set('name', $cat['name']);
-					$html->set('plugins', isset($html->arr['plugins']) ? $html->arr['plugins'] : 'Доступных для установки плагинов нет.', 1);
+                    $html->set('name', $cat['name']);
+                    $html->set('plugins', isset($html->arr['plugins']) ? $html->arr['plugins'] : 'Доступных для установки плагинов нет.', 1);
 
-				$html->pack('addons');
-			}
+                $html->pack('addons');
+            }
 
-			unset($cats, $cat, $plugins, $plugin);
+            unset($cats, $cat, $plugins, $plugin);
 
-			// Список установленных плагинов на сервер (отдельный блок)
-			$pl_ins = $sql->query('SELECT `plugin`, `upd`, `time` FROM `control_plugins_install` WHERE `server`="'.$sid.'" ORDER BY `plugin`');
-			while($plugin = $sql->get($pl_ins))
-			{
-				$sql->query('SELECT `id` FROM `plugins` WHERE `id`="'.$plugin['plugin'].'" LIMIT 1');
-				if(!$sql->num())
-					continue;
+            // Список установленных плагинов на сервер (отдельный блок)
+            $pl_ins = $sql->query('SELECT `plugin`, `upd`, `time` FROM `control_plugins_install` WHERE `server`="'.$sid.'" ORDER BY `plugin`');
+            while($plugin = $sql->get($pl_ins))
+            {
+                $sql->query('SELECT `id` FROM `plugins` WHERE `id`="'.$plugin['plugin'].'" LIMIT 1');
+                if(!$sql->num())
+                    continue;
 
-				$isUpd = $plugin['upd'];
-
-				// Если установлен обновленный плагин
-				if($isUpd)
-					$sql->query('SELECT `name`, `desc`, `status`, `cfg`, `upd` FROM `plugins_update` WHERE `id`="'.$isUpd.'" LIMIT 1');
-				else
-					$sql->query('SELECT `name`, `desc`, `status`, `cfg`, `upd` FROM `plugins` WHERE `id`="'.$plugin['plugin'].'" LIMIT 1');
+                $isUpd = $plugin['upd'];
+
+                // Если установлен обновленный плагин
+                if($isUpd)
+                    $sql->query('SELECT `name`, `desc`, `status`, `cfg`, `upd` FROM `plugins_update` WHERE `id`="'.$isUpd.'" LIMIT 1');
+                else
+                    $sql->query('SELECT `name`, `desc`, `status`, `cfg`, `upd` FROM `plugins` WHERE `id`="'.$plugin['plugin'].'" LIMIT 1');
 
-				$plugin = array_merge($plugin, $sql->get());
+                $plugin = array_merge($plugin, $sql->get());
 
-				// Шаблон плагина
-				$html->get('plugin_install', 'sections/control/servers/games/plugins');
+                // Шаблон плагина
+                $html->get('plugin_install', 'sections/control/servers/games/plugins');
 
-					$html->set('id', $id);
-					$html->set('server', $sid);
-					$html->set('plugin', $plugin['plugin']);
+                    $html->set('id', $id);
+                    $html->set('server', $sid);
+                    $html->set('plugin', $plugin['plugin']);
 
-					plugins::status($plugin['status']);
+                    plugins::status($plugin['status']);
 
-					if($plugin['cfg']) $html->unit('config', 1); else $html->unit('config');
+                    if($plugin['cfg']) $html->unit('config', 1); else $html->unit('config');
 
-					if($plugin['upd']) $html->unit('update', 1); else $html->unit('update');
+                    if($plugin['upd']) $html->unit('update', 1); else $html->unit('update');
 
-					$html->set('name', htmlspecialchars_decode($plugin['name']));
-					$html->set('time', sys::today($plugin['time']));
-					$html->set('desc', htmlspecialchars_decode($plugin['desc']));
+                    $html->set('name', htmlspecialchars_decode($plugin['name']));
+                    $html->set('time', sys::today($plugin['time']));
+                    $html->set('desc', htmlspecialchars_decode($plugin['desc']));
 
-				$html->pack('install');
-			}
+                $html->pack('install');
+            }
 
-			$html->get('plugins', 'sections/control/servers/games');
+            $html->get('plugins', 'sections/control/servers/games');
 
-				$html->set('id', $id);
-				$html->set('server', $sid);
-				$html->set('addons', isset($html->arr['addons']) ? $html->arr['addons'] : '');
-				$html->set('install', isset($html->arr['install']) ? $html->arr['install'] : 'Установленные плагины отсутствуют.');
+                $html->set('id', $id);
+                $html->set('server', $sid);
+                $html->set('addons', isset($html->arr['addons']) ? $html->arr['addons'] : '');
+                $html->set('install', isset($html->arr['install']) ? $html->arr['install'] : 'Установленные плагины отсутствуют.');
 
-			$html->pack('main');
+            $html->pack('main');
 
-			$mcache->set('ctrl_server_plugins_'.$sid, $html->arr['main'], false, 60);
-		}
-	}
+            $mcache->set('ctrl_server_plugins_'.$sid, $html->arr['main'], false, 60);
+        }
+    }
 ?>

+ 39 - 39
system/sections/control/servers/cs/rcon.php

@@ -1,56 +1,56 @@
 <?php
-	if(!DEFINED('EGP'))
-		exit(header('Refresh: 0; URL=http://'.$_SERVER['SERVER_NAME'].'/404'));
+    if(!DEFINED('EGP'))
+        exit(header('Refresh: 0; URL=http://'.$_SERVER['SERVER_NAME'].'/404'));
 
-	if($go)
-	{
-		include(LIB.'control/'.$server['game'].'/rcon.php');
+    if($go)
+    {
+        include(LIB.'control/'.$server['game'].'/rcon.php');
 
-		if(isset($url['action']) AND in_array($url['action'], array('kick', 'kill')))
-		{
-			$player = isset($_POST['player']) ? $_POST['player'] : sys::outjs(array('e' => 'Необходимо выбрать игрока.'));
+        if(isset($url['action']) AND in_array($url['action'], array('kick', 'kill')))
+        {
+            $player = isset($_POST['player']) ? $_POST['player'] : sys::outjs(array('e' => 'Необходимо выбрать игрока.'));
 
-			if($url['action'] == 'kick')
-				rcon::cmd(array_merge($server, array('id' => $id)), 'amx_kick "'.$player.'" "EGP Panel"');
-			else
-				rcon::cmd(array_merge($server, array('id' => $id)), 'amx_slay "'.$player.'"');
+            if($url['action'] == 'kick')
+                rcon::cmd(array_merge($server, array('id' => $id)), 'amx_kick "'.$player.'" "EGP Panel"');
+            else
+                rcon::cmd(array_merge($server, array('id' => $id)), 'amx_slay "'.$player.'"');
 
-			sys::outjs(array('s' => 'ok'));
-		}
+            sys::outjs(array('s' => 'ok'));
+        }
 
-		include(LIB.'geo.php');
-		$SxGeo = new SxGeo(DATA.'SxGeoCity.dat');
+        include(LIB.'geo.php');
+        $SxGeo = new SxGeo(DATA.'SxGeoCity.dat');
 
-		$aPlayers = rcon::players(rcon::cmd(array_merge($server, array('id' => $id))));
+        $aPlayers = rcon::players(rcon::cmd(array_merge($server, array('id' => $id))));
 
-		foreach($aPlayers as $i => $aPlayer)
-		{
-			$html->get('player', 'sections/control/servers/'.$server['game'].'/rcon');
+        foreach($aPlayers as $i => $aPlayer)
+        {
+            $html->get('player', 'sections/control/servers/'.$server['game'].'/rcon');
 
-				$html->set('i', $i);
-				$html->set('name', $aPlayer['name']);
-				$html->set('steamid', $aPlayer['steamid']);
-				$html->set('time', $aPlayer['time']);
-				$html->set('ping', $aPlayer['ping']);
-				$html->set('ip', $aPlayer['ip']);
-				$html->set('ico', $aPlayer['ico']);
-				$html->set('country', $aPlayer['country']);
+                $html->set('i', $i);
+                $html->set('name', $aPlayer['name']);
+                $html->set('steamid', $aPlayer['steamid']);
+                $html->set('time', $aPlayer['time']);
+                $html->set('ping', $aPlayer['ping']);
+                $html->set('ip', $aPlayer['ip']);
+                $html->set('ico', $aPlayer['ico']);
+                $html->set('country', $aPlayer['country']);
 
-			$html->pack('players');
-		}
+            $html->pack('players');
+        }
 
-		sys::outjs(array('s' => isset($html->arr['players']) ? $html->arr['players'] : ''));
-	}
+        sys::outjs(array('s' => isset($html->arr['players']) ? $html->arr['players'] : ''));
+    }
 
-	$html->nav('Список подключенных серверов', $cfg['http'].'control');
-	$html->nav('Список игровых серверов #'.$id, $cfg['http'].'control/id/'.$id);
-	$html->nav($server['address'], $cfg['http'].'control/id/'.$id.'/server/'.$sid);
+    $html->nav('Список подключенных серверов', $cfg['http'].'control');
+    $html->nav('Список игровых серверов #'.$id, $cfg['http'].'control/id/'.$id);
+    $html->nav($server['address'], $cfg['http'].'control/id/'.$id.'/server/'.$sid);
     $html->nav('Rcon управление игроками');
 
-	$html->get('rcon', 'sections/control/servers/'.$server['game']);
+    $html->get('rcon', 'sections/control/servers/'.$server['game']);
 
-		$html->set('id', $id);
-		$html->set('server', $sid);
+        $html->set('id', $id);
+        $html->set('server', $sid);
 
-	$html->pack('main');
+    $html->pack('main');
 ?>

+ 60 - 60
system/sections/control/servers/cs/settings.php

@@ -1,63 +1,63 @@
 <?php
     if(!DEFINED('EGP'))
-		exit(header('Refresh: 0; URL=http://'.$_SERVER['SERVER_NAME'].'/404'));
-
-	$sql->query('SELECT `uid`, `pack` FROM `control_servers` WHERE `id`="'.$sid.'" LIMIT 1');
-	$server = array_merge($server, $sql->get());
-
-	$html->nav('Список подключенных серверов', $cfg['http'].'control');
-	$html->nav('Список игровых серверов #'.$id, $cfg['http'].'control/id/'.$id);
-	$html->nav($server['address'], $cfg['http'].'control/id/'.$id.'/server/'.$sid);
-
-	$aSub = array('start', 'server', 'admins', 'bans', 'firewall', 'crontab', 'startlogs', 'debug', 'logs', 'amxlogs', 'pack', 'file');
-
-	// Если выбран подраздел
-	if(isset($url['subsection']) AND in_array($url['subsection'], $aSub))
-	{
-		$html->nav('Настройки', $cfg['http'].'control/id/'.$id.'/server/'.$sid.'/section/settings');
-
-		if($go)
-			$nmch = sys::rep_act('ctrl_server_settings_go_'.$id, 10);
-
-		if(in_array($url['subsection'], $aRouteSub['settings']))
-			include(SEC.'control/servers/games/settings/'.$url['subsection'].'.php');
-		else
-			include(SEC.'control/servers/'.$server['game'].'/settings/'.$url['subsection'].'.php');
-	}else{
-		$html->nav('Настройки');
-
-		if($mcache->get('ctrl_server_settings_'.$sid) != '')
-			$html->arr['main'] = $mcache->get('ctrl_server_settings_'.$sid);
-		else{
-			$aEditslist = 1;
-			$ctrlmod = true;
-			include(DATA.'filedits.php');
-
-			// Построение списка доступных сборок
-			$aPacks = $cfg['control_packs'][$server['game']];
-
-			$packs = '<option value="'.$server['pack'].'">'.$aPacks[$server['pack']].'</option>';
-			unset($aPacks[$server['pack']]);
-
-			foreach($aPacks as $pack => $desc)
-				$packs .= '<option value="'.$pack.'">'.$desc.'</option>';
-
-			include(SEC.'control/servers/'.$server['game'].'/settings/start.php');
-
-			$html->get('settings', 'sections/control/servers/'.$server['game']);
-				$html->set('id', $id);
-				$html->set('server', $sid);
-				$html->set('packs', $packs);
-				$html->set('start', $html->arr['start']);
-				if(isset($html->arr['edits']))
-				{
-					$html->set('edits', $html->arr['edits']);
-					$html->unit('edits', 1);
-				}else
-					$html->unit('edits');
-			$html->pack('main');
-
-			$mcache->set('ctrl_server_settings_'.$sid, $html->arr['main'], false, 20);
-		}
-	}
+        exit(header('Refresh: 0; URL=http://'.$_SERVER['SERVER_NAME'].'/404'));
+
+    $sql->query('SELECT `uid`, `pack` FROM `control_servers` WHERE `id`="'.$sid.'" LIMIT 1');
+    $server = array_merge($server, $sql->get());
+
+    $html->nav('Список подключенных серверов', $cfg['http'].'control');
+    $html->nav('Список игровых серверов #'.$id, $cfg['http'].'control/id/'.$id);
+    $html->nav($server['address'], $cfg['http'].'control/id/'.$id.'/server/'.$sid);
+
+    $aSub = array('start', 'server', 'admins', 'bans', 'firewall', 'crontab', 'startlogs', 'debug', 'logs', 'amxlogs', 'pack', 'file');
+
+    // Если выбран подраздел
+    if(isset($url['subsection']) AND in_array($url['subsection'], $aSub))
+    {
+        $html->nav('Настройки', $cfg['http'].'control/id/'.$id.'/server/'.$sid.'/section/settings');
+
+        if($go)
+            $nmch = sys::rep_act('ctrl_server_settings_go_'.$id, 10);
+
+        if(in_array($url['subsection'], $aRouteSub['settings']))
+            include(SEC.'control/servers/games/settings/'.$url['subsection'].'.php');
+        else
+            include(SEC.'control/servers/'.$server['game'].'/settings/'.$url['subsection'].'.php');
+    }else{
+        $html->nav('Настройки');
+
+        if($mcache->get('ctrl_server_settings_'.$sid) != '')
+            $html->arr['main'] = $mcache->get('ctrl_server_settings_'.$sid);
+        else{
+            $aEditslist = 1;
+            $ctrlmod = true;
+            include(DATA.'filedits.php');
+
+            // Построение списка доступных сборок
+            $aPacks = $cfg['control_packs'][$server['game']];
+
+            $packs = '<option value="'.$server['pack'].'">'.$aPacks[$server['pack']].'</option>';
+            unset($aPacks[$server['pack']]);
+
+            foreach($aPacks as $pack => $desc)
+                $packs .= '<option value="'.$pack.'">'.$desc.'</option>';
+
+            include(SEC.'control/servers/'.$server['game'].'/settings/start.php');
+
+            $html->get('settings', 'sections/control/servers/'.$server['game']);
+                $html->set('id', $id);
+                $html->set('server', $sid);
+                $html->set('packs', $packs);
+                $html->set('start', $html->arr['start']);
+                if(isset($html->arr['edits']))
+                {
+                    $html->set('edits', $html->arr['edits']);
+                    $html->unit('edits', 1);
+                }else
+                    $html->unit('edits');
+            $html->pack('main');
+
+            $mcache->set('ctrl_server_settings_'.$sid, $html->arr['main'], false, 20);
+        }
+    }
 ?>

+ 96 - 96
system/sections/control/servers/cs/settings/admins.php

@@ -1,134 +1,134 @@
 <?php
     if(!DEFINED('EGP'))
-		exit(header('Refresh: 0; URL=http://'.$_SERVER['SERVER_NAME'].'/404'));
+        exit(header('Refresh: 0; URL=http://'.$_SERVER['SERVER_NAME'].'/404'));
 
     $html->nav('Управление администраторами');
 
-	if($go)
-	{
-		$sql->query('SELECT `address`, `passwd` FROM `control` WHERE `id`="'.$id.'" LIMIT 1');
-		$unit = $sql->get();
+    if($go)
+    {
+        $sql->query('SELECT `address`, `passwd` FROM `control` WHERE `id`="'.$id.'" LIMIT 1');
+        $unit = $sql->get();
 
-		include(LIB.'ssh.php');
+        include(LIB.'ssh.php');
 
-		if(!$ssh->auth($unit['passwd'], $unit['address']))
-			sys::outjs(array('e' => sys::text('error', 'ssh')), $nmch);
+        if(!$ssh->auth($unit['passwd'], $unit['address']))
+            sys::outjs(array('e' => sys::text('error', 'ssh')), $nmch);
 
-		$aData = array();
+        $aData = array();
 
-		$aData['active'] = isset($_POST['active']) ? $_POST['active'] : '';
-		$aData['value'] = isset($_POST['value']) ? $_POST['value'] : '';
-		$aData['passwd'] = isset($_POST['passwd']) ? $_POST['passwd'] : '';
-		$aData['flags'] = isset($_POST['flags']) ? $_POST['flags'] : '';
-		$aData['type'] = isset($_POST['type']) ? $_POST['type'] : '';
-		$aData['time'] = isset($_POST['time']) ? $_POST['time'] : '';
-		$aData['info'] = isset($_POST['info']) ? $_POST['info'] : '';
+        $aData['active'] = isset($_POST['active']) ? $_POST['active'] : '';
+        $aData['value'] = isset($_POST['value']) ? $_POST['value'] : '';
+        $aData['passwd'] = isset($_POST['passwd']) ? $_POST['passwd'] : '';
+        $aData['flags'] = isset($_POST['flags']) ? $_POST['flags'] : '';
+        $aData['type'] = isset($_POST['type']) ? $_POST['type'] : '';
+        $aData['time'] = isset($_POST['time']) ? $_POST['time'] : '';
+        $aData['info'] = isset($_POST['info']) ? $_POST['info'] : '';
 
-		// Удаление текущих записей
-		$sql->query('DELETE FROM `control_admins_'.$server['game'].'` WHERE `server`="'.$sid.'"');
+        // Удаление текущих записей
+        $sql->query('DELETE FROM `control_admins_'.$server['game'].'` WHERE `server`="'.$sid.'"');
 
-		$usini = '';
+        $usini = '';
 
-		foreach($aData['value'] as $index => $val)
-		{
-			if($val != '')
-			{
-				$type = isset($aData['type'][$index]) ? $aData['type'][$index] : 'a';
-				if(!in_array($type, array('c', 'ce', 'de', 'a')))
-					$type = 'a';
+        foreach($aData['value'] as $index => $val)
+        {
+            if($val != '')
+            {
+                $type = isset($aData['type'][$index]) ? $aData['type'][$index] : 'a';
+                if(!in_array($type, array('c', 'ce', 'de', 'a')))
+                    $type = 'a';
 
-				$aDate = isset($aData['time'][$index]) ? explode('.', $aData['time'][$index]) : explode('.', date('d.m.Y', $start_point));
+                $aDate = isset($aData['time'][$index]) ? explode('.', $aData['time'][$index]) : explode('.', date('d.m.Y', $start_point));
 
-				if(!isset($aDate[1], $aDate[0], $aDate[2]) || !checkdate($aDate[1], $aDate[0], $aDate[2]))
-					$aDate = explode('.', date('d.m.Y', $start_point));
+                if(!isset($aDate[1], $aDate[0], $aDate[2]) || !checkdate($aDate[1], $aDate[0], $aDate[2]))
+                    $aDate = explode('.', date('d.m.Y', $start_point));
 
-				$time = mktime(0, 0, 0, $aDate[1], $aDate[0], $aDate[2]);
+                $time = mktime(0, 0, 0, $aDate[1], $aDate[0], $aDate[2]);
 
-				$aData['active'][$index] = isset($aData['active'][$index]) ? 1 : 0;
-				$aData['passwd'][$index] = isset($aData['passwd'][$index]) ? $aData['passwd'][$index] : '';
-				$aData['flags'][$index] = isset($aData['flags'][$index]) ? $aData['flags'][$index] : '';
-				$aData['info'][$index] = isset($aData['info'][$index]) ? $aData['info'][$index] : '';
+                $aData['active'][$index] = isset($aData['active'][$index]) ? 1 : 0;
+                $aData['passwd'][$index] = isset($aData['passwd'][$index]) ? $aData['passwd'][$index] : '';
+                $aData['flags'][$index] = isset($aData['flags'][$index]) ? $aData['flags'][$index] : '';
+                $aData['info'][$index] = isset($aData['info'][$index]) ? $aData['info'][$index] : '';
 
-				$text = '"'.$val.'" "'.$aData['passwd'][$index].'" "'.$aData['flags'][$index].'" "'.$type.'"';
+                $text = '"'.$val.'" "'.$aData['passwd'][$index].'" "'.$aData['flags'][$index].'" "'.$type.'"';
 
-				$sql->query('INSERT INTO `control_admins_'.$server['game'].'` set'
-					.'`server`="'.$sid.'",'
-					.'`value`="'.htmlspecialchars($val).'",'
-					.'`active`="'.$aData['active'][$index].'",'
-					.'`passwd`="'.htmlspecialchars($aData['passwd'][$index]).'",'
-					.'`flags`="'.htmlspecialchars($aData['flags'][$index]).'",'
-					.'`type`="'.$type.'",'
-					.'`time`="'.$time.'",'
-					.'`text`="'.htmlspecialchars($text).'",'
-					.'`info`="'.htmlspecialchars($aData['info'][$index]).'"');
+                $sql->query('INSERT INTO `control_admins_'.$server['game'].'` set'
+                    .'`server`="'.$sid.'",'
+                    .'`value`="'.htmlspecialchars($val).'",'
+                    .'`active`="'.$aData['active'][$index].'",'
+                    .'`passwd`="'.htmlspecialchars($aData['passwd'][$index]).'",'
+                    .'`flags`="'.htmlspecialchars($aData['flags'][$index]).'",'
+                    .'`type`="'.$type.'",'
+                    .'`time`="'.$time.'",'
+                    .'`text`="'.htmlspecialchars($text).'",'
+                    .'`info`="'.htmlspecialchars($aData['info'][$index]).'"');
 
-				if($aData['active'][$index])
-					$usini .= $text.PHP_EOL;
-			}
-		}
+                if($aData['active'][$index])
+                    $usini .= $text.PHP_EOL;
+            }
+        }
 
-		$temp = sys::temp($usini);
+        $temp = sys::temp($usini);
 
-		$ssh->setfile($temp, '/servers/'.$server['uid'].'/cstrike/addons/amxmodx/configs/users.ini', 0644);
+        $ssh->setfile($temp, '/servers/'.$server['uid'].'/cstrike/addons/amxmodx/configs/users.ini', 0644);
 
-		unlink($temp);
+        unlink($temp);
 
-		$ssh->set('chown server'.$server['uid'].':servers /servers/'.$server['uid'].'/cstrike/addons/amxmodx/configs/users.ini');
+        $ssh->set('chown server'.$server['uid'].':servers /servers/'.$server['uid'].'/cstrike/addons/amxmodx/configs/users.ini');
 
-		$ssh->set("sudo -u server".$server['uid']." screen -p 0 -S s_".$server['uid']." -X eval 'stuff \"amx_reloadadmins\"\015'");
+        $ssh->set("sudo -u server".$server['uid']." screen -p 0 -S s_".$server['uid']." -X eval 'stuff \"amx_reloadadmins\"\015'");
 
-		sys::outjs(array('s' => 'ok'), $nmch);
-	}
+        sys::outjs(array('s' => 'ok'), $nmch);
+    }
 
-	// Построение списка добавленных админов
-	$sql->query('SELECT `id`, `value`, `active`, `passwd`, `flags`, `type`, `time`, `info` FROM `control_admins_'.$server['game'].'` WHERE `server`="'.$sid.'" ORDER BY `id` ASC');
-	while($admin = $sql->get())
-	{
-		switch($admin['type'])
-		{
-			case 'c':
-				$type = '<option value="c">SteamID/Пароль</option><option value="a">Ник/Пароль</option><option value="ce">SteamID</option><option value="de">IP Адрес</option>';
-			break;
+    // Построение списка добавленных админов
+    $sql->query('SELECT `id`, `value`, `active`, `passwd`, `flags`, `type`, `time`, `info` FROM `control_admins_'.$server['game'].'` WHERE `server`="'.$sid.'" ORDER BY `id` ASC');
+    while($admin = $sql->get())
+    {
+        switch($admin['type'])
+        {
+            case 'c':
+                $type = '<option value="c">SteamID/Пароль</option><option value="a">Ник/Пароль</option><option value="ce">SteamID</option><option value="de">IP Адрес</option>';
+            break;
 
-			case 'ce':
-				$type = '<option value="ce">SteamID</option><option value="a">Ник/Пароль</option><option value="c">SteamID/Пароль</option><option value="de">IP Адрес</option>';
-			break;
+            case 'ce':
+                $type = '<option value="ce">SteamID</option><option value="a">Ник/Пароль</option><option value="c">SteamID/Пароль</option><option value="de">IP Адрес</option>';
+            break;
 
-			case 'de':
-				$type = '<option value="de">IP Адрес</option><option value="a">Ник/Пароль</option><option value="c">SteamID/Пароль</option><option value="ce">SteamID</option>';
-			break;
+            case 'de':
+                $type = '<option value="de">IP Адрес</option><option value="a">Ник/Пароль</option><option value="c">SteamID/Пароль</option><option value="ce">SteamID</option>';
+            break;
 
-			default:
-				$type = '<option value="a">Ник/Пароль</option><option value="c">SteamID/Пароль</option><option value="ce">SteamID</option><option value="de">IP Адрес</option>';
-		}
+            default:
+                $type = '<option value="a">Ник/Пароль</option><option value="c">SteamID/Пароль</option><option value="ce">SteamID</option><option value="de">IP Адрес</option>';
+        }
 
-		$html->get('list', 'sections/control/servers/'.$server['game'].'/settings/admins');
+        $html->get('list', 'sections/control/servers/'.$server['game'].'/settings/admins');
 
-			if($admin['active'])
-				$html->unit('active', 1);
-			else
-				$html->unit('active');
+            if($admin['active'])
+                $html->unit('active', 1);
+            else
+                $html->unit('active');
 
-			$html->set('id', $admin['id']);
-			$html->set('value', $admin['value']);
-			$html->set('passwd', $admin['passwd']);
-			$html->set('flags', $admin['flags']);
-			$html->set('type', $type);
-			$html->set('time', date('d.m.y', $admin['time']));
-			$html->set('info', $admin['info']);
+            $html->set('id', $admin['id']);
+            $html->set('value', $admin['value']);
+            $html->set('passwd', $admin['passwd']);
+            $html->set('flags', $admin['flags']);
+            $html->set('type', $type);
+            $html->set('time', date('d.m.y', $admin['time']));
+            $html->set('info', $admin['info']);
 
-		$html->pack('admins');
-	}
+        $html->pack('admins');
+    }
 
-	$sql->query('SELECT `id` FROM `control_admins_'.$server['game'].'` WHERE `server`="'.$sid.'" ORDER BY `id` DESC LIMIT 1');
-	$max = $sql->get();
+    $sql->query('SELECT `id` FROM `control_admins_'.$server['game'].'` WHERE `server`="'.$sid.'" ORDER BY `id` DESC LIMIT 1');
+    $max = $sql->get();
 
-	$html->get('admins', 'sections/control/servers/'.$server['game'].'/settings');
+    $html->get('admins', 'sections/control/servers/'.$server['game'].'/settings');
 
-		$html->set('id', $id);
-		$html->set('server', $sid);
-		$html->set('admins', isset($html->arr['admins']) ? $html->arr['admins'] : '');
-		$html->set('index', $max['id'] < 1 ? 0 : $max['id']);
+        $html->set('id', $id);
+        $html->set('server', $sid);
+        $html->set('admins', isset($html->arr['admins']) ? $html->arr['admins'] : '');
+        $html->set('index', $max['id'] < 1 ? 0 : $max['id']);
 
-	$html->pack('main');
+    $html->pack('main');
 ?>

+ 60 - 60
system/sections/control/servers/cs/settings/amxlogs.php

@@ -1,89 +1,89 @@
 <?php
     if(!DEFINED('EGP'))
-		exit(header('Refresh: 0; URL=http://'.$_SERVER['SERVER_NAME'].'/404'));
+        exit(header('Refresh: 0; URL=http://'.$_SERVER['SERVER_NAME'].'/404'));
 
     $html->nav('Логи AMX');
 
-	$sql->query('SELECT `address`, `passwd` FROM `control` WHERE `id`="'.$id.'" LIMIT 1');
-	$unit = $sql->get();
+    $sql->query('SELECT `address`, `passwd` FROM `control` WHERE `id`="'.$id.'" LIMIT 1');
+    $unit = $sql->get();
 
-	include(LIB.'ssh.php');
+    include(LIB.'ssh.php');
 
-	if(!$ssh->auth($unit['passwd'], $unit['address']))
-		sys::back($cfg['http'].'control/id/'.$id.'/server/'.$sid.'/section/settings');
+    if(!$ssh->auth($unit['passwd'], $unit['address']))
+        sys::back($cfg['http'].'control/id/'.$id.'/server/'.$sid.'/section/settings');
 
-	// Путь к логам
-	$folder = '/servers/'.$server['uid'].'/cstrike/addons/amxmodx/logs';
+    // Путь к логам
+    $folder = '/servers/'.$server['uid'].'/cstrike/addons/amxmodx/logs';
 
-	// Если выбран лог
-	if(isset($url['log']))
-	{
-		if(sys::valid($url['log'], 'other', $aValid['csamxlogs']))
-			sys::back($cfg['http'].'control/id/'.$id.'/server/'.$sid.'/section/settings/subsection/amxlogs');
+    // Если выбран лог
+    if(isset($url['log']))
+    {
+        if(sys::valid($url['log'], 'other', $aValid['csamxlogs']))
+            sys::back($cfg['http'].'control/id/'.$id.'/server/'.$sid.'/section/settings/subsection/amxlogs');
 
-		$ssh->set('sudo -u server'.$server['uid'].' cat '.$folder.'/'.$url['log']);
+        $ssh->set('sudo -u server'.$server['uid'].' cat '.$folder.'/'.$url['log']);
 
-		$html->get('view', 'sections/control/servers/games/settings/logs');
+        $html->get('view', 'sections/control/servers/games/settings/logs');
 
-				$html->set('id', $id);
-				$html->set('server', $sid);
-				$html->set('name', $url['log']);
-				$html->set('log', htmlspecialchars($ssh->get()));
-				$html->set('uri', 'amxlogs');
+                $html->set('id', $id);
+                $html->set('server', $sid);
+                $html->set('name', $url['log']);
+                $html->set('log', htmlspecialchars($ssh->get()));
+                $html->set('uri', 'amxlogs');
 
-		$html->pack('main');
-	}else{
-		if(isset($url['delall']))
-		{
-			$ssh->set('cd '.$folder.' && rm *.log');
+        $html->pack('main');
+    }else{
+        if(isset($url['delall']))
+        {
+            $ssh->set('cd '.$folder.' && rm *.log');
 
-			sys::back($cfg['http'].'control/id/'.$id.'/server/'.$sid.'/section/settings/subsection/amxlogs');
-		}
+            sys::back($cfg['http'].'control/id/'.$id.'/server/'.$sid.'/section/settings/subsection/amxlogs');
+        }
 
-		$ssh->set('cd '.$folder.' && du -ab --time | grep -e .log$ | awk \'{print $2" "$3"@"$1"@"$4}\' | sort -Mr');
+        $ssh->set('cd '.$folder.' && du -ab --time | grep -e .log$ | awk \'{print $2" "$3"@"$1"@"$4}\' | sort -Mr');
 
-		// Массив данных
-		$aData = explode("\n", $ssh->get());
+        // Массив данных
+        $aData = explode("\n", $ssh->get());
 
-		if(isset($aData[count($aData)-1]))
-			unset($aData[count($aData)-1]);
+        if(isset($aData[count($aData)-1]))
+            unset($aData[count($aData)-1]);
 
-		// Построение списка
-		foreach($aData as $line => $log)
-		{
-			$aLog = explode('@', $log);
+        // Построение списка
+        foreach($aData as $line => $log)
+        {
+            $aLog = explode('@', $log);
 
-			// Название
-			$name = explode('/', $aLog[2]);
+            // Название
+            $name = explode('/', $aLog[2]);
 
-			if(count($name) > 2)
-				continue;
+            if(count($name) > 2)
+                continue;
 
-			// Дата
-			$date = sys::unidate($aLog[0]);
+            // Дата
+            $date = sys::unidate($aLog[0]);
 
-			// Вес
-			$size = sys::size($aLog[1]);
+            // Вес
+            $size = sys::size($aLog[1]);
 
-			$html->get('list', 'sections/control/servers/games/settings/logs');
+            $html->get('list', 'sections/control/servers/games/settings/logs');
 
-				$html->set('id', $id);
-				$html->set('server', $sid);
-				$html->set('name', end($name));
-				$html->set('uri', 'amxlogs/log/'.end($name));
-				$html->set('date', $date);
-				$html->set('size', $size);
+                $html->set('id', $id);
+                $html->set('server', $sid);
+                $html->set('name', end($name));
+                $html->set('uri', 'amxlogs/log/'.end($name));
+                $html->set('date', $date);
+                $html->set('size', $size);
 
-			$html->pack('logs');
-		}
+            $html->pack('logs');
+        }
 
-		$html->get('logs', 'sections/control/servers/games/settings');
+        $html->get('logs', 'sections/control/servers/games/settings');
 
-			$html->set('id', $id);
-			$html->set('server', $sid);
-			$html->set('uri', 'amx');
-			$html->set('logs', isset($html->arr['logs']) ? $html->arr['logs'] : '');
+            $html->set('id', $id);
+            $html->set('server', $sid);
+            $html->set('uri', 'amx');
+            $html->set('logs', isset($html->arr['logs']) ? $html->arr['logs'] : '');
 
-		$html->pack('main');
-	}
+        $html->pack('main');
+    }
 ?>

+ 159 - 159
system/sections/control/servers/cs/settings/bans.php

@@ -1,165 +1,165 @@
 <?php
     if(!DEFINED('EGP'))
-		exit(header('Refresh: 0; URL=http://'.$_SERVER['SERVER_NAME'].'/404'));
+        exit(header('Refresh: 0; URL=http://'.$_SERVER['SERVER_NAME'].'/404'));
 
     $html->nav('Бан листы');
 
-	$sql->query('SELECT `address`, `passwd` FROM `control` WHERE `id`="'.$id.'" LIMIT 1');
-	$unit = $sql->get();
-
-	include(LIB.'ssh.php');
-
-	if(!$ssh->auth($unit['passwd'], $unit['address']))
-		sys::back($cfg['http'].'control/id/'.$id.'/server/'.$sid.'/section/settings');
-
-	// Путь к файлам (banned.cfg / listip.cfg)
-	$folder = '/servers/'.$server['uid'].'/cstrike';
-
-	// Если бан/разбан/проверка
-	if($go)
-	{
-		$aData = array();
-		
-		$aData['value'] = isset($_POST['value']) ? trim($_POST['value']) : sys::outjs(array('e' => sys::text('servers', 'bans')), $nmch);
-		$aData['amxbans'] = isset($_POST['amxbans']) ? true : false;
-
-		// Проверка входных данных
-		if(sys::valid($aData['value'], 'steamid') AND sys::valid($aData['value'], 'ip'))
-			sys::outjs(array('e' => sys::text('servers', 'bans')), $nmch);
-
-		// Если указан steamid
-		if(sys::valid($aData['value'], 'ip'))
-		{
-			// бан
-			if(isset($url['action']) AND $url['action'] == 'ban')
-			{
-				// Если включен amxbans/csbans
-				if($aData['amxbans'])
-				{
-					$ssh->set("sudo -u server".$server['uid']." screen -p 0 -S s_".$server['uid']." -X eval 'stuff \"amx_ban 0 ".$aData['value']." EGP\"\015'");
-					$ssh->set("sudo -u server".$server['uid']." screen -p 0 -S s_".$server['uid']." -X eval 'stuff \"fb_ban 0 ".$aData['value']." EGP\"\015'");
-				}else
-					$ssh->set("sudo -u server".$server['uid']." screen -p 0 -S s_".$server['uid']." -X eval 'stuff \"banid 0.0 ".$aData['value']." kick\"\015'");
-
-				$ssh->set('cd '.$folder.' && sudo -u server'.$server['uid'].' fgrep '.$aData['value'].' banned.cfg | awk \'{print $3}\'');
-
-				if($aData['value'] != trim($ssh->get()))
-					$ssh->set('sudo -u server'.$server['uid'].' sh -c "echo \"banid 0.0 '.$aData['value'].'\" >> '.$folder.'/banned.cfg"');
-
-				sys::outjs(array('s' => 'ok'), $nmch);
-
-			// разбан
-			}elseif(isset($url['action']) AND $url['action'] == 'unban'){
-				// Убираем запись из banned.cfg
-				$ssh->set('cd '.$folder.' && sudo -u server'.$server['uid'].' sh -c "cat banned.cfg | grep -v '.$aData['value'].' > temp_banned.cfg; echo "" >> temp_banned.cfg && cat temp_banned.cfg > banned.cfg; rm temp_banned.cfg"');
-
-				// Если включен amxbans/csbans
-				if($aData['amxbans'])
-				{
-					$ssh->set("sudo -u server".$server['uid']." screen -p 0 -S s_".$server['uid']." -X eval 'stuff \"amx_unban ".$aData['value']."\"\015'");
-					$ssh->set("sudo -u server".$server['uid']." screen -p 0 -S s_".$server['uid']." -X eval 'stuff \"fb_unban ".$aData['value']."\"\015'");
-				}else{
-					$ssh->set("sudo -u server".$server['uid']." screen -p 0 -S s_".$server['uid']." -X eval 'stuff \"removeid ".$aData['value']."\"\015'");
-					$ssh->set("sudo -u server".$server['uid']." screen -p 0 -S s_".$server['uid']." -X eval 'stuff \"writeid\"\015'");
-				}
-
-				sys::outjs(array('s' => 'ok'), $nmch);
-			// проверка
-			}else{
-				$ssh->set('cd '.$folder.' && sudo -u server'.$server['uid'].' fgrep '.$aData['value'].' banned.cfg | awk \'{print $3}\'');
-
-				if($aData['value'] == trim($ssh->get()))
-					sys::outjs(array('ban' => 'Данный SteamID <u>найден</u> в файле banned.cfg'), $nmch);
-
-				sys::outjs(array('unban' => 'Данный SteamID <u>не найден</u> в файле banned.cfg'), $nmch);
-			}
-		}else{
-			// бан
-			if(isset($url['action']) AND $url['action'] == 'ban')
-			{
-				// Если включен amxbans/csbans
-				if($aData['amxbans'])
-				{
-					$ssh->set("sudo -u server".$server['uid']." screen -p 0 -S s_".$server['uid']." -X eval 'stuff \"amx_ban 0 ".$aData['value']." EGP\"\015'");
-					$ssh->set("sudo -u server".$server['uid']." screen -p 0 -S s_".$server['uid']." -X eval 'stuff \"fb_ban 0 ".$aData['value']." EGP\"\015'");
-				}else
-					$ssh->set("sudo -u server".$server['uid']." screen -p 0 -S s_".$server['uid']." -X eval 'stuff \"addip 0.0 ".$aData['value']." EGP\"\015'");
-
-				$ssh->set('cd '.$folder.' && sudo -u server'.$server['uid'].' fgrep '.$aData['value'].' listip.cfg | awk \'{print $3}\'');
-
-				if($aData['value'] != trim($ssh->get()))
-					$ssh->set('sudo -u server'.$server['uid'].' sh -c "echo \"addip 0.0 '.$aData['value'].'\" >> '.$folder.'/listip.cfg"');
-
-				sys::outjs(array('s' => 'ok'), $nmch);
-
-			// разбан	
-			}elseif(isset($url['action']) AND $url['action'] == 'unban'){
-				// Убираем запись из listip.cfg
-				$ssh->set('cd '.$folder.' && sudo -u server'.$server['uid'].' sh -c "cat listip.cfg | grep -v '.$aData['value'].' > temp_listip.cfg; echo "" >> temp_listip.cfg && cat temp_listip.cfg > listip.cfg; rm temp_listip.cfg"');
-
-				// Если включен amxbans/csbans
-				if($aData['amxbans'])
-				{
-					$ssh->set("sudo -u server".$server['uid']." screen -p 0 -S s_".$server['uid']." -X eval 'stuff \"amx_unban ".$aData['value']."\"\015'");
-					$ssh->set("sudo -u server".$server['uid']." screen -p 0 -S s_".$server['uid']." -X eval 'stuff \"fb_unban ".$aData['value']."\"\015'");
-				}else{
-					$ssh->set("sudo -u server".$server['uid']." screen -p 0 -S s_".$server['uid']." -X eval 'stuff \"removeip ".$aData['value']."\"\015'");
-					$ssh->set("sudo -u server".$server['uid']." screen -p 0 -S s_".$server['uid']." -X eval 'stuff \"writeip\"\015'");
-				}
-
-				sys::outjs(array('s' => 'ok'), $nmch);
-			// проверка
-			}else{
-				$ssh->set('cd '.$folder.' && sudo -u server'.$server['uid'].' fgrep '.$aData['value'].' listip.cfg | awk \'{print $3}\'');
-
-				if($aData['value'] == trim($ssh->get()))
-					sys::outjs(array('ban' => 'Данный IP <u>найден</u> в файле listip.cfg'), $nmch);
-
-				sys::outjs(array('unban' => 'Данный IP <u>не найден</u> в файле listip.cfg'), $nmch);
-			}
-		}
-	}
-
-	// Содержимое banned.cfg
-	$ssh->set('cd '.$folder.' && cat banned.cfg | awk \'{print $3}\' | grep STEAM_');
-	$aBanned = explode("\n", $ssh->get());
-
-	// Содержимое listip.cfg
-	$ssh->set('cd '.$folder.' && cat listip.cfg | awk \'{print $3}\' | egrep "(25[0-5]|2[0-4][0-9]|[0-1][0-9]{2}|[0-9]{2}|[0-9])(\.(25[0-5]|2[0-4][0-9]|[0-1][0-9]{2}|[0-9]{2}|[0-9])){3}"');
-	$aListip = explode("\n", $ssh->get());
-
-	if(isset($aBanned[count($aBanned)-1]) AND $aBanned[count($aBanned)-1] == '')
-		unset($aBanned[count($aBanned)-1]);
-
-	if(isset($aListip[count($aListip)-1]) AND $aListip[count($aListip)-1] == '')
-		unset($aListip[count($aListip)-1]);
-
-	// Построение списка забаненых по steamid
-	foreach($aBanned as $line => $steam)
-	{
-		$html->get('bans_list', 'sections/control/servers/games/settings');
-
-			$html->set('value', trim($steam));
-
-		$html->pack('banned');
-	}
-
-	// Построение списка забаненых по ip
-	foreach($aListip as $line => $ip)
-	{
-		$html->get('bans_list', 'sections/control/servers/games/settings');
-
-			$html->set('value', trim($ip));
-
-		$html->pack('listip');
-	}
-
-	$html->get('bans', 'sections/control/servers/'.$server['game'].'/settings');
-
-		$html->set('id', $id);
-		$html->set('server', $sid);
-		$html->set('banned', isset($html->arr['banned']) ? $html->arr['banned'] : '');
-		$html->set('listip', isset($html->arr['listip']) ? $html->arr['listip'] : '');
-
-	$html->pack('main');
+    $sql->query('SELECT `address`, `passwd` FROM `control` WHERE `id`="'.$id.'" LIMIT 1');
+    $unit = $sql->get();
+
+    include(LIB.'ssh.php');
+
+    if(!$ssh->auth($unit['passwd'], $unit['address']))
+        sys::back($cfg['http'].'control/id/'.$id.'/server/'.$sid.'/section/settings');
+
+    // Путь к файлам (banned.cfg / listip.cfg)
+    $folder = '/servers/'.$server['uid'].'/cstrike';
+
+    // Если бан/разбан/проверка
+    if($go)
+    {
+        $aData = array();
+        
+        $aData['value'] = isset($_POST['value']) ? trim($_POST['value']) : sys::outjs(array('e' => sys::text('servers', 'bans')), $nmch);
+        $aData['amxbans'] = isset($_POST['amxbans']) ? true : false;
+
+        // Проверка входных данных
+        if(sys::valid($aData['value'], 'steamid') AND sys::valid($aData['value'], 'ip'))
+            sys::outjs(array('e' => sys::text('servers', 'bans')), $nmch);
+
+        // Если указан steamid
+        if(sys::valid($aData['value'], 'ip'))
+        {
+            // бан
+            if(isset($url['action']) AND $url['action'] == 'ban')
+            {
+                // Если включен amxbans/csbans
+                if($aData['amxbans'])
+                {
+                    $ssh->set("sudo -u server".$server['uid']." screen -p 0 -S s_".$server['uid']." -X eval 'stuff \"amx_ban 0 ".$aData['value']." EGP\"\015'");
+                    $ssh->set("sudo -u server".$server['uid']." screen -p 0 -S s_".$server['uid']." -X eval 'stuff \"fb_ban 0 ".$aData['value']." EGP\"\015'");
+                }else
+                    $ssh->set("sudo -u server".$server['uid']." screen -p 0 -S s_".$server['uid']." -X eval 'stuff \"banid 0.0 ".$aData['value']." kick\"\015'");
+
+                $ssh->set('cd '.$folder.' && sudo -u server'.$server['uid'].' fgrep '.$aData['value'].' banned.cfg | awk \'{print $3}\'');
+
+                if($aData['value'] != trim($ssh->get()))
+                    $ssh->set('sudo -u server'.$server['uid'].' sh -c "echo \"banid 0.0 '.$aData['value'].'\" >> '.$folder.'/banned.cfg"');
+
+                sys::outjs(array('s' => 'ok'), $nmch);
+
+            // разбан
+            }elseif(isset($url['action']) AND $url['action'] == 'unban'){
+                // Убираем запись из banned.cfg
+                $ssh->set('cd '.$folder.' && sudo -u server'.$server['uid'].' sh -c "cat banned.cfg | grep -v '.$aData['value'].' > temp_banned.cfg; echo "" >> temp_banned.cfg && cat temp_banned.cfg > banned.cfg; rm temp_banned.cfg"');
+
+                // Если включен amxbans/csbans
+                if($aData['amxbans'])
+                {
+                    $ssh->set("sudo -u server".$server['uid']." screen -p 0 -S s_".$server['uid']." -X eval 'stuff \"amx_unban ".$aData['value']."\"\015'");
+                    $ssh->set("sudo -u server".$server['uid']." screen -p 0 -S s_".$server['uid']." -X eval 'stuff \"fb_unban ".$aData['value']."\"\015'");
+                }else{
+                    $ssh->set("sudo -u server".$server['uid']." screen -p 0 -S s_".$server['uid']." -X eval 'stuff \"removeid ".$aData['value']."\"\015'");
+                    $ssh->set("sudo -u server".$server['uid']." screen -p 0 -S s_".$server['uid']." -X eval 'stuff \"writeid\"\015'");
+                }
+
+                sys::outjs(array('s' => 'ok'), $nmch);
+            // проверка
+            }else{
+                $ssh->set('cd '.$folder.' && sudo -u server'.$server['uid'].' fgrep '.$aData['value'].' banned.cfg | awk \'{print $3}\'');
+
+                if($aData['value'] == trim($ssh->get()))
+                    sys::outjs(array('ban' => 'Данный SteamID <u>найден</u> в файле banned.cfg'), $nmch);
+
+                sys::outjs(array('unban' => 'Данный SteamID <u>не найден</u> в файле banned.cfg'), $nmch);
+            }
+        }else{
+            // бан
+            if(isset($url['action']) AND $url['action'] == 'ban')
+            {
+                // Если включен amxbans/csbans
+                if($aData['amxbans'])
+                {
+                    $ssh->set("sudo -u server".$server['uid']." screen -p 0 -S s_".$server['uid']." -X eval 'stuff \"amx_ban 0 ".$aData['value']." EGP\"\015'");
+                    $ssh->set("sudo -u server".$server['uid']." screen -p 0 -S s_".$server['uid']." -X eval 'stuff \"fb_ban 0 ".$aData['value']." EGP\"\015'");
+                }else
+                    $ssh->set("sudo -u server".$server['uid']." screen -p 0 -S s_".$server['uid']." -X eval 'stuff \"addip 0.0 ".$aData['value']." EGP\"\015'");
+
+                $ssh->set('cd '.$folder.' && sudo -u server'.$server['uid'].' fgrep '.$aData['value'].' listip.cfg | awk \'{print $3}\'');
+
+                if($aData['value'] != trim($ssh->get()))
+                    $ssh->set('sudo -u server'.$server['uid'].' sh -c "echo \"addip 0.0 '.$aData['value'].'\" >> '.$folder.'/listip.cfg"');
+
+                sys::outjs(array('s' => 'ok'), $nmch);
+
+            // разбан   
+            }elseif(isset($url['action']) AND $url['action'] == 'unban'){
+                // Убираем запись из listip.cfg
+                $ssh->set('cd '.$folder.' && sudo -u server'.$server['uid'].' sh -c "cat listip.cfg | grep -v '.$aData['value'].' > temp_listip.cfg; echo "" >> temp_listip.cfg && cat temp_listip.cfg > listip.cfg; rm temp_listip.cfg"');
+
+                // Если включен amxbans/csbans
+                if($aData['amxbans'])
+                {
+                    $ssh->set("sudo -u server".$server['uid']." screen -p 0 -S s_".$server['uid']." -X eval 'stuff \"amx_unban ".$aData['value']."\"\015'");
+                    $ssh->set("sudo -u server".$server['uid']." screen -p 0 -S s_".$server['uid']." -X eval 'stuff \"fb_unban ".$aData['value']."\"\015'");
+                }else{
+                    $ssh->set("sudo -u server".$server['uid']." screen -p 0 -S s_".$server['uid']." -X eval 'stuff \"removeip ".$aData['value']."\"\015'");
+                    $ssh->set("sudo -u server".$server['uid']." screen -p 0 -S s_".$server['uid']." -X eval 'stuff \"writeip\"\015'");
+                }
+
+                sys::outjs(array('s' => 'ok'), $nmch);
+            // проверка
+            }else{
+                $ssh->set('cd '.$folder.' && sudo -u server'.$server['uid'].' fgrep '.$aData['value'].' listip.cfg | awk \'{print $3}\'');
+
+                if($aData['value'] == trim($ssh->get()))
+                    sys::outjs(array('ban' => 'Данный IP <u>найден</u> в файле listip.cfg'), $nmch);
+
+                sys::outjs(array('unban' => 'Данный IP <u>не найден</u> в файле listip.cfg'), $nmch);
+            }
+        }
+    }
+
+    // Содержимое banned.cfg
+    $ssh->set('cd '.$folder.' && cat banned.cfg | awk \'{print $3}\' | grep STEAM_');
+    $aBanned = explode("\n", $ssh->get());
+
+    // Содержимое listip.cfg
+    $ssh->set('cd '.$folder.' && cat listip.cfg | awk \'{print $3}\' | egrep "(25[0-5]|2[0-4][0-9]|[0-1][0-9]{2}|[0-9]{2}|[0-9])(\.(25[0-5]|2[0-4][0-9]|[0-1][0-9]{2}|[0-9]{2}|[0-9])){3}"');
+    $aListip = explode("\n", $ssh->get());
+
+    if(isset($aBanned[count($aBanned)-1]) AND $aBanned[count($aBanned)-1] == '')
+        unset($aBanned[count($aBanned)-1]);
+
+    if(isset($aListip[count($aListip)-1]) AND $aListip[count($aListip)-1] == '')
+        unset($aListip[count($aListip)-1]);
+
+    // Построение списка забаненых по steamid
+    foreach($aBanned as $line => $steam)
+    {
+        $html->get('bans_list', 'sections/control/servers/games/settings');
+
+            $html->set('value', trim($steam));
+
+        $html->pack('banned');
+    }
+
+    // Построение списка забаненых по ip
+    foreach($aListip as $line => $ip)
+    {
+        $html->get('bans_list', 'sections/control/servers/games/settings');
+
+            $html->set('value', trim($ip));
+
+        $html->pack('listip');
+    }
+
+    $html->get('bans', 'sections/control/servers/'.$server['game'].'/settings');
+
+        $html->set('id', $id);
+        $html->set('server', $sid);
+        $html->set('banned', isset($html->arr['banned']) ? $html->arr['banned'] : '');
+        $html->set('listip', isset($html->arr['listip']) ? $html->arr['listip'] : '');
+
+    $html->pack('main');
 ?>

+ 12 - 12
system/sections/control/servers/cs/settings/debug.php

@@ -1,25 +1,25 @@
 <?php
     if(!DEFINED('EGP'))
-		exit(header('Refresh: 0; URL=http://'.$_SERVER['SERVER_NAME'].'/404'));
+        exit(header('Refresh: 0; URL=http://'.$_SERVER['SERVER_NAME'].'/404'));
 
     $html->nav('Отладочный лог');
 
-	$sql->query('SELECT `address`, `passwd` FROM `control` WHERE `id`="'.$id.'" LIMIT 1');
-	$unit = $sql->get();
+    $sql->query('SELECT `address`, `passwd` FROM `control` WHERE `id`="'.$id.'" LIMIT 1');
+    $unit = $sql->get();
 
-	include(LIB.'ssh.php');
+    include(LIB.'ssh.php');
 
-	if(!$ssh->auth($unit['passwd'], $unit['address']))
-		sys::back($cfg['http'].'control/id/'.$id.'/server/'.$sid.'/section/settings');
+    if(!$ssh->auth($unit['passwd'], $unit['address']))
+        sys::back($cfg['http'].'control/id/'.$id.'/server/'.$sid.'/section/settings');
 
-	// Чтение файла - oldstart.log
-	$file = '/servers/'.$server['uid'].'/debug.log';
+    // Чтение файла - oldstart.log
+    $file = '/servers/'.$server['uid'].'/debug.log';
 
-	$ssh->set('echo "" >> '.$file.' && cat '.$file.' | grep "CRASH: " | grep -ve "^#\|^[[:space:]]*$"');
+    $ssh->set('echo "" >> '.$file.' && cat '.$file.' | grep "CRASH: " | grep -ve "^#\|^[[:space:]]*$"');
 
-	$html->get('debug', 'sections/control/servers/games/settings');
+    $html->get('debug', 'sections/control/servers/games/settings');
 
-		$html->set('log', htmlspecialchars($ssh->get(), NULL, ''));
+        $html->set('log', htmlspecialchars($ssh->get(), NULL, ''));
 
-	$html->pack('main');
+    $html->pack('main');
 ?>

+ 60 - 60
system/sections/control/servers/cs/settings/logs.php

@@ -1,89 +1,89 @@
 <?php
     if(!DEFINED('EGP'))
-		exit(header('Refresh: 0; URL=http://'.$_SERVER['SERVER_NAME'].'/404'));
+        exit(header('Refresh: 0; URL=http://'.$_SERVER['SERVER_NAME'].'/404'));
 
     $html->nav('Логи');
 
-	$sql->query('SELECT `address`, `passwd` FROM `control` WHERE `id`="'.$id.'" LIMIT 1');
-	$unit = $sql->get();
+    $sql->query('SELECT `address`, `passwd` FROM `control` WHERE `id`="'.$id.'" LIMIT 1');
+    $unit = $sql->get();
 
-	include(LIB.'ssh.php');
+    include(LIB.'ssh.php');
 
-	if(!$ssh->auth($unit['passwd'], $unit['address']))
-		sys::back($cfg['http'].'control/id/'.$id.'/server/'.$sid.'/section/settings');
+    if(!$ssh->auth($unit['passwd'], $unit['address']))
+        sys::back($cfg['http'].'control/id/'.$id.'/server/'.$sid.'/section/settings');
 
-	// Путь к логам
-	$folder = '/servers/'.$server['uid'].'/cstrike/logs';
+    // Путь к логам
+    $folder = '/servers/'.$server['uid'].'/cstrike/logs';
 
-	// Если выбран лог
-	if(isset($url['log']))
-	{
-		if(sys::valid($url['log'], 'other', $aValid['cslogs']))
-			sys::back($cfg['http'].'control/id/'.$id.'/server/'.$sid.'/section/settings/subsection/logs');
+    // Если выбран лог
+    if(isset($url['log']))
+    {
+        if(sys::valid($url['log'], 'other', $aValid['cslogs']))
+            sys::back($cfg['http'].'control/id/'.$id.'/server/'.$sid.'/section/settings/subsection/logs');
 
-		$ssh->set('sudo -u server'.$server['uid'].' cat '.$folder.'/'.$url['log']);
+        $ssh->set('sudo -u server'.$server['uid'].' cat '.$folder.'/'.$url['log']);
 
-		$html->get('view', 'sections/control/servers/games/settings/logs');
+        $html->get('view', 'sections/control/servers/games/settings/logs');
 
-				$html->set('id', $id);
-				$html->set('server', $sid);
-				$html->set('name', $url['log']);
-				$html->set('log', htmlspecialchars($ssh->get(), NULL, ''));
-				$html->set('uri', 'logs');
+                $html->set('id', $id);
+                $html->set('server', $sid);
+                $html->set('name', $url['log']);
+                $html->set('log', htmlspecialchars($ssh->get(), NULL, ''));
+                $html->set('uri', 'logs');
 
-		$html->pack('main');
-	}else{
-		if(isset($url['delall']))
-		{
-			$ssh->set('cd '.$folder.' && rm *.log');
+        $html->pack('main');
+    }else{
+        if(isset($url['delall']))
+        {
+            $ssh->set('cd '.$folder.' && rm *.log');
 
-			sys::back($cfg['http'].'control/id/'.$id.'/server/'.$sid.'/section/settings/subsection/logs');
-		}
+            sys::back($cfg['http'].'control/id/'.$id.'/server/'.$sid.'/section/settings/subsection/logs');
+        }
 
-		$ssh->set('cd '.$folder.' && du -ab --time | grep -e .log$ | awk \'{print $2" "$3"@"$1"@"$4}\' | sort -Mr');
+        $ssh->set('cd '.$folder.' && du -ab --time | grep -e .log$ | awk \'{print $2" "$3"@"$1"@"$4}\' | sort -Mr');
 
-		// Массив данных
-		$aData = explode("\n", $ssh->get());
+        // Массив данных
+        $aData = explode("\n", $ssh->get());
 
-		if(isset($aData[count($aData)-1]))
-			unset($aData[count($aData)-1]);
+        if(isset($aData[count($aData)-1]))
+            unset($aData[count($aData)-1]);
 
-		// Построение списка
-		foreach($aData as $line => $log)
-		{
-			$aLog = explode('@', $log);
+        // Построение списка
+        foreach($aData as $line => $log)
+        {
+            $aLog = explode('@', $log);
 
-			// Название
-			$name = explode('/', $aLog[2]);
+            // Название
+            $name = explode('/', $aLog[2]);
 
-			if(count($name) > 2)
-				continue;
+            if(count($name) > 2)
+                continue;
 
-			// Дата
-			$date = sys::unidate($aLog[0]);
+            // Дата
+            $date = sys::unidate($aLog[0]);
 
-			// Вес
-			$size = sys::size($aLog[1]);
+            // Вес
+            $size = sys::size($aLog[1]);
 
-			$html->get('list', 'sections/control/servers/games/settings/logs');
+            $html->get('list', 'sections/control/servers/games/settings/logs');
 
-				$html->set('id', $id);
-				$html->set('server', $sid);
-				$html->set('name', end($name));
-				$html->set('uri', 'logs/log/'.end($name));
-				$html->set('date', $date);
-				$html->set('size', $size);
+                $html->set('id', $id);
+                $html->set('server', $sid);
+                $html->set('name', end($name));
+                $html->set('uri', 'logs/log/'.end($name));
+                $html->set('date', $date);
+                $html->set('size', $size);
 
-			$html->pack('logs');
-		}
+            $html->pack('logs');
+        }
 
-		$html->get('logs', 'sections/control/servers/games/settings');
+        $html->get('logs', 'sections/control/servers/games/settings');
 
-			$html->set('id', $id);
-			$html->set('server', $sid);
-			$html->set('uri', '');
-			$html->set('logs', isset($html->arr['logs']) ? $html->arr['logs'] : '');
+            $html->set('id', $id);
+            $html->set('server', $sid);
+            $html->set('uri', '');
+            $html->set('logs', isset($html->arr['logs']) ? $html->arr['logs'] : '');
 
-		$html->pack('main');
-	}
+        $html->pack('main');
+    }
 ?>

+ 79 - 79
system/sections/control/servers/cs/settings/server.php

@@ -1,116 +1,116 @@
 <?php
     if(!DEFINED('EGP'))
-		exit(header('Refresh: 0; URL=http://'.$_SERVER['SERVER_NAME'].'/404'));
+        exit(header('Refresh: 0; URL=http://'.$_SERVER['SERVER_NAME'].'/404'));
 
     $html->nav('Параметры server.cfg');
 
-	$sql->query('SELECT `address`, `passwd` FROM `control` WHERE `id`="'.$id.'" LIMIT 1');
-	$unit = $sql->get();
+    $sql->query('SELECT `address`, `passwd` FROM `control` WHERE `id`="'.$id.'" LIMIT 1');
+    $unit = $sql->get();
 
-	include(LIB.'ssh.php');
-	
-	if(!$ssh->auth($unit['passwd'], $unit['address']))
-	{
-		if($go)
-			sys::outjs(array('e' => sys::text('error', 'ssh')), $nmch);
-		
-		sys::back($cfg['http'].'control/id/'.$id.'/server/'.$sid.'/section/settings');
-	}
-	
-	include(DATA.'scfg/'.$server['game'].'.php');
+    include(LIB.'ssh.php');
+    
+    if(!$ssh->auth($unit['passwd'], $unit['address']))
+    {
+        if($go)
+            sys::outjs(array('e' => sys::text('error', 'ssh')), $nmch);
+        
+        sys::back($cfg['http'].'control/id/'.$id.'/server/'.$sid.'/section/settings');
+    }
+    
+    include(DATA.'scfg/'.$server['game'].'.php');
 
-	$file = '/servers/'.$server['uid'].'/cstrike/server.cfg';
+    $file = '/servers/'.$server['uid'].'/cstrike/server.cfg';
 
-	// Сохранение изменений
-	if($go)
-	{
-		$servercfg = isset($_POST['config']) ? $_POST['config'] : '';
+    // Сохранение изменений
+    if($go)
+    {
+        $servercfg = isset($_POST['config']) ? $_POST['config'] : '';
 
-		$config = '';
+        $config = '';
 
-		$config_end = $servercfg['\'other\''];
+        $config_end = $servercfg['\'other\''];
 
-		unset($servercfg['\'other\'']);
+        unset($servercfg['\'other\'']);
 
-		foreach($servercfg as $cvar => $val)
-			if($val != '')
-				$config .= str_replace("'", '', $cvar).' "'.$val.'"'."\n";
+        foreach($servercfg as $cvar => $val)
+            if($val != '')
+                $config .= str_replace("'", '', $cvar).' "'.$val.'"'."\n";
 
-		// Временый файл
-		$temp = sys::temp($config.$config_end);
+        // Временый файл
+        $temp = sys::temp($config.$config_end);
 
-		$ssh->setfile($temp, $file, 0644);
+        $ssh->setfile($temp, $file, 0644);
 
-		$ssh->set('chown server'.$server['uid'].':servers '.$file);
+        $ssh->set('chown server'.$server['uid'].':servers '.$file);
 
-		unlink($temp);
+        unlink($temp);
 
-		$ssh->set('sudo -u server'.$server['uid'].' screen -p 0 -S s_'.$server['uid'].' -X eval \'stuff "exec server.cfg"\015\';');
+        $ssh->set('sudo -u server'.$server['uid'].' screen -p 0 -S s_'.$server['uid'].' -X eval \'stuff "exec server.cfg"\015\';');
 
-		sys::outjs(array('s' => 'ok'), $nmch);
-	}
+        sys::outjs(array('s' => 'ok'), $nmch);
+    }
 
-	$ssh->set('echo "" >> '.$file.' && cat '.$file.' | grep -ve "^#\|^[[:space:]]*$"');
+    $ssh->set('echo "" >> '.$file.' && cat '.$file.' | grep -ve "^#\|^[[:space:]]*$"');
 
-	$fScfg = explode("\n", strip_tags($ssh->get()));
+    $fScfg = explode("\n", strip_tags($ssh->get()));
 
-	$servercfg = array();
-	$other = '';
+    $servercfg = array();
+    $other = '';
 
-	// Убираем пробелы и генерируем массив
-	foreach($fScfg as $line)
-	{
-		// имя квара
-		$cvar = sys::first(explode(' ', $line));
+    // Убираем пробелы и генерируем массив
+    foreach($fScfg as $line)
+    {
+        // имя квара
+        $cvar = sys::first(explode(' ', $line));
 
-		if($cvar == '')
-			continue;
+        if($cvar == '')
+            continue;
 
-		// убираем имя квара и оставляем только значение
-		$value = str_replace($cvar.' ', "", $line);
+        // убираем имя квара и оставляем только значение
+        $value = str_replace($cvar.' ', "", $line);
 
-		// выбираем только то, что нам нужно
-		preg_match_all('~([^"]+)~', $value, $cvar_value, PREG_SET_ORDER);
+        // выбираем только то, что нам нужно
+        preg_match_all('~([^"]+)~', $value, $cvar_value, PREG_SET_ORDER);
 
-		// Исключаем комментарии
-		if($cvar == '//')
-			continue;
+        // Исключаем комментарии
+        if($cvar == '//')
+            continue;
 
-		$val = sys::first(explode(' //', $cvar_value[0][1]));
+        $val = sys::first(explode(' //', $cvar_value[0][1]));
 
-		// Добавляем данные в массив
-		if(array_key_exists($cvar, $aScfg))
-			$servercfg[$cvar] = trim($val);
-		else
-			$other .= $line."\n";
-	}
+        // Добавляем данные в массив
+        if(array_key_exists($cvar, $aScfg))
+            $servercfg[$cvar] = trim($val);
+        else
+            $other .= $line."\n";
+    }
 
-	foreach($aScfg as $name => $desc)
-	{
-		if(!isset($servercfg[$name]))
-			$servercfg[$name] = '';
+    foreach($aScfg as $name => $desc)
+    {
+        if(!isset($servercfg[$name]))
+            $servercfg[$name] = '';
 
-		// Формирование формы
-		if(strpos($aScfg_form[$name], 'select'))
-			$form = str_replace('value="'.$servercfg[$name].'"', 'value="'.$servercfg[$name].'" selected="select"', $aScfg_form[$name]);
-		else
-			$form = str_replace('['.$name.']', $servercfg[$name], $aScfg_form[$name]);
+        // Формирование формы
+        if(strpos($aScfg_form[$name], 'select'))
+            $form = str_replace('value="'.$servercfg[$name].'"', 'value="'.$servercfg[$name].'" selected="select"', $aScfg_form[$name]);
+        else
+            $form = str_replace('['.$name.']', $servercfg[$name], $aScfg_form[$name]);
 
-		$html->get('servercfg_list', 'sections/control/servers/games/settings');
+        $html->get('servercfg_list', 'sections/control/servers/games/settings');
 
-			$html->set('name', $name);
-			$html->set('desc', $desc);
-			$html->set('form', $form);
+            $html->set('name', $name);
+            $html->set('desc', $desc);
+            $html->set('form', $form);
 
-		$html->pack('list');
-	}
+        $html->pack('list');
+    }
 
-	$html->get('servercfg', 'sections/control/servers/'.$server['game'].'/settings');
+    $html->get('servercfg', 'sections/control/servers/'.$server['game'].'/settings');
 
-		$html->set('id', $id);
-		$html->set('server', $sid);
-		$html->set('cfg', $html->arr['list']);
-		$html->set('other', $other);
+        $html->set('id', $id);
+        $html->set('server', $sid);
+        $html->set('cfg', $html->arr['list']);
+        $html->set('other', $other);
 
-	$html->pack('main');
+    $html->pack('main');
 ?>

+ 132 - 132
system/sections/control/servers/cs/settings/start.php

@@ -1,185 +1,185 @@
 <?php
     if(!DEFINED('EGP'))
-		exit(header('Refresh: 0; URL=http://'.$_SERVER['SERVER_NAME'].'/404'));
+        exit(header('Refresh: 0; URL=http://'.$_SERVER['SERVER_NAME'].'/404'));
 
-	$sql->query('SELECT `uid`, `slots`, `map_start`, `vac`, `fps`, `fastdl`, `autorestart`, `pingboost`, `core_fix` FROM `control_servers` WHERE `id`="'.$sid.'" LIMIT 1');
-	$server = array_merge($server, $sql->get());
+    $sql->query('SELECT `uid`, `slots`, `map_start`, `vac`, `fps`, `fastdl`, `autorestart`, `pingboost`, `core_fix` FROM `control_servers` WHERE `id`="'.$sid.'" LIMIT 1');
+    $server = array_merge($server, $sql->get());
 
-	$sql->query('SELECT `address`, `passwd` FROM `control` WHERE `id`="'.$id.'" LIMIT 1');
-	$unit = $sql->get();
+    $sql->query('SELECT `address`, `passwd` FROM `control` WHERE `id`="'.$id.'" LIMIT 1');
+    $unit = $sql->get();
 
-	include(LIB.'games/games.php');
+    include(LIB.'games/games.php');
 
-	// Вывод списка карт
-	if(isset($url['maps']))
-		games::maplist($sid, $unit, '/servers/'.$server['uid'].'/cstrike/maps', $server['map_start'], false);
+    // Вывод списка карт
+    if(isset($url['maps']))
+        games::maplist($sid, $unit, '/servers/'.$server['uid'].'/cstrike/maps', $server['map_start'], false);
 
-	// Вывод списка потоков
-	if(isset($url['core']))
-		ctrl::cpulist($unit, $server['core_fix']);
+    // Вывод списка потоков
+    if(isset($url['core']))
+        ctrl::cpulist($unit, $server['core_fix']);
 
-	// Сохранение
-	if($go AND $url['save'])
-	{
-		$value = isset($url['value']) ? sys::int($url['value']) : sys::outjs(array('s' => 'ok'), $nmch);
-		
-		switch($url['save'])
-		{
-			case 'map':
-				$map = isset($url['value']) ? trim($url['value']) : sys::outjs(array('s' => 'ok'), $nmch);
+    // Сохранение
+    if($go AND $url['save'])
+    {
+        $value = isset($url['value']) ? sys::int($url['value']) : sys::outjs(array('s' => 'ok'), $nmch);
+        
+        switch($url['save'])
+        {
+            case 'map':
+                $map = isset($url['value']) ? trim($url['value']) : sys::outjs(array('s' => 'ok'), $nmch);
 
-				if($map != $server['map_start'])
-					games::maplist($sid, $unit, '/servers/'.$server['uid'].'/cstrike/maps', $map, true, $nmch, true);
+                if($map != $server['map_start'])
+                    games::maplist($sid, $unit, '/servers/'.$server['uid'].'/cstrike/maps', $map, true, $nmch, true);
 
-				sys::outjs(array('e' => $map.' != '.$server['map_start']), $nmch);
+                sys::outjs(array('e' => $map.' != '.$server['map_start']), $nmch);
 
-				$mcache->delete('ctrl_server_settings_'.$sid);
-				sys::outjs(array('s' => 'ok'), $nmch);
+                $mcache->delete('ctrl_server_settings_'.$sid);
+                sys::outjs(array('s' => 'ok'), $nmch);
 
-			case 'address':
-				if($server['status'] != 'off')
-					sys::outjs(array('e' => 'Необходимо выключить игровой сервер'), $nmch);
+            case 'address':
+                if($server['status'] != 'off')
+                    sys::outjs(array('e' => 'Необходимо выключить игровой сервер'), $nmch);
 
-				$address = isset($_POST['address']) ? trim($_POST['address']) : $server['address'];
+                $address = isset($_POST['address']) ? trim($_POST['address']) : $server['address'];
 
-				if(sys::valid($address, 'other', $aValid['address']))
-					sys::outjs(array('e' => 'Адрес игрового сервера имеет неверный формат'), $nmch);
+                if(sys::valid($address, 'other', $aValid['address']))
+                    sys::outjs(array('e' => 'Адрес игрового сервера имеет неверный формат'), $nmch);
 
-				$sql->query('SELECT `id` FROM `control_servers` WHERE `unit`="'.$id.'" AND `address`="'.$address.'" LIMIT 1');
-				if($sql->num())
-					sys::outjs(array('e' => 'Данный адрес занят другим сервером'), $nmch);
+                $sql->query('SELECT `id` FROM `control_servers` WHERE `unit`="'.$id.'" AND `address`="'.$address.'" LIMIT 1');
+                if($sql->num())
+                    sys::outjs(array('e' => 'Данный адрес занят другим сервером'), $nmch);
 
-				if($address != $server['address'])
-					$sql->query('UPDATE `control_servers` set `address`="'.$address.'" WHERE `id`="'.$sid.'" LIMIT 1');
+                if($address != $server['address'])
+                    $sql->query('UPDATE `control_servers` set `address`="'.$address.'" WHERE `id`="'.$sid.'" LIMIT 1');
 
-				$mcache->delete('ctrl_server_settings_'.$sid);
-				sys::outjs(array('s' => 'ok'), $nmch);
+                $mcache->delete('ctrl_server_settings_'.$sid);
+                sys::outjs(array('s' => 'ok'), $nmch);
 
-			case 'vac':
-				if($value != $server['vac'])
-					$sql->query('UPDATE `control_servers` set `vac`="'.$value.'" WHERE `id`="'.$sid.'" LIMIT 1');
+            case 'vac':
+                if($value != $server['vac'])
+                    $sql->query('UPDATE `control_servers` set `vac`="'.$value.'" WHERE `id`="'.$sid.'" LIMIT 1');
 
-				$mcache->delete('ctrl_server_settings_'.$sid);
-				sys::outjs(array('s' => 'ok'), $nmch);
+                $mcache->delete('ctrl_server_settings_'.$sid);
+                sys::outjs(array('s' => 'ok'), $nmch);
 
-			case 'core_fix':
-				$n = ctrl::cpulist($unit, $server['core_fix'], true);
+            case 'core_fix':
+                $n = ctrl::cpulist($unit, $server['core_fix'], true);
 
-				if($value > $n)
-					sys::outjs(array('e' => 'На физическом сервере нет такого ядра/потока'), $nmch);
+                if($value > $n)
+                    sys::outjs(array('e' => 'На физическом сервере нет такого ядра/потока'), $nmch);
 
-				if($value < 0)
-					$value = 0;
+                if($value < 0)
+                    $value = 0;
 
-				if($value != $server['core_fix'])
-					$sql->query('UPDATE `control_servers` set `core_fix`="'.$value.'" WHERE `id`="'.$sid.'" LIMIT 1');
+                if($value != $server['core_fix'])
+                    $sql->query('UPDATE `control_servers` set `core_fix`="'.$value.'" WHERE `id`="'.$sid.'" LIMIT 1');
 
-				$mcache->delete('ctrl_server_settings_'.$sid);
-				sys::outjs(array('s' => 'ok'), $nmch);
+                $mcache->delete('ctrl_server_settings_'.$sid);
+                sys::outjs(array('s' => 'ok'), $nmch);
 
-			case 'slots':
-				$slots = $value > 32 ? 32 : $value;
-				$slots = $value < 2 ? 2 : $slots;
+            case 'slots':
+                $slots = $value > 32 ? 32 : $value;
+                $slots = $value < 2 ? 2 : $slots;
 
-				if($slots != $server['slots'])
-					$sql->query('UPDATE `control_servers` set `slots`="'.$slots.'" WHERE `id`="'.$sid.'" LIMIT 1');
+                if($slots != $server['slots'])
+                    $sql->query('UPDATE `control_servers` set `slots`="'.$slots.'" WHERE `id`="'.$sid.'" LIMIT 1');
 
-				$mcache->delete('ctrl_server_settings_'.$sid);
-				sys::outjs(array('s' => 'ok'), $nmch);
+                $mcache->delete('ctrl_server_settings_'.$sid);
+                sys::outjs(array('s' => 'ok'), $nmch);
 
-			case 'autorestart':
-				if($value != $server['autorestart'])
-					$sql->query('UPDATE `control_servers` set `autorestart`="'.$value.'" WHERE `id`="'.$sid.'" LIMIT 1');
+            case 'autorestart':
+                if($value != $server['autorestart'])
+                    $sql->query('UPDATE `control_servers` set `autorestart`="'.$value.'" WHERE `id`="'.$sid.'" LIMIT 1');
 
-				$mcache->delete('ctrl_server_settings_'.$sid);
-				sys::outjs(array('s' => 'ok'), $nmch);
+                $mcache->delete('ctrl_server_settings_'.$sid);
+                sys::outjs(array('s' => 'ok'), $nmch);
 
-			case 'fps':
-				if(in_array($value, array('300', '500', '1100')))
-					$sql->query('UPDATE `control_servers` set `fps`="'.$value.'" WHERE `id`="'.$sid.'" LIMIT 1');
+            case 'fps':
+                if(in_array($value, array('300', '500', '1100')))
+                    $sql->query('UPDATE `control_servers` set `fps`="'.$value.'" WHERE `id`="'.$sid.'" LIMIT 1');
 
-				$mcache->delete('ctrl_server_settings_'.$sid);
-				sys::outjs(array('s' => 'ok'), $nmch);
+                $mcache->delete('ctrl_server_settings_'.$sid);
+                sys::outjs(array('s' => 'ok'), $nmch);
 
-			case 'pingboost':
-				if(in_array($value, array(0, 1, 2, 3)))
-					$sql->query('UPDATE `control_servers` set `pingboost`="'.$value.'" WHERE `id`="'.$sid.'" LIMIT 1');
+            case 'pingboost':
+                if(in_array($value, array(0, 1, 2, 3)))
+                    $sql->query('UPDATE `control_servers` set `pingboost`="'.$value.'" WHERE `id`="'.$sid.'" LIMIT 1');
 
-				$mcache->delete('ctrl_server_settings_'.$sid);
-				sys::outjs(array('s' => 'ok'), $nmch);
+                $mcache->delete('ctrl_server_settings_'.$sid);
+                sys::outjs(array('s' => 'ok'), $nmch);
 
-			case 'fastdl':
-				include(LIB.'ssh.php');
+            case 'fastdl':
+                include(LIB.'ssh.php');
 
-				if(!$ssh->auth($unit['passwd'], $unit['address']))
-					sys::outjs(array('e' => sys::text('error', 'ssh')), $nmch);
+                if(!$ssh->auth($unit['passwd'], $unit['address']))
+                    sys::outjs(array('e' => sys::text('error', 'ssh')), $nmch);
 
-				if($value)
-				{
-					$fastdl = 'sv_downloadurl "http://'.$unit['address'].':8080/fast_'.$server['uid'].'"'.PHP_EOL
-							.'sv_consistency 1'.PHP_EOL
-							.'sv_allowupload 1'.PHP_EOL
-							.'sv_allowdownload 1';
+                if($value)
+                {
+                    $fastdl = 'sv_downloadurl "http://'.$unit['address'].':8080/fast_'.$server['uid'].'"'.PHP_EOL
+                            .'sv_consistency 1'.PHP_EOL
+                            .'sv_allowupload 1'.PHP_EOL
+                            .'sv_allowdownload 1';
 
-					// Временый файл
-					$temp = sys::temp($fastdl);
+                    // Временый файл
+                    $temp = sys::temp($fastdl);
 
-					$ssh->setfile($temp, 'servers/'.$server['uid'].'/cstrike/fastdl.cfg', 0644);
-						
-					$ssh->set('chown server'.$server['uid'].':servers '.'servers/'.$server['uid'].'/cstrike/fastdl.cfg;'
-							.'ln -s '.'servers/'.$server['uid'].'/cstrike /var/nginx/fast_'.$server['uid'].';'
-							.'sed -i '."'s/exec fastdl.cfg//g'".' '.'servers/'.$server['uid'].'/cstrike/server.cfg;'
-							.'echo "exec fastdl.cfg" >> '.'servers/'.$server['uid'].'/cstrike/server.cfg');
+                    $ssh->setfile($temp, 'servers/'.$server['uid'].'/cstrike/fastdl.cfg', 0644);
+                        
+                    $ssh->set('chown server'.$server['uid'].':servers '.'servers/'.$server['uid'].'/cstrike/fastdl.cfg;'
+                            .'ln -s '.'servers/'.$server['uid'].'/cstrike /var/nginx/fast_'.$server['uid'].';'
+                            .'sed -i '."'s/exec fastdl.cfg//g'".' '.'servers/'.$server['uid'].'/cstrike/server.cfg;'
+                            .'echo "exec fastdl.cfg" >> '.'servers/'.$server['uid'].'/cstrike/server.cfg');
 
-					unlink($temp);
-				}else
-					$ssh->set('sed -i '."'s/exec fastdl.cfg//g'".' '.'servers/'.$server['uid'].'/cstrike/server.cfg;'
-							.'rm '.'servers/'.$server['uid'].'/cstrike/fastdl.cfg; rm /var/nginx/fast_'.$server['uid']);
+                    unlink($temp);
+                }else
+                    $ssh->set('sed -i '."'s/exec fastdl.cfg//g'".' '.'servers/'.$server['uid'].'/cstrike/server.cfg;'
+                            .'rm '.'servers/'.$server['uid'].'/cstrike/fastdl.cfg; rm /var/nginx/fast_'.$server['uid']);
 
-				$sql->query('UPDATE `control_servers` set `fastdl`="'.$value.'" WHERE `id`="'.$sid.'" LIMIT 1');
+                $sql->query('UPDATE `control_servers` set `fastdl`="'.$value.'" WHERE `id`="'.$sid.'" LIMIT 1');
 
-				$mcache->delete('ctrl_server_settings_'.$sid);
-				sys::outjs(array('s' => 'ok'), $nmch);
-		}
-	}
-	
-	// Генерация списка слот
-	$slots = '';
+                $mcache->delete('ctrl_server_settings_'.$sid);
+                sys::outjs(array('s' => 'ok'), $nmch);
+        }
+    }
+    
+    // Генерация списка слот
+    $slots = '';
 
-	for($slot = 2; $slot <= 32; $slot+=1)
-		$slots .= '<option value="'.$slot.'">'.$slot.' шт.</option>';
+    for($slot = 2; $slot <= 32; $slot+=1)
+        $slots .= '<option value="'.$slot.'">'.$slot.' шт.</option>';
 
-	// Античит VAC
-	$vac = $server['vac'] ? '<option value="1">Включен</option><option value="0">Выключен</option>' : '<option value="0">Выключен</option><option value="1">Включен</option>';
+    // Античит VAC
+    $vac = $server['vac'] ? '<option value="1">Включен</option><option value="0">Выключен</option>' : '<option value="0">Выключен</option><option value="1">Включен</option>';
 
-	// Быстрая скачака
-	$fastdl = $server['fastdl'] ? '<option value="1">Включен</option><option value="0">Выключен</option>' : '<option value="0">Выключен</option><option value="1">Включен</option>';
+    // Быстрая скачака
+    $fastdl = $server['fastdl'] ? '<option value="1">Включен</option><option value="0">Выключен</option>' : '<option value="0">Выключен</option><option value="1">Включен</option>';
 
-	// Авторестарт при зависании
-	$autorestart = $server['autorestart'] ? '<option value="1">Включен</option><option value="0">Выключен</option>' : '<option value="0">Выключен</option><option value="1">Включен</option>';
+    // Авторестарт при зависании
+    $autorestart = $server['autorestart'] ? '<option value="1">Включен</option><option value="0">Выключен</option>' : '<option value="0">Выключен</option><option value="1">Включен</option>';
 
-	$fps = '';
+    $fps = '';
 
-	foreach(array('300', '500', '1100') as $value)
-		$fps .= '<option value="'.$value.'">'.$value.' FPS</option>';
+    foreach(array('300', '500', '1100') as $value)
+        $fps .= '<option value="'.$value.'">'.$value.' FPS</option>';
 
-	$pingboost = str_replace($server['pingboost'].'"', $server['pingboost'].'" selected="select"', '<option value="0">БЕЗ PINGBOOST</option><option value="1">PINGBOOST 1</option><option value="2">PINGBOOST 2</option><option value="3">PINGBOOST 3</option>');
+    $pingboost = str_replace($server['pingboost'].'"', $server['pingboost'].'" selected="select"', '<option value="0">БЕЗ PINGBOOST</option><option value="1">PINGBOOST 1</option><option value="2">PINGBOOST 2</option><option value="3">PINGBOOST 3</option>');
 
-	$core_fix = $server['core_fix'] ? '<option value="1">1 ядро/поток</option>' : '<option value="0">Автоматическое определение</option>';
+    $core_fix = $server['core_fix'] ? '<option value="1">1 ядро/поток</option>' : '<option value="0">Автоматическое определение</option>';
 
-	$html->get('start', 'sections/control/servers/'.$server['game'].'/settings');
+    $html->get('start', 'sections/control/servers/'.$server['game'].'/settings');
 
-		$html->set('id', $id);
-		$html->set('server', $sid);
-		$html->set('map', $server['map_start']);
-		$html->set('address', $server['address']);
-		$html->set('vac', $vac);
-		$html->set('fastdl', $fastdl);
-		$html->set('autorestart', $autorestart);
-		$html->set('core_fix', $core_fix);
-		$html->set('slots', str_replace('"'.$server['slots'].'"', '"'.$server['slots'].'" selected="select"', $slots));
-		$html->set('pingboost', $pingboost);
-		$html->set('fps', str_replace($server['fps'].'"', $server['fps'].'" selected="select"', $fps));
+        $html->set('id', $id);
+        $html->set('server', $sid);
+        $html->set('map', $server['map_start']);
+        $html->set('address', $server['address']);
+        $html->set('vac', $vac);
+        $html->set('fastdl', $fastdl);
+        $html->set('autorestart', $autorestart);
+        $html->set('core_fix', $core_fix);
+        $html->set('slots', str_replace('"'.$server['slots'].'"', '"'.$server['slots'].'" selected="select"', $slots));
+        $html->set('pingboost', $pingboost);
+        $html->set('fps', str_replace($server['fps'].'"', $server['fps'].'" selected="select"', $fps));
 
-	$html->pack('start');
+    $html->pack('start');
 ?>

+ 11 - 11
system/sections/control/servers/cs/settings/top.php

@@ -1,20 +1,20 @@
 <?php
     if(!DEFINED('EGP'))
-		exit(header('Refresh: 0; URL=http://'.$_SERVER['SERVER_NAME'].'/404'));
+        exit(header('Refresh: 0; URL=http://'.$_SERVER['SERVER_NAME'].'/404'));
 
-	$sql->query('SELECT `address`, `passwd` FROM `control` WHERE `id`="'.$id.'" LIMIT 1');
-	$unit = $sql->get();
+    $sql->query('SELECT `address`, `passwd` FROM `control` WHERE `id`="'.$id.'" LIMIT 1');
+    $unit = $sql->get();
 
-	include(LIB.'ssh.php');
+    include(LIB.'ssh.php');
 
-	if(!$ssh->auth($unit['passwd'], $unit['address']))
-		sys::back($cfg['http'].'control/id/'.$id.'/server/'.$sid.'/section/settings');
+    if(!$ssh->auth($unit['passwd'], $unit['address']))
+        sys::back($cfg['http'].'control/id/'.$id.'/server/'.$sid.'/section/settings');
 
-	// Удаление файла csstats.dat
-	$ssh->set('rm /servers'.$server['uid'].'/cstrike/addons/amxmodx/data/csstats.dat');
+    // Удаление файла csstats.dat
+    $ssh->set('rm /servers'.$server['uid'].'/cstrike/addons/amxmodx/data/csstats.dat');
 
-	if(in_array($server['status'], array('working', 'start', 'restart', 'change')))
-		shell_exec('php cron.php '.$cfg['cron_key'].' control_server_action restart cs '.$sid);
+    if(in_array($server['status'], array('working', 'start', 'restart', 'change')))
+        shell_exec('php cron.php '.$cfg['cron_key'].' control_server_action restart cs '.$sid);
 
-	sys::outjs(array('s' => 'ok'));
+    sys::outjs(array('s' => 'ok'));
 ?>

+ 48 - 48
system/sections/control/servers/csgo/console.php

@@ -1,67 +1,67 @@
 <?php
-	if(!DEFINED('EGP'))
-		exit(header('Refresh: 0; URL=http://'.$_SERVER['SERVER_NAME'].'/404'));
+    if(!DEFINED('EGP'))
+        exit(header('Refresh: 0; URL=http://'.$_SERVER['SERVER_NAME'].'/404'));
 
-	$sql->query('SELECT `uid`, `time_start` FROM `control_servers` WHERE `id`="'.$sid.'" LIMIT 1');
-	$server = array_merge($server, $sql->get());
+    $sql->query('SELECT `uid`, `time_start` FROM `control_servers` WHERE `id`="'.$sid.'" LIMIT 1');
+    $server = array_merge($server, $sql->get());
 
-	if($go)
-	{
-		$sql->query('SELECT `address`, `passwd` FROM `control` WHERE `id`="'.$id.'" LIMIT 1');
-		$unit = $sql->get();
+    if($go)
+    {
+        $sql->query('SELECT `address`, `passwd` FROM `control` WHERE `id`="'.$id.'" LIMIT 1');
+        $unit = $sql->get();
 
-		include(LIB.'ssh.php');
+        include(LIB.'ssh.php');
 
-		$command = isset($_POST['command']) ? sys::cmd($_POST['command']) : '';
+        $command = isset($_POST['command']) ? sys::cmd($_POST['command']) : '';
 
-		if($server['status'] == 'off')
-		{
-			if($command)
-				sys::outjs(array('e' => sys::text('servers', 'off')));
+        if($server['status'] == 'off')
+        {
+            if($command)
+                sys::outjs(array('e' => sys::text('servers', 'off')));
 
-			sys::out(sys::text('servers', 'off'));
-		}
+            sys::out(sys::text('servers', 'off'));
+        }
 
-		if(!$ssh->auth($unit['passwd'], $unit['address']))
-		{
-			if($command)
-				sys::outjs(array('e' => sys::text('error', 'ssh')));
+        if(!$ssh->auth($unit['passwd'], $unit['address']))
+        {
+            if($command)
+                sys::outjs(array('e' => sys::text('error', 'ssh')));
 
-			sys::out(sys::text('error', 'ssh'));
-		}
+            sys::out(sys::text('error', 'ssh'));
+        }
 
-		$dir = '/servers/'.$server['uid'].'/csgo/';
+        $dir = '/servers/'.$server['uid'].'/csgo/';
 
-		$filecmd = $dir.'console.log';
+        $filecmd = $dir.'console.log';
 
-		if($command)
-		{
-			if(strtolower($command) == 'clear')
-				$ssh->set('sudo -u server'.$server['uid'].' sh -c "echo \"Очистка консоли\n\" > '.$filecmd.'"');
-			else
-				$ssh->set('sudo -u server'.$server['uid'].' screen -p 0 -S s_'.$server['uid'].' -X eval \'stuff "'.$command.'"\015\';'
-						.'sudo -u server'.$server['uid'].' screen -p 0 -S s_'.$server['uid'].' -X eval \'stuff \015\'');
+        if($command)
+        {
+            if(strtolower($command) == 'clear')
+                $ssh->set('sudo -u server'.$server['uid'].' sh -c "echo \"Очистка консоли\n\" > '.$filecmd.'"');
+            else
+                $ssh->set('sudo -u server'.$server['uid'].' screen -p 0 -S s_'.$server['uid'].' -X eval \'stuff "'.$command.'"\015\';'
+                        .'sudo -u server'.$server['uid'].' screen -p 0 -S s_'.$server['uid'].' -X eval \'stuff \015\'');
 
-			sys::outjs(array('s' => 'ok'));
-		}
+            sys::outjs(array('s' => 'ok'));
+        }
 
-		$filecmd_copy = $dir.'oldstart/'.date('d.m.Y_H:i:s', $server['time_start']).'.log';
+        $filecmd_copy = $dir.'oldstart/'.date('d.m.Y_H:i:s', $server['time_start']).'.log';
 
-		$weight = sys::int($ssh->get('du --block-size=1 '.$filecmd.' | awk \'{print $1}\''));
+        $weight = sys::int($ssh->get('du --block-size=1 '.$filecmd.' | awk \'{print $1}\''));
 
-		if($weight > 524288)
-			$ssh->set('sudo -u server'.$server['uid'].' sh -c "mkdir -p '.$dir.'oldstart; cat '.$filecmd.' >> '.$filecmd_copy.'; echo \"Выполнена очистка консоли, слишком большой объем данных\n\" > '.$filecmd.'"');
+        if($weight > 524288)
+            $ssh->set('sudo -u server'.$server['uid'].' sh -c "mkdir -p '.$dir.'oldstart; cat '.$filecmd.' >> '.$filecmd_copy.'; echo \"Выполнена очистка консоли, слишком большой объем данных\n\" > '.$filecmd.'"');
 
-		sys::out(htmlspecialchars($ssh->get('cat '.$filecmd), NULL, ''));
-	}
-	
-	$html->nav('Список подключенных серверов', $cfg['http'].'control');
-	$html->nav('Список игровых серверов #'.$id, $cfg['http'].'control/id/'.$id);
-	$html->nav($server['address'], $cfg['http'].'control/id/'.$id.'/server/'.$sid);
-	$html->nav('Консоль');
+        sys::out(htmlspecialchars($ssh->get('cat '.$filecmd), NULL, ''));
+    }
+    
+    $html->nav('Список подключенных серверов', $cfg['http'].'control');
+    $html->nav('Список игровых серверов #'.$id, $cfg['http'].'control/id/'.$id);
+    $html->nav($server['address'], $cfg['http'].'control/id/'.$id.'/server/'.$sid);
+    $html->nav('Консоль');
 
-	$html->get('console', 'sections/control/servers/'.$server['game']);
-		$html->set('id', $id);
-		$html->set('server', $sid);
-	$html->pack('main');
+    $html->get('console', 'sections/control/servers/'.$server['game']);
+        $html->set('id', $id);
+        $html->set('server', $sid);
+    $html->pack('main');
 ?>

+ 63 - 63
system/sections/control/servers/csgo/copy.php

@@ -1,85 +1,85 @@
 <?php
-	if(!DEFINED('EGP'))
-		exit(header('Refresh: 0; URL=http://'.$_SERVER['SERVER_NAME'].'/404'));
+    if(!DEFINED('EGP'))
+        exit(header('Refresh: 0; URL=http://'.$_SERVER['SERVER_NAME'].'/404'));
 
-	if($go)
-	{
-		// Подразделы
-		$aSub = array('fullcopy', 'create', 'recfull', 'recpart', 'remove', 'check');
+    if($go)
+    {
+        // Подразделы
+        $aSub = array('fullcopy', 'create', 'recfull', 'recpart', 'remove', 'check');
 
-		// Если выбран подраздел
-		if(isset($url['subsection']) AND in_array($url['subsection'], $aSub))
-		{
-			if($url['subsection'] != 'check')
-				$nmch = sys::rep_act('ctrl_server_copy_go_'.$sid, 10);
+        // Если выбран подраздел
+        if(isset($url['subsection']) AND in_array($url['subsection'], $aSub))
+        {
+            if($url['subsection'] != 'check')
+                $nmch = sys::rep_act('ctrl_server_copy_go_'.$sid, 10);
 
-			if($server['status'] != 'off' AND $url['subsection'] != 'remove')
-				sys::outjs(array('e' => 'Игровой сервер должен быть выключен'), $nmch);
+            if($server['status'] != 'off' AND $url['subsection'] != 'remove')
+                sys::outjs(array('e' => 'Игровой сервер должен быть выключен'), $nmch);
 
-			$sql->query('SELECT `address`, `passwd` FROM `control` WHERE `id`="'.$id.'" LIMIT 1');
-			$unit = $sql->get();
+            $sql->query('SELECT `address`, `passwd` FROM `control` WHERE `id`="'.$id.'" LIMIT 1');
+            $unit = $sql->get();
 
-			include(LIB.'ssh.php');
+            include(LIB.'ssh.php');
 
-			if(!$ssh->auth($unit['passwd'], $unit['address']))
-				sys::outjs(array('e' => sys::text('error', 'ssh')), $nmch);
+            if(!$ssh->auth($unit['passwd'], $unit['address']))
+                sys::outjs(array('e' => sys::text('error', 'ssh')), $nmch);
 
-			include(SEC.'control/servers/games/copy/'.$url['subsection'].'.php');
-		}
-	}
+            include(SEC.'control/servers/games/copy/'.$url['subsection'].'.php');
+        }
+    }
 
-	$html->nav('Список подключенных серверов', $cfg['http'].'control');
-	$html->nav('Список игровых серверов #'.$id, $cfg['http'].'control/id/'.$id);
-	$html->nav($server['address'], $cfg['http'].'control/id/'.$id.'/server/'.$sid);
-	$html->nav('Резервные копии');
+    $html->nav('Список подключенных серверов', $cfg['http'].'control');
+    $html->nav('Список игровых серверов #'.$id, $cfg['http'].'control/id/'.$id);
+    $html->nav($server['address'], $cfg['http'].'control/id/'.$id.'/server/'.$sid);
+    $html->nav('Резервные копии');
 
-	if($mcache->get('ctrl_server_copy_'.$sid) != '')
-		$html->arr['main'] = $mcache->get('ctrl_server_copy_'.$sid);
-	else{
-		// Построение списка создания копии
-		foreach(params::$section_copy[$server['game']]['aCopy'] as $name => $info)
-		{
-			$html->get('list', 'sections/control/servers/games/copy');
+    if($mcache->get('ctrl_server_copy_'.$sid) != '')
+        $html->arr['main'] = $mcache->get('ctrl_server_copy_'.$sid);
+    else{
+        // Построение списка создания копии
+        foreach(params::$section_copy[$server['game']]['aCopy'] as $name => $info)
+        {
+            $html->get('list', 'sections/control/servers/games/copy');
 
-				$html->set('name', $name);
-				$html->set('info', $info);
+                $html->set('name', $name);
+                $html->set('info', $info);
 
-			$html->pack('list');
-		}
+            $html->pack('list');
+        }
 
-		// Построение списка созданных копий
-		$sql->query('SELECT `id`, `server`, `info`, `date`, `status` FROM `control_copy` WHERE `user`="'.$ctrl['user'].'_'.$id.'" AND `game`="'.$server['game'].'" ORDER BY `id` ASC');
-		while($copy = $sql->get())
-		{
-			$html->get('copy', 'sections/control/servers/games/copy');
+        // Построение списка созданных копий
+        $sql->query('SELECT `id`, `server`, `info`, `date`, `status` FROM `control_copy` WHERE `user`="'.$ctrl['user'].'_'.$id.'" AND `game`="'.$server['game'].'" ORDER BY `id` ASC');
+        while($copy = $sql->get())
+        {
+            $html->get('copy', 'sections/control/servers/games/copy');
 
-				$html->set('id', $copy['id']);
-				$html->set('info', $copy['info']);
-				$html->set('server', $copy['server']);
-				$html->set('date', sys::today($copy['date']));
+                $html->set('id', $copy['id']);
+                $html->set('info', $copy['info']);
+                $html->set('server', $copy['server']);
+                $html->set('date', sys::today($copy['date']));
 
-				if($copy['status'])
-				{
-					$html->unit('created', 1);
-					$html->unit('!created');
-				}else{
-					$html->unit('created');
-					$html->unit('!created', 1);
-				}
+                if($copy['status'])
+                {
+                    $html->unit('created', 1);
+                    $html->unit('!created');
+                }else{
+                    $html->unit('created');
+                    $html->unit('!created', 1);
+                }
 
-			$html->pack('copy');
-		}
+            $html->pack('copy');
+        }
 
-		$html->get('copy', 'sections/control/servers/'.$server['game']);
+        $html->get('copy', 'sections/control/servers/'.$server['game']);
 
-			$html->set('id', $id);
-			$html->set('server', $sid);
+            $html->set('id', $id);
+            $html->set('server', $sid);
 
-			$html->set('list', isset($html->arr['list']) ? $html->arr['list'] : '');
-			$html->set('copy', isset($html->arr['copy']) ? $html->arr['copy'] : 'Резервные копии отсутствуют.');
+            $html->set('list', isset($html->arr['list']) ? $html->arr['list'] : '');
+            $html->set('copy', isset($html->arr['copy']) ? $html->arr['copy'] : 'Резервные копии отсутствуют.');
 
-		$html->pack('main');
+        $html->pack('main');
 
-		$mcache->set('ctrl_server_copy_'.$sid, $html->arr['main'], false, 4);
-	}
+        $mcache->set('ctrl_server_copy_'.$sid, $html->arr['main'], false, 4);
+    }
 ?>

+ 21 - 21
system/sections/control/servers/csgo/index.php

@@ -1,30 +1,30 @@
 <?php
     if(!DEFINED('EGP'))
-		exit(header('Refresh: 0; URL=http://'.$_SERVER['SERVER_NAME'].'/404'));
+        exit(header('Refresh: 0; URL=http://'.$_SERVER['SERVER_NAME'].'/404'));
 
-	$sql->query('SELECT `slots`, `online`, `players`, `name`, `map` FROM `control_servers` WHERE `id`="'.$sid.'" LIMIT 1');
-	$server = array_merge($server, $sql->get());
+    $sql->query('SELECT `slots`, `online`, `players`, `name`, `map` FROM `control_servers` WHERE `id`="'.$sid.'" LIMIT 1');
+    $server = array_merge($server, $sql->get());
 
-	$html->nav('Список подключенных серверов', $cfg['http'].'control');
-	$html->nav('Список игровых серверов #'.$id, $cfg['http'].'control/id/'.$id);
-	$html->nav($server['address']);
+    $html->nav('Список подключенных серверов', $cfg['http'].'control');
+    $html->nav('Список игровых серверов #'.$id, $cfg['http'].'control/id/'.$id);
+    $html->nav($server['address']);
 
-	$btn = sys::buttons($sid, $server['status'], $server['game'], $id);
+    $btn = sys::buttons($sid, $server['status'], $server['game'], $id);
 
-	$html->get('index', 'sections/control/servers/'.$server['game']);
+    $html->get('index', 'sections/control/servers/'.$server['game']);
 
-		$html->set('id', $id);
-		$html->set('server', $sid);
-		$html->set('address', $server['address']);
-		$html->set('game', $aGname[$server['game']]);
-		$html->set('slots', $server['slots']);
-		$html->set('online', $server['online']);
-		$html->set('players', base64_decode($server['players']));
-		$html->set('name', $server['name']);
-		$html->set('status', sys::status($server['status'], $server['game'], $server['map']));
-		$html->set('img', sys::status($server['status'], $server['game'], $server['map'], 'img'));
+        $html->set('id', $id);
+        $html->set('server', $sid);
+        $html->set('address', $server['address']);
+        $html->set('game', $aGname[$server['game']]);
+        $html->set('slots', $server['slots']);
+        $html->set('online', $server['online']);
+        $html->set('players', base64_decode($server['players']));
+        $html->set('name', $server['name']);
+        $html->set('status', sys::status($server['status'], $server['game'], $server['map']));
+        $html->set('img', sys::status($server['status'], $server['game'], $server['map'], 'img'));
 
-		$html->set('btn', $btn);
-			
-	$html->pack('main');
+        $html->set('btn', $btn);
+            
+    $html->pack('main');
 ?>

+ 127 - 127
system/sections/control/servers/csgo/plugins.php

@@ -1,160 +1,160 @@
 <?php
     if(!DEFINED('EGP'))
-		exit(header('Refresh: 0; URL=http://'.$_SERVER['SERVER_NAME'].'/404'));
-
-	$html->nav('Список подключенных серверов', $cfg['http'].'control');
-	$html->nav('Список игровых серверов #'.$id, $cfg['http'].'control/id/'.$id);
-	$html->nav($server['address'], $cfg['http'].'control/id/'.$id.'/server/'.$sid);
-
-	// Подразделы
-	$aSub = array('install', 'delete', 'update', 'plugin', 'config', 'search');
-
-	// Если выбран подраздел
-	if(isset($url['subsection']) AND in_array($url['subsection'], $aSub))
-	{
-		$html->nav('Плагины', $cfg['http'].'control/id/'.$id.'/server/'.$sid.'/section/plugins');
-
-		$nmch = sys::rep_act('ctrl_server_plugins_go_'.$sid, 10);
-
-		include(SEC.'control/servers/games/plugins/'.$url['subsection'].'.php');
-	}else{
-		$html->nav('Плагины');
-
-		// Если есть кеш
-		if($mcache->get('ctrl_server_plugins_'.$sid) != '')
-			$html->arr['main'] = $mcache->get('ctrl_server_plugins_'.$sid);
-		else{
-			include(LIB.'games/plugins.php');
-
-			// Категории
-			$cats = $sql->query('SELECT `id`, `name` FROM `plugins_category` WHERE `game`="'.$server['game'].'" ORDER BY `sort` ASC');
-			while($cat = $sql->get($cats))
-			{
-				// Плагины
-				$plugins = $sql->query('SELECT `id`, `name`, `desc`, `images`, `status`, `upd`, `packs`, `price` FROM `plugins` WHERE `cat`="'.$cat['id'].'" ORDER BY `sort`, `id` ASC');
-				while($plugin = $sql->get($plugins))
-				{
-					// Проверка, установлен ли плагин на сервер
-					$sql->query('SELECT `id` FROM `control_plugins_install` WHERE `server`="'.$sid.'" AND `plugin`="'.$plugin['id'].'" LIMIT 1');
-					if($sql->num())
-						continue;
+        exit(header('Refresh: 0; URL=http://'.$_SERVER['SERVER_NAME'].'/404'));
+
+    $html->nav('Список подключенных серверов', $cfg['http'].'control');
+    $html->nav('Список игровых серверов #'.$id, $cfg['http'].'control/id/'.$id);
+    $html->nav($server['address'], $cfg['http'].'control/id/'.$id.'/server/'.$sid);
+
+    // Подразделы
+    $aSub = array('install', 'delete', 'update', 'plugin', 'config', 'search');
+
+    // Если выбран подраздел
+    if(isset($url['subsection']) AND in_array($url['subsection'], $aSub))
+    {
+        $html->nav('Плагины', $cfg['http'].'control/id/'.$id.'/server/'.$sid.'/section/plugins');
+
+        $nmch = sys::rep_act('ctrl_server_plugins_go_'.$sid, 10);
+
+        include(SEC.'control/servers/games/plugins/'.$url['subsection'].'.php');
+    }else{
+        $html->nav('Плагины');
+
+        // Если есть кеш
+        if($mcache->get('ctrl_server_plugins_'.$sid) != '')
+            $html->arr['main'] = $mcache->get('ctrl_server_plugins_'.$sid);
+        else{
+            include(LIB.'games/plugins.php');
+
+            // Категории
+            $cats = $sql->query('SELECT `id`, `name` FROM `plugins_category` WHERE `game`="'.$server['game'].'" ORDER BY `sort` ASC');
+            while($cat = $sql->get($cats))
+            {
+                // Плагины
+                $plugins = $sql->query('SELECT `id`, `name`, `desc`, `images`, `status`, `upd`, `packs`, `price` FROM `plugins` WHERE `cat`="'.$cat['id'].'" ORDER BY `sort`, `id` ASC');
+                while($plugin = $sql->get($plugins))
+                {
+                    // Проверка, установлен ли плагин на сервер
+                    $sql->query('SELECT `id` FROM `control_plugins_install` WHERE `server`="'.$sid.'" AND `plugin`="'.$plugin['id'].'" LIMIT 1');
+                    if($sql->num())
+                        continue;
 
-					// Проверка наличия обновленной версии плагина
-					if($plugin['upd'])
-					{
-						$idp = $plugin['id'];
-
-						$sql->query('SELECT `name`, `desc`, `images`, `status`, `packs`, `price` FROM `plugins_update` WHERE `plugin`="'.$plugin['id'].'" ORDER BY `id` DESC LIMIT 1');
-						if($sql->num())
-						{
-							$plugin = $sql->get();
+                    // Проверка наличия обновленной версии плагина
+                    if($plugin['upd'])
+                    {
+                        $idp = $plugin['id'];
+
+                        $sql->query('SELECT `name`, `desc`, `images`, `status`, `packs`, `price` FROM `plugins_update` WHERE `plugin`="'.$plugin['id'].'" ORDER BY `id` DESC LIMIT 1');
+                        if($sql->num())
+                        {
+                            $plugin = $sql->get();
 
-							$plugin['id'] = $idp;
-						}else
-							$plugin['upd'] = 0;
-					}
+                            $plugin['id'] = $idp;
+                        }else
+                            $plugin['upd'] = 0;
+                    }
 
-					// Проверка на доступность плагина к установленной на сервере сборке
-					$packs = strpos($plugin['packs'], ':') ? explode(':',$plugin['packs']) : array($plugin['packs']);
-					if(!in_array($server['pack'], $packs) AND $plugin['packs'] != 'all')
-						continue;
+                    // Проверка на доступность плагина к установленной на сервере сборке
+                    $packs = strpos($plugin['packs'], ':') ? explode(':',$plugin['packs']) : array($plugin['packs']);
+                    if(!in_array($server['pack'], $packs) AND $plugin['packs'] != 'all')
+                        continue;
 
-					$images = plugins::images($plugin['images'], $plugin['id']);
+                    $images = plugins::images($plugin['images'], $plugin['id']);
 
-					if($plugin['price'])
-					{
-						$sql->query('SELECT `id` FROM `plugins_buy` WHERE `plugin`="'.$plugin['id'].'" AND `server`="'.$sid.'" LIMIT 1');
-						$buy = $sql->num();
-					}
+                    if($plugin['price'])
+                    {
+                        $sql->query('SELECT `id` FROM `plugins_buy` WHERE `plugin`="'.$plugin['id'].'" AND `server`="'.$sid.'" LIMIT 1');
+                        $buy = $sql->num();
+                    }
 
-					// Шаблон плагина
-					$html->get('plugin', 'sections/control/servers/games/plugins');
+                    // Шаблон плагина
+                    $html->get('plugin', 'sections/control/servers/games/plugins');
 
-						$html->set('id', $id);
-						$html->set('server', $sid);
-						$html->set('plugin', $plugin['id']);
+                        $html->set('id', $id);
+                        $html->set('server', $sid);
+                        $html->set('plugin', $plugin['id']);
 
-						plugins::status($plugin['status']);
+                        plugins::status($plugin['status']);
 
-						$html->set('name', htmlspecialchars_decode($plugin['name']));
-						$html->set('desc', htmlspecialchars_decode($plugin['desc']));
+                        $html->set('name', htmlspecialchars_decode($plugin['name']));
+                        $html->set('desc', htmlspecialchars_decode($plugin['desc']));
 
-						if(!empty($images))
-						{
-							$html->unit('images', 1);
-							$html->set('images', $images);
-						}else
-							$html->unit('images');
+                        if(!empty($images))
+                        {
+                            $html->unit('images', 1);
+                            $html->set('images', $images);
+                        }else
+                            $html->unit('images');
 
-						if(!$buy AND $plugin['price'])
-						{
-							$html->unit('price', true, true);
-							$html->set('price', $plugin['price']);
-						}else
-							$html->unit('price', false, true);
+                        if(!$buy AND $plugin['price'])
+                        {
+                            $html->unit('price', true, true);
+                            $html->set('price', $plugin['price']);
+                        }else
+                            $html->unit('price', false, true);
 
-					$html->pack('plugins');
-				}
+                    $html->pack('plugins');
+                }
 
-				// Шаблон блока плагинов
-				$html->get('category', 'sections/control/servers/games/plugins');
+                // Шаблон блока плагинов
+                $html->get('category', 'sections/control/servers/games/plugins');
 
-					$html->set('name', $cat['name']);
-					$html->set('plugins', isset($html->arr['plugins']) ? $html->arr['plugins'] : 'Доступных для установки плагинов нет.', 1);
+                    $html->set('name', $cat['name']);
+                    $html->set('plugins', isset($html->arr['plugins']) ? $html->arr['plugins'] : 'Доступных для установки плагинов нет.', 1);
 
-				$html->pack('addons');
-			}
+                $html->pack('addons');
+            }
 
-			unset($cats, $cat, $plugins, $plugin);
+            unset($cats, $cat, $plugins, $plugin);
 
-			// Список установленных плагинов на сервер (отдельный блок)
-			$pl_ins = $sql->query('SELECT `plugin`, `upd`, `time` FROM `control_plugins_install` WHERE `server`="'.$sid.'" ORDER BY `plugin`');
-			while($plugin = $sql->get($pl_ins))
-			{
-				$sql->query('SELECT `id` FROM `plugins` WHERE `id`="'.$plugin['plugin'].'" LIMIT 1');
-				if(!$sql->num())
-					continue;
+            // Список установленных плагинов на сервер (отдельный блок)
+            $pl_ins = $sql->query('SELECT `plugin`, `upd`, `time` FROM `control_plugins_install` WHERE `server`="'.$sid.'" ORDER BY `plugin`');
+            while($plugin = $sql->get($pl_ins))
+            {
+                $sql->query('SELECT `id` FROM `plugins` WHERE `id`="'.$plugin['plugin'].'" LIMIT 1');
+                if(!$sql->num())
+                    continue;
 
-				$isUpd = $plugin['upd'];
-
-				// Если установлен обновленный плагин
-				if($isUpd)
-					$sql->query('SELECT `name`, `desc`, `status`, `cfg`, `upd` FROM `plugins_update` WHERE `id`="'.$isUpd.'" LIMIT 1');
-				else
-					$sql->query('SELECT `name`, `desc`, `status`, `cfg`, `upd` FROM `plugins` WHERE `id`="'.$plugin['plugin'].'" LIMIT 1');
+                $isUpd = $plugin['upd'];
+
+                // Если установлен обновленный плагин
+                if($isUpd)
+                    $sql->query('SELECT `name`, `desc`, `status`, `cfg`, `upd` FROM `plugins_update` WHERE `id`="'.$isUpd.'" LIMIT 1');
+                else
+                    $sql->query('SELECT `name`, `desc`, `status`, `cfg`, `upd` FROM `plugins` WHERE `id`="'.$plugin['plugin'].'" LIMIT 1');
 
-				$plugin = array_merge($plugin, $sql->get());
+                $plugin = array_merge($plugin, $sql->get());
 
-				// Шаблон плагина
-				$html->get('plugin_install', 'sections/control/servers/games/plugins');
+                // Шаблон плагина
+                $html->get('plugin_install', 'sections/control/servers/games/plugins');
 
-					$html->set('id', $id);
-					$html->set('server', $sid);
-					$html->set('plugin', $plugin['plugin']);
+                    $html->set('id', $id);
+                    $html->set('server', $sid);
+                    $html->set('plugin', $plugin['plugin']);
 
-					plugins::status($plugin['status']);
+                    plugins::status($plugin['status']);
 
-					if($plugin['cfg']) $html->unit('config', 1); else $html->unit('config');
+                    if($plugin['cfg']) $html->unit('config', 1); else $html->unit('config');
 
-					if($plugin['upd']) $html->unit('update', 1); else $html->unit('update');
+                    if($plugin['upd']) $html->unit('update', 1); else $html->unit('update');
 
-					$html->set('name', htmlspecialchars_decode($plugin['name']));
-					$html->set('time', sys::today($plugin['time']));
-					$html->set('desc', htmlspecialchars_decode($plugin['desc']));
+                    $html->set('name', htmlspecialchars_decode($plugin['name']));
+                    $html->set('time', sys::today($plugin['time']));
+                    $html->set('desc', htmlspecialchars_decode($plugin['desc']));
 
-				$html->pack('install');
-			}
+                $html->pack('install');
+            }
 
-			$html->get('plugins', 'sections/control/servers/games');
+            $html->get('plugins', 'sections/control/servers/games');
 
-				$html->set('id', $id);
-				$html->set('server', $sid);
-				$html->set('addons', isset($html->arr['addons']) ? $html->arr['addons'] : '');
-				$html->set('install', isset($html->arr['install']) ? $html->arr['install'] : 'Установленные плагины отсутствуют.');
+                $html->set('id', $id);
+                $html->set('server', $sid);
+                $html->set('addons', isset($html->arr['addons']) ? $html->arr['addons'] : '');
+                $html->set('install', isset($html->arr['install']) ? $html->arr['install'] : 'Установленные плагины отсутствуют.');
 
-			$html->pack('main');
+            $html->pack('main');
 
-			$mcache->set('ctrl_server_plugins_'.$sid, $html->arr['main'], false, 60);
-		}
-	}
+            $mcache->set('ctrl_server_plugins_'.$sid, $html->arr['main'], false, 60);
+        }
+    }
 ?>

+ 40 - 40
system/sections/control/servers/csgo/rcon.php

@@ -1,57 +1,57 @@
 <?php
-	if(!DEFINED('EGP'))
-		exit(header('Refresh: 0; URL=http://'.$_SERVER['SERVER_NAME'].'/404'));
+    if(!DEFINED('EGP'))
+        exit(header('Refresh: 0; URL=http://'.$_SERVER['SERVER_NAME'].'/404'));
 
-	if($go)
-	{
-		include(LIB.'control/'.$server['game'].'/rcon.php');
+    if($go)
+    {
+        include(LIB.'control/'.$server['game'].'/rcon.php');
 
-		if(isset($url['action']) AND in_array($url['action'], array('kick', 'kill')))
-		{
-			$player = isset($_POST['player']) ? $_POST['player'] : sys::outjs(array('e' => 'Необходимо выбрать игрока.'));
+        if(isset($url['action']) AND in_array($url['action'], array('kick', 'kill')))
+        {
+            $player = isset($_POST['player']) ? $_POST['player'] : sys::outjs(array('e' => 'Необходимо выбрать игрока.'));
 
-			if($url['action'] == 'kick')
-				rcon::cmd(array_merge($server, array('id' => $id)), 'kickid "'.$player.'" "EGP Panel"');
-			else
-				rcon::cmd(array_merge($server, array('id' => $id)), 'sm_slay "'.$player.'"');
+            if($url['action'] == 'kick')
+                rcon::cmd(array_merge($server, array('id' => $id)), 'kickid "'.$player.'" "EGP Panel"');
+            else
+                rcon::cmd(array_merge($server, array('id' => $id)), 'sm_slay "'.$player.'"');
 
-			sys::outjs(array('s' => 'ok'));
-		}
+            sys::outjs(array('s' => 'ok'));
+        }
 
-		include(LIB.'geo.php');
-		$SxGeo = new SxGeo(DATA.'SxGeoCity.dat');
+        include(LIB.'geo.php');
+        $SxGeo = new SxGeo(DATA.'SxGeoCity.dat');
 
-		$aPlayers = rcon::players(rcon::cmd(array_merge($server, array('id' => $id))));
+        $aPlayers = rcon::players(rcon::cmd(array_merge($server, array('id' => $id))));
 
-		foreach($aPlayers as $i => $aPlayer)
-		{
-			$html->get('player', 'sections/control/servers/'.$server['game'].'/rcon');
+        foreach($aPlayers as $i => $aPlayer)
+        {
+            $html->get('player', 'sections/control/servers/'.$server['game'].'/rcon');
 
-				$html->set('i', $i);
-				$html->set('userid', $aPlayer['userid']);
-				$html->set('name', $aPlayer['name']);
-				$html->set('steamid', $aPlayer['steamid']);
-				$html->set('time', $aPlayer['time']);
-				$html->set('ping', $aPlayer['ping']);
-				$html->set('ip', $aPlayer['ip']);
-				$html->set('ico', $aPlayer['ico']);
-				$html->set('country', $aPlayer['country']);
+                $html->set('i', $i);
+                $html->set('userid', $aPlayer['userid']);
+                $html->set('name', $aPlayer['name']);
+                $html->set('steamid', $aPlayer['steamid']);
+                $html->set('time', $aPlayer['time']);
+                $html->set('ping', $aPlayer['ping']);
+                $html->set('ip', $aPlayer['ip']);
+                $html->set('ico', $aPlayer['ico']);
+                $html->set('country', $aPlayer['country']);
 
-			$html->pack('players');
-		}
+            $html->pack('players');
+        }
 
-		sys::outjs(array('s' => isset($html->arr['players']) ? $html->arr['players'] : ''));
-	}
+        sys::outjs(array('s' => isset($html->arr['players']) ? $html->arr['players'] : ''));
+    }
 
-	$html->nav('Список подключенных серверов', $cfg['http'].'control');
-	$html->nav('Список игровых серверов #'.$id, $cfg['http'].'control/id/'.$id);
-	$html->nav($server['address'], $cfg['http'].'control/id/'.$id.'/server/'.$sid);
+    $html->nav('Список подключенных серверов', $cfg['http'].'control');
+    $html->nav('Список игровых серверов #'.$id, $cfg['http'].'control/id/'.$id);
+    $html->nav($server['address'], $cfg['http'].'control/id/'.$id.'/server/'.$sid);
     $html->nav('Rcon управление игроками');
 
-	$html->get('rcon', 'sections/control/servers/'.$server['game']);
+    $html->get('rcon', 'sections/control/servers/'.$server['game']);
 
-		$html->set('id', $id);
-		$html->set('server', $sid);
+        $html->set('id', $id);
+        $html->set('server', $sid);
 
-	$html->pack('main');
+    $html->pack('main');
 ?>

+ 60 - 60
system/sections/control/servers/csgo/settings.php

@@ -1,63 +1,63 @@
 <?php
     if(!DEFINED('EGP'))
-		exit(header('Refresh: 0; URL=http://'.$_SERVER['SERVER_NAME'].'/404'));
-
-	$sql->query('SELECT `uid`, `pack` FROM `control_servers` WHERE `id`="'.$sid.'" LIMIT 1');
-	$server = array_merge($server, $sql->get());
-
-	$html->nav('Список подключенных серверов', $cfg['http'].'control');
-	$html->nav('Список игровых серверов #'.$id, $cfg['http'].'control/id/'.$id);
-	$html->nav($server['address'], $cfg['http'].'control/id/'.$id.'/server/'.$sid);
-
-	$aSub = array('start', 'server', 'admins', 'bans', 'firewall', 'crontab', 'startlogs', 'debug', 'logs', 'smlogs', 'pack', 'file');
-
-	// Если выбран подраздел
-	if(isset($url['subsection']) AND in_array($url['subsection'], $aSub))
-	{
-		$html->nav('Настройки', $cfg['http'].'control/id/'.$id.'/server/'.$sid.'/section/settings');
-
-		if($go)
-			$nmch = sys::rep_act('ctrl_server_settings_go_'.$sid, 10);
-
-		if(in_array($url['subsection'], $aRouteSub['settings']))
-			include(SEC.'control/servers/games/settings/'.$url['subsection'].'.php');
-		else
-			include(SEC.'control/servers/'.$server['game'].'/settings/'.$url['subsection'].'.php');
-	}else{
-		$html->nav('Настройки');
-
-		if($mcache->get('ctrl_server_settings_'.$sid) != '')
-			$html->arr['main'] = $mcache->get('ctrl_server_settings_'.$sid);
-		else{
-			$aEditslist = 1;
-			$ctrlmod = true;
-			include(DATA.'filedits.php');
-
-			// Построение списка доступных сборок
-			$aPacks = $cfg['control_packs'][$server['game']];
-
-			$packs = '<option value="'.$server['pack'].'">'.$aPacks[$server['pack']].'</option>';
-			unset($aPacks[$server['pack']]);
-
-			foreach($aPacks as $pack => $desc)
-				$packs .= '<option value="'.$pack.'">'.$desc.'</option>';
-
-			include(SEC.'control/servers/'.$server['game'].'/settings/start.php');
-
-			$html->get('settings', 'sections/control/servers/'.$server['game']);
-				$html->set('id', $id);
-				$html->set('server', $sid);
-				$html->set('packs', $packs);
-				$html->set('start', $html->arr['start']);
-				if(isset($html->arr['edits']))
-				{
-					$html->set('edits', $html->arr['edits']);
-					$html->unit('edits', 1);
-				}else
-					$html->unit('edits');
-			$html->pack('main');
-
-			$mcache->set('ctrl_server_settings_'.$sid, $html->arr['main'], false, 60);
-		}
-	}
+        exit(header('Refresh: 0; URL=http://'.$_SERVER['SERVER_NAME'].'/404'));
+
+    $sql->query('SELECT `uid`, `pack` FROM `control_servers` WHERE `id`="'.$sid.'" LIMIT 1');
+    $server = array_merge($server, $sql->get());
+
+    $html->nav('Список подключенных серверов', $cfg['http'].'control');
+    $html->nav('Список игровых серверов #'.$id, $cfg['http'].'control/id/'.$id);
+    $html->nav($server['address'], $cfg['http'].'control/id/'.$id.'/server/'.$sid);
+
+    $aSub = array('start', 'server', 'admins', 'bans', 'firewall', 'crontab', 'startlogs', 'debug', 'logs', 'smlogs', 'pack', 'file');
+
+    // Если выбран подраздел
+    if(isset($url['subsection']) AND in_array($url['subsection'], $aSub))
+    {
+        $html->nav('Настройки', $cfg['http'].'control/id/'.$id.'/server/'.$sid.'/section/settings');
+
+        if($go)
+            $nmch = sys::rep_act('ctrl_server_settings_go_'.$sid, 10);
+
+        if(in_array($url['subsection'], $aRouteSub['settings']))
+            include(SEC.'control/servers/games/settings/'.$url['subsection'].'.php');
+        else
+            include(SEC.'control/servers/'.$server['game'].'/settings/'.$url['subsection'].'.php');
+    }else{
+        $html->nav('Настройки');
+
+        if($mcache->get('ctrl_server_settings_'.$sid) != '')
+            $html->arr['main'] = $mcache->get('ctrl_server_settings_'.$sid);
+        else{
+            $aEditslist = 1;
+            $ctrlmod = true;
+            include(DATA.'filedits.php');
+
+            // Построение списка доступных сборок
+            $aPacks = $cfg['control_packs'][$server['game']];
+
+            $packs = '<option value="'.$server['pack'].'">'.$aPacks[$server['pack']].'</option>';
+            unset($aPacks[$server['pack']]);
+
+            foreach($aPacks as $pack => $desc)
+                $packs .= '<option value="'.$pack.'">'.$desc.'</option>';
+
+            include(SEC.'control/servers/'.$server['game'].'/settings/start.php');
+
+            $html->get('settings', 'sections/control/servers/'.$server['game']);
+                $html->set('id', $id);
+                $html->set('server', $sid);
+                $html->set('packs', $packs);
+                $html->set('start', $html->arr['start']);
+                if(isset($html->arr['edits']))
+                {
+                    $html->set('edits', $html->arr['edits']);
+                    $html->unit('edits', 1);
+                }else
+                    $html->unit('edits');
+            $html->pack('main');
+
+            $mcache->set('ctrl_server_settings_'.$sid, $html->arr['main'], false, 60);
+        }
+    }
 ?>

+ 79 - 79
system/sections/control/servers/csgo/settings/admins.php

@@ -1,112 +1,112 @@
 <?php
     if(!DEFINED('EGP'))
-		exit(header('Refresh: 0; URL=http://'.$_SERVER['SERVER_NAME'].'/404'));
+        exit(header('Refresh: 0; URL=http://'.$_SERVER['SERVER_NAME'].'/404'));
 
     $html->nav('Управление администраторами');
 
-	if($go)
-	{
-		$sql->query('SELECT `address`, `passwd` FROM `control` WHERE `id`="'.$id.'" LIMIT 1');
-		$unit = $sql->get();
+    if($go)
+    {
+        $sql->query('SELECT `address`, `passwd` FROM `control` WHERE `id`="'.$id.'" LIMIT 1');
+        $unit = $sql->get();
 
-		include(LIB.'ssh.php');
+        include(LIB.'ssh.php');
 
-		if(!$ssh->auth($unit['passwd'], $unit['address']))
-			sys::outjs(array('e' => sys::text('error', 'ssh')), $nmch);
+        if(!$ssh->auth($unit['passwd'], $unit['address']))
+            sys::outjs(array('e' => sys::text('error', 'ssh')), $nmch);
 
-		$aData = array();
+        $aData = array();
 
-		$aData['active'] = isset($_POST['active']) ? $_POST['active'] : '';
-		$aData['value'] = isset($_POST['value']) ? $_POST['value'] : '';
-		$aData['passwd'] = isset($_POST['passwd']) ? $_POST['passwd'] : '';
-		$aData['flags'] = isset($_POST['flags']) ? $_POST['flags'] : '';
-		$aData['immunity'] = isset($_POST['immunity']) ? sys::int($_POST['immunity']) : '';
-		$aData['time'] = isset($_POST['time']) ? $_POST['time'] : '';
-		$aData['info'] = isset($_POST['info']) ? $_POST['info'] : '';
+        $aData['active'] = isset($_POST['active']) ? $_POST['active'] : '';
+        $aData['value'] = isset($_POST['value']) ? $_POST['value'] : '';
+        $aData['passwd'] = isset($_POST['passwd']) ? $_POST['passwd'] : '';
+        $aData['flags'] = isset($_POST['flags']) ? $_POST['flags'] : '';
+        $aData['immunity'] = isset($_POST['immunity']) ? sys::int($_POST['immunity']) : '';
+        $aData['time'] = isset($_POST['time']) ? $_POST['time'] : '';
+        $aData['info'] = isset($_POST['info']) ? $_POST['info'] : '';
 
-		// Удаление текущих записей
-		$sql->query('DELETE FROM `control_admins_'.$server['game'].'` WHERE `server`="'.$sid.'"');
+        // Удаление текущих записей
+        $sql->query('DELETE FROM `control_admins_'.$server['game'].'` WHERE `server`="'.$sid.'"');
 
-		$usini = '';
+        $usini = '';
 
-		foreach($aData['value'] as $index => $val)
-		{
-			if($val != '')
-			{
-				$aDate = isset($aData['time'][$index]) ? explode('.', $aData['time'][$index]) : explode('.', date('d.m.Y', $start_point));
+        foreach($aData['value'] as $index => $val)
+        {
+            if($val != '')
+            {
+                $aDate = isset($aData['time'][$index]) ? explode('.', $aData['time'][$index]) : explode('.', date('d.m.Y', $start_point));
 
-				if(!isset($aDate[1], $aDate[0], $aDate[2]) || !checkdate($aDate[1], $aDate[0], $aDate[2]))
-					$aDate = explode('.', date('d.m.Y', $start_point));
+                if(!isset($aDate[1], $aDate[0], $aDate[2]) || !checkdate($aDate[1], $aDate[0], $aDate[2]))
+                    $aDate = explode('.', date('d.m.Y', $start_point));
 
-				$time = mktime(0, 0, 0, $aDate[1], $aDate[0], $aDate[2]);
+                $time = mktime(0, 0, 0, $aDate[1], $aDate[0], $aDate[2]);
 
-				$aData['active'][$index] = isset($aData['active'][$index]) ? 1 : 0;
-				$aData['passwd'][$index] = isset($aData['passwd'][$index]) ? $aData['passwd'][$index] : '';
-				$aData['flags'][$index] = isset($aData['flags'][$index]) ? $aData['flags'][$index] : '';
-				$aData['info'][$index] = isset($aData['info'][$index]) ? $aData['info'][$index] : '';
+                $aData['active'][$index] = isset($aData['active'][$index]) ? 1 : 0;
+                $aData['passwd'][$index] = isset($aData['passwd'][$index]) ? $aData['passwd'][$index] : '';
+                $aData['flags'][$index] = isset($aData['flags'][$index]) ? $aData['flags'][$index] : '';
+                $aData['info'][$index] = isset($aData['info'][$index]) ? $aData['info'][$index] : '';
 
-				$text = '"'.$val.'" "'.$aData['immunity'][$index].':'.$aData['flags'][$index].'" "'.$aData['passwd'][$index].'"';
+                $text = '"'.$val.'" "'.$aData['immunity'][$index].':'.$aData['flags'][$index].'" "'.$aData['passwd'][$index].'"';
 
-				$sql->query('INSERT INTO `control_admins_'.$server['game'].'` set'
-					.'`server`="'.$sid.'",'
-					.'`value`="'.htmlspecialchars($val).'",'
-					.'`active`="'.$aData['active'][$index].'",'
-					.'`passwd`="'.htmlspecialchars($aData['passwd'][$index]).'",'
-					.'`flags`="'.htmlspecialchars($aData['flags'][$index]).'",'
-					.'`immunity`="'.$aData['immunity'][$index].'",'
-					.'`time`="'.$time.'",'
-					.'`text`="'.htmlspecialchars($text).'",'
-					.'`info`="'.htmlspecialchars($aData['info'][$index]).'"');
+                $sql->query('INSERT INTO `control_admins_'.$server['game'].'` set'
+                    .'`server`="'.$sid.'",'
+                    .'`value`="'.htmlspecialchars($val).'",'
+                    .'`active`="'.$aData['active'][$index].'",'
+                    .'`passwd`="'.htmlspecialchars($aData['passwd'][$index]).'",'
+                    .'`flags`="'.htmlspecialchars($aData['flags'][$index]).'",'
+                    .'`immunity`="'.$aData['immunity'][$index].'",'
+                    .'`time`="'.$time.'",'
+                    .'`text`="'.htmlspecialchars($text).'",'
+                    .'`info`="'.htmlspecialchars($aData['info'][$index]).'"');
 
-				if($aData['active'][$index])
-					$usini .= $text.PHP_EOL;
-			}
-		}
+                if($aData['active'][$index])
+                    $usini .= $text.PHP_EOL;
+            }
+        }
 
-		$temp = sys::temp($usini);
+        $temp = sys::temp($usini);
 
-		$ssh->setfile($temp, '/servers/'.$server['uid'].'/csgo/addons/sourcemod/configs/admins_simple.ini', 0644);
+        $ssh->setfile($temp, '/servers/'.$server['uid'].'/csgo/addons/sourcemod/configs/admins_simple.ini', 0644);
 
-		unlink($temp);
+        unlink($temp);
 
-		$ssh->set('chown server'.$server['uid'].':servers /servers/'.$server['uid'].'/csgo/addons/sourcemod/configs/admins_simple.ini');
+        $ssh->set('chown server'.$server['uid'].':servers /servers/'.$server['uid'].'/csgo/addons/sourcemod/configs/admins_simple.ini');
 
-		$ssh->set("sudo -u server".$server['uid']." screen -p 0 -S s_".$server['uid']." -X eval 'stuff \" sm_reloadadmins\"\015'");
+        $ssh->set("sudo -u server".$server['uid']." screen -p 0 -S s_".$server['uid']." -X eval 'stuff \" sm_reloadadmins\"\015'");
 
-		sys::outjs(array('s' => 'ok'), $nmch);
-	}
+        sys::outjs(array('s' => 'ok'), $nmch);
+    }
 
-	// Построение списка добавленных админов
-	$sql->query('SELECT `id`, `value`, `active`, `passwd`, `flags`, `immunity`, `time`, `info` FROM `control_admins_'.$server['game'].'` WHERE `server`="'.$sid.'" ORDER BY `id` ASC');
-	while($admin = $sql->get())
-	{
-		$html->get('list', 'sections/control/servers/'.$server['game'].'/settings/admins');
+    // Построение списка добавленных админов
+    $sql->query('SELECT `id`, `value`, `active`, `passwd`, `flags`, `immunity`, `time`, `info` FROM `control_admins_'.$server['game'].'` WHERE `server`="'.$sid.'" ORDER BY `id` ASC');
+    while($admin = $sql->get())
+    {
+        $html->get('list', 'sections/control/servers/'.$server['game'].'/settings/admins');
 
-			if($admin['active'])
-				$html->unit('active', 1);
-			else
-				$html->unit('active');
+            if($admin['active'])
+                $html->unit('active', 1);
+            else
+                $html->unit('active');
 
-			$html->set('id', $admin['id']);
-			$html->set('value', $admin['value']);
-			$html->set('passwd', $admin['passwd']);
-			$html->set('flags', $admin['flags']);
-			$html->set('immunity', $admin['immunity']);
-			$html->set('time', date('d.m.y', $admin['time']));
-			$html->set('info', $admin['info']);
+            $html->set('id', $admin['id']);
+            $html->set('value', $admin['value']);
+            $html->set('passwd', $admin['passwd']);
+            $html->set('flags', $admin['flags']);
+            $html->set('immunity', $admin['immunity']);
+            $html->set('time', date('d.m.y', $admin['time']));
+            $html->set('info', $admin['info']);
 
-		$html->pack('admins');
-	}
+        $html->pack('admins');
+    }
 
-	$sql->query('SELECT `id` FROM `control_admins_'.$server['game'].'` WHERE `server`="'.$sid.'" ORDER BY `id` DESC LIMIT 1');
-	$max = $sql->get();
+    $sql->query('SELECT `id` FROM `control_admins_'.$server['game'].'` WHERE `server`="'.$sid.'" ORDER BY `id` DESC LIMIT 1');
+    $max = $sql->get();
 
-	$html->get('admins', 'sections/control/servers/'.$server['game'].'/settings');
+    $html->get('admins', 'sections/control/servers/'.$server['game'].'/settings');
 
-		$html->set('id', $id);
-		$html->set('server', $sid);
-		$html->set('admins', isset($html->arr['admins']) ? $html->arr['admins'] : '');
-		$html->set('index', $max['id'] < 1 ? 0 : $max['id']);
+        $html->set('id', $id);
+        $html->set('server', $sid);
+        $html->set('admins', isset($html->arr['admins']) ? $html->arr['admins'] : '');
+        $html->set('index', $max['id'] < 1 ? 0 : $max['id']);
 
-	$html->pack('main');
+    $html->pack('main');
 ?>

+ 150 - 150
system/sections/control/servers/csgo/settings/bans.php

@@ -1,158 +1,158 @@
 <?php
     if(!DEFINED('EGP'))
-		exit(header('Refresh: 0; URL=http://'.$_SERVER['SERVER_NAME'].'/404'));
+        exit(header('Refresh: 0; URL=http://'.$_SERVER['SERVER_NAME'].'/404'));
 
     $html->nav('Бан листы');
 
-	$sql->query('SELECT `address`, `passwd` FROM `control` WHERE `id`="'.$id.'" LIMIT 1');
-	$unit = $sql->get();
-
-	include(LIB.'ssh.php');
-
-	if(!$ssh->auth($unit['passwd'], $unit['address']))
-		sys::back($cfg['http'].'control/id/'.$id.'/server/'.$sid.'/section/settings');
-
-	// Путь к файлам (banned_user.cfg / banned_ip.cfg)
-	$folder = '/servers/'.$server['uid'].'/csgo';
-
-	// Если бан/разбан/проверка
-	if($go)
-	{
-		$aData = array();
-		
-		$aData['value'] = isset($_POST['value']) ? trim($_POST['value']) : sys::outjs(array('e' => sys::text('servers', 'bans')), $nmch);
-		$aData['userid'] = isset($_POST['userid']) ? sys::int($_POST['userid']) : false;
-		$aData['amxbans'] = isset($_POST['amxbans']) ? true : false;
-
-		// Проверка входных данных
-		if(sys::valid($aData['value'], 'steamid') AND sys::valid($aData['value'], 'ip'))
-			sys::outjs(array('e' => sys::text('servers', 'bans')), $nmch);
-
-		// Если указан steamid
-		if(sys::valid($aData['value'], 'ip'))
-		{
-			// бан
-			if(isset($url['action']) AND $url['action'] == 'ban')
-			{
-				// Если включен sourcebans
-				if($aData['amxbans'] AND $aData['userid'])
-					$ssh->set("sudo -u server".$server['uid']." screen -p 0 -S s_".$server['uid']." -X eval 'stuff \"sm_ban 0 ".$aData['userid']." EGP\"\015'");
-				else
-					$ssh->set("sudo -u server".$server['uid']." screen -p 0 -S s_".$server['uid']." -X eval 'stuff \"banid 0.0 ".$aData['value']." kick\"\015'");
-
-				$ssh->set('cd '.$folder.' && sudo -u server'.$server['uid'].' fgrep '.$aData['value'].' banned_user.cfg | awk \'{print $3}\'');
-
-				if($aData['value'] != trim($ssh->get()))
-					$ssh->set('sudo -u server'.$server['uid'].' sh -c "echo \"banid 0.0 '.$aData['value'].'\" >> '.$folder.'/banned_user.cfg"');
-
-				sys::outjs(array('s' => 'ok'), $nmch);
-
-			// разбан	
-			}elseif(isset($url['action']) AND $url['action'] == 'unban'){
-				// Убираем запись из banned_user.cfg
-				$ssh->set('cd '.$folder.' && sudo -u server'.$server['uid'].' sh -c "cat banned_user.cfg | grep -v '.$aData['value'].' > temp_banned.cfg; echo "" >> temp_banned.cfg && cat temp_banned.cfg > banned_user.cfg; rm temp_banned.cfg"');
-
-				// Если включен sourcebans
-				if($aData['amxbans'])
-					$ssh->set("sudo -u server".$server['uid']." screen -p 0 -S s_".$server['uid']." -X eval 'stuff \"sm_unban ".$aData['value']."\"\015'");
-				else{
-					$ssh->set("sudo -u server".$server['uid']." screen -p 0 -S s_".$server['uid']." -X eval 'stuff \"removeid ".$aData['value']."\"\015'");
-					$ssh->set("sudo -u server".$server['uid']." screen -p 0 -S s_".$server['uid']." -X eval 'stuff \"writeid\"\015'");
-				}
-
-				sys::outjs(array('s' => 'ok'), $nmch);
-			// проверка
-			}else{
-				$ssh->set('cd '.$folder.' && sudo -u server'.$server['uid'].' fgrep '.$aData['value'].' banned_user.cfg | awk \'{print $3}\'');
-
-				if($aData['value'] == trim($ssh->get()))
-					sys::outjs(array('ban' => 'Данный SteamID <u>найден</u> в файле banned_user.cfg'), $nmch);
-
-				sys::outjs(array('unban' => 'Данный SteamID <u>не найден</u> в файле banned_user.cfg'), $nmch);
-			}
-		}else{
-			// бан
-			if(isset($url['action']) AND $url['action'] == 'ban')
-			{
-				// Если включен sourcebans
-				if($aData['amxbans'])
-					$ssh->set("sudo -u server".$server['uid']." screen -p 0 -S s_".$server['uid']." -X eval 'stuff \"sm_ban 0 ".$aData['value']." EGP\"\015'");
-				else
-					$ssh->set("sudo -u server".$server['uid']." screen -p 0 -S s_".$server['uid']." -X eval 'stuff \"addip 0.0 ".$aData['value']." EGP\"\015'");
-
-				$ssh->set('cd '.$folder.' && sudo -u server'.$server['uid'].' fgrep '.$aData['value'].' banned_ip.cfg | awk \'{print $3}\'');
-
-				if($aData['value'] != trim($ssh->get()))
-					$ssh->set('sudo -u server'.$server['uid'].' sh -c "echo \"addip 0.0 '.$aData['value'].'\" >> '.$folder.'/banned_ip.cfg"');
-
-				sys::outjs(array('s' => 'ok'), $nmch);
-
-			// разбан	
-			}elseif(isset($url['action']) AND $url['action'] == 'unban'){
-				// Убираем запись из banned_ip.cfg
-				$ssh->set('cd '.$folder.' && sudo -u server'.$server['uid'].' sh -c "cat banned_ip.cfg | grep -v '.$aData['value'].' > temp_listip.cfg; echo "" >> temp_listip.cfg && cat temp_listip.cfg > banned_ip.cfg; rm temp_listip.cfg"');
-
-				// Если включен sourcebans
-				if($aData['amxbans'])
-					$ssh->set("sudo -u server".$server['uid']." screen -p 0 -S s_".$server['uid']." -X eval 'stuff \"amx_unban ".$aData['value']."\"\015'");
-				else{
-					$ssh->set("sudo -u server".$server['uid']." screen -p 0 -S s_".$server['uid']." -X eval 'stuff \"removeip ".$aData['value']."\"\015'");
-					$ssh->set("sudo -u server".$server['uid']." screen -p 0 -S s_".$server['uid']." -X eval 'stuff \"writeip\"\015'");
-				}
-
-				sys::outjs(array('s' => 'ok'), $nmch);
-			// проверка
-			}else{
-				$ssh->set('cd '.$folder.' && sudo -u server'.$server['uid'].' fgrep '.$aData['value'].' banned_ip.cfg | awk \'{print $3}\'');
-
-				if($aData['value'] == trim($ssh->get()))
-					sys::outjs(array('ban' => 'Данный IP <u>найден</u> в файле banned_ip.cfg'), $nmch);
-
-				sys::outjs(array('unban' => 'Данный IP <u>не найден</u> в файле banned_ip.cfg'), $nmch);
-			}
-		}
-	}
-
-	// Содержимое banned_user.cfg
-	$ssh->set('cd '.$folder.' && cat banned_user.cfg | awk \'{print $3}\' | grep STEAM_');
-	$aBanned = explode("\n", $ssh->get());
-
-	// Содержимое banned_ip.cfg
-	$ssh->set('cd '.$folder.' && cat banned_ip.cfg | awk \'{print $3}\' | egrep "(25[0-5]|2[0-4][0-9]|[0-1][0-9]{2}|[0-9]{2}|[0-9])(\.(25[0-5]|2[0-4][0-9]|[0-1][0-9]{2}|[0-9]{2}|[0-9])){3}"');
-	$aListip = explode("\n", $ssh->get());
-
-	if(isset($aBanned[count($aBanned)-1]) AND $aBanned[count($aBanned)-1] == '')
-		unset($aBanned[count($aBanned)-1]);
-
-	if(isset($aListip[count($aListip)-1]) AND $aListip[count($aListip)-1] == '')
-		unset($aListip[count($aListip)-1]);
-
-	// Построение списка забаненых по steamid
-	foreach($aBanned as $line => $steam)
-	{
-		$html->get('bans_list', 'sections/control/servers/games/settings');
-
-			$html->set('value', trim($steam));
-
-		$html->pack('banned');
-	}
+    $sql->query('SELECT `address`, `passwd` FROM `control` WHERE `id`="'.$id.'" LIMIT 1');
+    $unit = $sql->get();
+
+    include(LIB.'ssh.php');
+
+    if(!$ssh->auth($unit['passwd'], $unit['address']))
+        sys::back($cfg['http'].'control/id/'.$id.'/server/'.$sid.'/section/settings');
+
+    // Путь к файлам (banned_user.cfg / banned_ip.cfg)
+    $folder = '/servers/'.$server['uid'].'/csgo';
+
+    // Если бан/разбан/проверка
+    if($go)
+    {
+        $aData = array();
+        
+        $aData['value'] = isset($_POST['value']) ? trim($_POST['value']) : sys::outjs(array('e' => sys::text('servers', 'bans')), $nmch);
+        $aData['userid'] = isset($_POST['userid']) ? sys::int($_POST['userid']) : false;
+        $aData['amxbans'] = isset($_POST['amxbans']) ? true : false;
+
+        // Проверка входных данных
+        if(sys::valid($aData['value'], 'steamid') AND sys::valid($aData['value'], 'ip'))
+            sys::outjs(array('e' => sys::text('servers', 'bans')), $nmch);
+
+        // Если указан steamid
+        if(sys::valid($aData['value'], 'ip'))
+        {
+            // бан
+            if(isset($url['action']) AND $url['action'] == 'ban')
+            {
+                // Если включен sourcebans
+                if($aData['amxbans'] AND $aData['userid'])
+                    $ssh->set("sudo -u server".$server['uid']." screen -p 0 -S s_".$server['uid']." -X eval 'stuff \"sm_ban 0 ".$aData['userid']." EGP\"\015'");
+                else
+                    $ssh->set("sudo -u server".$server['uid']." screen -p 0 -S s_".$server['uid']." -X eval 'stuff \"banid 0.0 ".$aData['value']." kick\"\015'");
+
+                $ssh->set('cd '.$folder.' && sudo -u server'.$server['uid'].' fgrep '.$aData['value'].' banned_user.cfg | awk \'{print $3}\'');
+
+                if($aData['value'] != trim($ssh->get()))
+                    $ssh->set('sudo -u server'.$server['uid'].' sh -c "echo \"banid 0.0 '.$aData['value'].'\" >> '.$folder.'/banned_user.cfg"');
+
+                sys::outjs(array('s' => 'ok'), $nmch);
+
+            // разбан   
+            }elseif(isset($url['action']) AND $url['action'] == 'unban'){
+                // Убираем запись из banned_user.cfg
+                $ssh->set('cd '.$folder.' && sudo -u server'.$server['uid'].' sh -c "cat banned_user.cfg | grep -v '.$aData['value'].' > temp_banned.cfg; echo "" >> temp_banned.cfg && cat temp_banned.cfg > banned_user.cfg; rm temp_banned.cfg"');
+
+                // Если включен sourcebans
+                if($aData['amxbans'])
+                    $ssh->set("sudo -u server".$server['uid']." screen -p 0 -S s_".$server['uid']." -X eval 'stuff \"sm_unban ".$aData['value']."\"\015'");
+                else{
+                    $ssh->set("sudo -u server".$server['uid']." screen -p 0 -S s_".$server['uid']." -X eval 'stuff \"removeid ".$aData['value']."\"\015'");
+                    $ssh->set("sudo -u server".$server['uid']." screen -p 0 -S s_".$server['uid']." -X eval 'stuff \"writeid\"\015'");
+                }
+
+                sys::outjs(array('s' => 'ok'), $nmch);
+            // проверка
+            }else{
+                $ssh->set('cd '.$folder.' && sudo -u server'.$server['uid'].' fgrep '.$aData['value'].' banned_user.cfg | awk \'{print $3}\'');
+
+                if($aData['value'] == trim($ssh->get()))
+                    sys::outjs(array('ban' => 'Данный SteamID <u>найден</u> в файле banned_user.cfg'), $nmch);
+
+                sys::outjs(array('unban' => 'Данный SteamID <u>не найден</u> в файле banned_user.cfg'), $nmch);
+            }
+        }else{
+            // бан
+            if(isset($url['action']) AND $url['action'] == 'ban')
+            {
+                // Если включен sourcebans
+                if($aData['amxbans'])
+                    $ssh->set("sudo -u server".$server['uid']." screen -p 0 -S s_".$server['uid']." -X eval 'stuff \"sm_ban 0 ".$aData['value']." EGP\"\015'");
+                else
+                    $ssh->set("sudo -u server".$server['uid']." screen -p 0 -S s_".$server['uid']." -X eval 'stuff \"addip 0.0 ".$aData['value']." EGP\"\015'");
+
+                $ssh->set('cd '.$folder.' && sudo -u server'.$server['uid'].' fgrep '.$aData['value'].' banned_ip.cfg | awk \'{print $3}\'');
+
+                if($aData['value'] != trim($ssh->get()))
+                    $ssh->set('sudo -u server'.$server['uid'].' sh -c "echo \"addip 0.0 '.$aData['value'].'\" >> '.$folder.'/banned_ip.cfg"');
+
+                sys::outjs(array('s' => 'ok'), $nmch);
+
+            // разбан   
+            }elseif(isset($url['action']) AND $url['action'] == 'unban'){
+                // Убираем запись из banned_ip.cfg
+                $ssh->set('cd '.$folder.' && sudo -u server'.$server['uid'].' sh -c "cat banned_ip.cfg | grep -v '.$aData['value'].' > temp_listip.cfg; echo "" >> temp_listip.cfg && cat temp_listip.cfg > banned_ip.cfg; rm temp_listip.cfg"');
+
+                // Если включен sourcebans
+                if($aData['amxbans'])
+                    $ssh->set("sudo -u server".$server['uid']." screen -p 0 -S s_".$server['uid']." -X eval 'stuff \"amx_unban ".$aData['value']."\"\015'");
+                else{
+                    $ssh->set("sudo -u server".$server['uid']." screen -p 0 -S s_".$server['uid']." -X eval 'stuff \"removeip ".$aData['value']."\"\015'");
+                    $ssh->set("sudo -u server".$server['uid']." screen -p 0 -S s_".$server['uid']." -X eval 'stuff \"writeip\"\015'");
+                }
+
+                sys::outjs(array('s' => 'ok'), $nmch);
+            // проверка
+            }else{
+                $ssh->set('cd '.$folder.' && sudo -u server'.$server['uid'].' fgrep '.$aData['value'].' banned_ip.cfg | awk \'{print $3}\'');
+
+                if($aData['value'] == trim($ssh->get()))
+                    sys::outjs(array('ban' => 'Данный IP <u>найден</u> в файле banned_ip.cfg'), $nmch);
+
+                sys::outjs(array('unban' => 'Данный IP <u>не найден</u> в файле banned_ip.cfg'), $nmch);
+            }
+        }
+    }
+
+    // Содержимое banned_user.cfg
+    $ssh->set('cd '.$folder.' && cat banned_user.cfg | awk \'{print $3}\' | grep STEAM_');
+    $aBanned = explode("\n", $ssh->get());
+
+    // Содержимое banned_ip.cfg
+    $ssh->set('cd '.$folder.' && cat banned_ip.cfg | awk \'{print $3}\' | egrep "(25[0-5]|2[0-4][0-9]|[0-1][0-9]{2}|[0-9]{2}|[0-9])(\.(25[0-5]|2[0-4][0-9]|[0-1][0-9]{2}|[0-9]{2}|[0-9])){3}"');
+    $aListip = explode("\n", $ssh->get());
+
+    if(isset($aBanned[count($aBanned)-1]) AND $aBanned[count($aBanned)-1] == '')
+        unset($aBanned[count($aBanned)-1]);
+
+    if(isset($aListip[count($aListip)-1]) AND $aListip[count($aListip)-1] == '')
+        unset($aListip[count($aListip)-1]);
+
+    // Построение списка забаненых по steamid
+    foreach($aBanned as $line => $steam)
+    {
+        $html->get('bans_list', 'sections/control/servers/games/settings');
+
+            $html->set('value', trim($steam));
+
+        $html->pack('banned');
+    }
 
-	// Построение списка забаненых по ip
-	foreach($aListip as $line => $ip)
-	{
-		$html->get('bans_list', 'sections/control/servers/games/settings');
+    // Построение списка забаненых по ip
+    foreach($aListip as $line => $ip)
+    {
+        $html->get('bans_list', 'sections/control/servers/games/settings');
 
-			$html->set('value', trim($ip));
-
-		$html->pack('listip');
-	}
-
-	$html->get('bans', 'sections/control/servers/'.$server['game'].'/settings');
-
-		$html->set('id', $id);
-		$html->set('server', $sid);
-		$html->set('banned', isset($html->arr['banned']) ? $html->arr['banned'] : '');
-		$html->set('listip', isset($html->arr['listip']) ? $html->arr['listip'] : '');
-
-	$html->pack('main');
+            $html->set('value', trim($ip));
+
+        $html->pack('listip');
+    }
+
+    $html->get('bans', 'sections/control/servers/'.$server['game'].'/settings');
+
+        $html->set('id', $id);
+        $html->set('server', $sid);
+        $html->set('banned', isset($html->arr['banned']) ? $html->arr['banned'] : '');
+        $html->set('listip', isset($html->arr['listip']) ? $html->arr['listip'] : '');
+
+    $html->pack('main');
 ?>

+ 12 - 12
system/sections/control/servers/csgo/settings/debug.php

@@ -1,25 +1,25 @@
 <?php
     if(!DEFINED('EGP'))
-		exit(header('Refresh: 0; URL=http://'.$_SERVER['SERVER_NAME'].'/404'));
+        exit(header('Refresh: 0; URL=http://'.$_SERVER['SERVER_NAME'].'/404'));
 
     $html->nav('Отладочный лог');
 
-	$sql->query('SELECT `address`, `passwd` FROM `control` WHERE `id`="'.$id.'" LIMIT 1');
-	$unit = $sql->get();
+    $sql->query('SELECT `address`, `passwd` FROM `control` WHERE `id`="'.$id.'" LIMIT 1');
+    $unit = $sql->get();
 
-	include(LIB.'ssh.php');
+    include(LIB.'ssh.php');
 
-	if(!$ssh->auth($unit['passwd'], $unit['address']))
-		sys::back($cfg['http'].'control/id/'.$id.'/server/'.$sid.'/section/settings');
+    if(!$ssh->auth($unit['passwd'], $unit['address']))
+        sys::back($cfg['http'].'control/id/'.$id.'/server/'.$sid.'/section/settings');
 
-	// Чтение файла - oldstart.log
-	$file = '/servers/'.$server['uid'].'/debug.log';
+    // Чтение файла - oldstart.log
+    $file = '/servers/'.$server['uid'].'/debug.log';
 
-	$ssh->set('echo "" >> '.$file.' && cat '.$file.' | grep "CRASH: " | grep -ve "^#\|^[[:space:]]*$"');
+    $ssh->set('echo "" >> '.$file.' && cat '.$file.' | grep "CRASH: " | grep -ve "^#\|^[[:space:]]*$"');
 
-	$html->get('debug', 'sections/control/servers/games/settings');
+    $html->get('debug', 'sections/control/servers/games/settings');
 
-		$html->set('log', htmlspecialchars($ssh->get(), NULL, ''));
+        $html->set('log', htmlspecialchars($ssh->get(), NULL, ''));
 
-	$html->pack('main');
+    $html->pack('main');
 ?>

+ 60 - 60
system/sections/control/servers/csgo/settings/logs.php

@@ -1,89 +1,89 @@
 <?php
     if(!DEFINED('EGP'))
-		exit(header('Refresh: 0; URL=http://'.$_SERVER['SERVER_NAME'].'/404'));
+        exit(header('Refresh: 0; URL=http://'.$_SERVER['SERVER_NAME'].'/404'));
 
     $html->nav('Логи');
 
-	$sql->query('SELECT `address`, `passwd` FROM `control` WHERE `id`="'.$id.'" LIMIT 1');
-	$unit = $sql->get();
+    $sql->query('SELECT `address`, `passwd` FROM `control` WHERE `id`="'.$id.'" LIMIT 1');
+    $unit = $sql->get();
 
-	include(LIB.'ssh.php');
+    include(LIB.'ssh.php');
 
-	if(!$ssh->auth($unit['passwd'], $unit['address']))
-		sys::back($cfg['http'].'control/id/'.$id.'/server/'.$sid.'/section/settings');
+    if(!$ssh->auth($unit['passwd'], $unit['address']))
+        sys::back($cfg['http'].'control/id/'.$id.'/server/'.$sid.'/section/settings');
 
-	// Путь к логам
-	$folder = '/servers/'.$server['uid'].'/csgo/logs';
+    // Путь к логам
+    $folder = '/servers/'.$server['uid'].'/csgo/logs';
 
-	// Если выбран лог
-	if(isset($url['log']))
-	{
-		if(sys::valid($url['log'], 'other', $aValid['cslogs']))
-			sys::back($cfg['http'].'control/id/'.$id.'/server/'.$sid.'/section/settings/subsection/logs');
+    // Если выбран лог
+    if(isset($url['log']))
+    {
+        if(sys::valid($url['log'], 'other', $aValid['cslogs']))
+            sys::back($cfg['http'].'control/id/'.$id.'/server/'.$sid.'/section/settings/subsection/logs');
 
-		$ssh->set('sudo -u server'.$server['uid'].' cat '.$folder.'/'.$url['log']);
+        $ssh->set('sudo -u server'.$server['uid'].' cat '.$folder.'/'.$url['log']);
 
-		$html->get('view', 'sections/control/servers/games/settings/logs');
+        $html->get('view', 'sections/control/servers/games/settings/logs');
 
-				$html->set('id', $id);
-				$html->set('server', $sid);
-				$html->set('name', $url['log']);
-				$html->set('log', htmlspecialchars($ssh->get(), NULL, ''));
-				$html->set('uri', 'logs');
+                $html->set('id', $id);
+                $html->set('server', $sid);
+                $html->set('name', $url['log']);
+                $html->set('log', htmlspecialchars($ssh->get(), NULL, ''));
+                $html->set('uri', 'logs');
 
-		$html->pack('main');
-	}else{
-		if(isset($url['delall']))
-		{
-			$ssh->set('cd '.$folder.' && rm *.log');
+        $html->pack('main');
+    }else{
+        if(isset($url['delall']))
+        {
+            $ssh->set('cd '.$folder.' && rm *.log');
 
-			sys::back($cfg['http'].'control/id/'.$id.'/server/'.$sid.'/section/settings/subsection/logs');
-		}
+            sys::back($cfg['http'].'control/id/'.$id.'/server/'.$sid.'/section/settings/subsection/logs');
+        }
 
-		$ssh->set('cd '.$folder.' && du -ab --time | grep -e .log$ | awk \'{print $2" "$3"@"$1"@"$4}\' | sort -Mr');
+        $ssh->set('cd '.$folder.' && du -ab --time | grep -e .log$ | awk \'{print $2" "$3"@"$1"@"$4}\' | sort -Mr');
 
-		// Массив данных
-		$aData = explode("\n", $ssh->get());
+        // Массив данных
+        $aData = explode("\n", $ssh->get());
 
-		if(isset($aData[count($aData)-1]))
-			unset($aData[count($aData)-1]);
+        if(isset($aData[count($aData)-1]))
+            unset($aData[count($aData)-1]);
 
-		// Построение списка
-		foreach($aData as $line => $log)
-		{
-			$aLog = explode('@', $log);
+        // Построение списка
+        foreach($aData as $line => $log)
+        {
+            $aLog = explode('@', $log);
 
-			// Название
-			$name = explode('/', $aLog[2]);
+            // Название
+            $name = explode('/', $aLog[2]);
 
-			if(count($name) > 2)
-				continue;
+            if(count($name) > 2)
+                continue;
 
-			// Дата
-			$date = sys::unidate($aLog[0]);
+            // Дата
+            $date = sys::unidate($aLog[0]);
 
-			// Вес
-			$size = sys::size($aLog[1]);
+            // Вес
+            $size = sys::size($aLog[1]);
 
-			$html->get('list', 'sections/control/servers/games/settings/logs');
+            $html->get('list', 'sections/control/servers/games/settings/logs');
 
-				$html->set('id', $id);
-				$html->set('server', $sid);
-				$html->set('name', end($name));
-				$html->set('uri', 'logs/log/'.end($name));
-				$html->set('date', $date);
-				$html->set('size', $size);
+                $html->set('id', $id);
+                $html->set('server', $sid);
+                $html->set('name', end($name));
+                $html->set('uri', 'logs/log/'.end($name));
+                $html->set('date', $date);
+                $html->set('size', $size);
 
-			$html->pack('logs');
-		}
+            $html->pack('logs');
+        }
 
-		$html->get('logs', 'sections/control/servers/games/settings');
+        $html->get('logs', 'sections/control/servers/games/settings');
 
-			$html->set('id', $id);
-			$html->set('server', $sid);
-			$html->set('uri', '');
-			$html->set('logs', isset($html->arr['logs']) ? $html->arr['logs'] : '');
+            $html->set('id', $id);
+            $html->set('server', $sid);
+            $html->set('uri', '');
+            $html->set('logs', isset($html->arr['logs']) ? $html->arr['logs'] : '');
 
-		$html->pack('main');
-	}
+        $html->pack('main');
+    }
 ?>

+ 79 - 79
system/sections/control/servers/csgo/settings/server.php

@@ -1,116 +1,116 @@
 <?php
     if(!DEFINED('EGP'))
-		exit(header('Refresh: 0; URL=http://'.$_SERVER['SERVER_NAME'].'/404'));
+        exit(header('Refresh: 0; URL=http://'.$_SERVER['SERVER_NAME'].'/404'));
 
     $html->nav('Параметры server.cfg');
 
-	$sql->query('SELECT `address`, `passwd` FROM `control` WHERE `id`="'.$id.'" LIMIT 1');
-	$unit = $sql->get();
+    $sql->query('SELECT `address`, `passwd` FROM `control` WHERE `id`="'.$id.'" LIMIT 1');
+    $unit = $sql->get();
 
-	include(LIB.'ssh.php');
-	
-	if(!$ssh->auth($unit['passwd'], $unit['address']))
-	{
-		if($go)
-			sys::outjs(array('e' => sys::text('error', 'ssh')), $nmch);
-		
-		sys::back($cfg['http'].'control/id/'.$id.'/server/'.$sid.'/section/settings');
-	}
-	
-	include(DATA.'scfg/'.$server['game'].'.php');
+    include(LIB.'ssh.php');
+    
+    if(!$ssh->auth($unit['passwd'], $unit['address']))
+    {
+        if($go)
+            sys::outjs(array('e' => sys::text('error', 'ssh')), $nmch);
+        
+        sys::back($cfg['http'].'control/id/'.$id.'/server/'.$sid.'/section/settings');
+    }
+    
+    include(DATA.'scfg/'.$server['game'].'.php');
 
-	$file = '/servers/'.$server['uid'].'/csgo/cfg/server.cfg';
+    $file = '/servers/'.$server['uid'].'/csgo/cfg/server.cfg';
 
-	// Сохранение изменений
-	if($go)
-	{
-		$servercfg = isset($_POST['config']) ? $_POST['config'] : '';
+    // Сохранение изменений
+    if($go)
+    {
+        $servercfg = isset($_POST['config']) ? $_POST['config'] : '';
 
-		$config = '';
+        $config = '';
 
-		$config_end = $servercfg['\'other\''];
+        $config_end = $servercfg['\'other\''];
 
-		unset($servercfg['\'other\'']);
+        unset($servercfg['\'other\'']);
 
-		foreach($servercfg as $cvar => $val)
-			if($val != '')
-				$config .= str_replace("'", '', $cvar).' "'.$val.'"'."\n";
+        foreach($servercfg as $cvar => $val)
+            if($val != '')
+                $config .= str_replace("'", '', $cvar).' "'.$val.'"'."\n";
 
-		// Временый файл
-		$temp = sys::temp($config.$config_end);
+        // Временый файл
+        $temp = sys::temp($config.$config_end);
 
-		$ssh->setfile($temp, $file, 0644);
+        $ssh->setfile($temp, $file, 0644);
 
-		$ssh->set('chown server'.$server['uid'].':servers '.$file);
+        $ssh->set('chown server'.$server['uid'].':servers '.$file);
 
-		unlink($temp);
+        unlink($temp);
 
-		$ssh->set('sudo -u server'.$server['uid'].' screen -p 0 -S s_'.$server['uid'].' -X eval \'stuff "exec server.cfg"\015\';');
+        $ssh->set('sudo -u server'.$server['uid'].' screen -p 0 -S s_'.$server['uid'].' -X eval \'stuff "exec server.cfg"\015\';');
 
-		sys::outjs(array('s' => 'ok'), $nmch);
-	}
+        sys::outjs(array('s' => 'ok'), $nmch);
+    }
 
-	$ssh->set('echo "" >> '.$file.' && cat '.$file.' | grep -ve "^#\|^[[:space:]]*$"');
+    $ssh->set('echo "" >> '.$file.' && cat '.$file.' | grep -ve "^#\|^[[:space:]]*$"');
 
-	$fScfg = explode("\n", strip_tags($ssh->get()));
+    $fScfg = explode("\n", strip_tags($ssh->get()));
 
-	$servercfg = array();
-	$other = '';
+    $servercfg = array();
+    $other = '';
 
-	// Убираем пробелы и генерируем массив
-	foreach($fScfg as $line)
-	{
-		// имя квара
-		$cvar = sys::first(explode(' ', $line));
+    // Убираем пробелы и генерируем массив
+    foreach($fScfg as $line)
+    {
+        // имя квара
+        $cvar = sys::first(explode(' ', $line));
 
-		if($cvar == '')
-			continue;
+        if($cvar == '')
+            continue;
 
-		// убираем имя квара и оставляем только значение
-		$value = str_replace($cvar.' ', "", $line);
+        // убираем имя квара и оставляем только значение
+        $value = str_replace($cvar.' ', "", $line);
 
-		// выбираем только то, что нам нужно
-		preg_match_all('~([^"]+)~', $value, $cvar_value, PREG_SET_ORDER);
+        // выбираем только то, что нам нужно
+        preg_match_all('~([^"]+)~', $value, $cvar_value, PREG_SET_ORDER);
 
-		// Исключаем комментарии
-		if($cvar == '//')
-			continue;
+        // Исключаем комментарии
+        if($cvar == '//')
+            continue;
 
-		$val = sys::first(explode(' //', $cvar_value[0][1]));
+        $val = sys::first(explode(' //', $cvar_value[0][1]));
 
-		// Добавляем данные в массив
-		if(array_key_exists($cvar, $aScfg))
-			$servercfg[$cvar] = trim($val);
-		else
-			$other .= $line."\n";
-	}
+        // Добавляем данные в массив
+        if(array_key_exists($cvar, $aScfg))
+            $servercfg[$cvar] = trim($val);
+        else
+            $other .= $line."\n";
+    }
 
-	foreach($aScfg as $name => $desc)
-	{
-		if(!isset($servercfg[$name]))
-			$servercfg[$name] = '';
+    foreach($aScfg as $name => $desc)
+    {
+        if(!isset($servercfg[$name]))
+            $servercfg[$name] = '';
 
-		// Формирование формы
-		if(strpos($aScfg_form[$name], 'select'))
-			$form = str_replace('value="'.$servercfg[$name].'"', 'value="'.$servercfg[$name].'" selected="select"', $aScfg_form[$name]);
-		else
-			$form = str_replace('['.$name.']', $servercfg[$name], $aScfg_form[$name]);
+        // Формирование формы
+        if(strpos($aScfg_form[$name], 'select'))
+            $form = str_replace('value="'.$servercfg[$name].'"', 'value="'.$servercfg[$name].'" selected="select"', $aScfg_form[$name]);
+        else
+            $form = str_replace('['.$name.']', $servercfg[$name], $aScfg_form[$name]);
 
-		$html->get('servercfg_list', 'sections/control/servers/games/settings');
+        $html->get('servercfg_list', 'sections/control/servers/games/settings');
 
-			$html->set('name', $name);
-			$html->set('desc', $desc);
-			$html->set('form', $form);
+            $html->set('name', $name);
+            $html->set('desc', $desc);
+            $html->set('form', $form);
 
-		$html->pack('list');
-	}
+        $html->pack('list');
+    }
 
-	$html->get('servercfg', 'sections/control/servers/'.$server['game'].'/settings');
+    $html->get('servercfg', 'sections/control/servers/'.$server['game'].'/settings');
 
-		$html->set('id', $id);
-		$html->set('server', $sid);
-		$html->set('cfg', $html->arr['list']);
-		$html->set('other', $other);
+        $html->set('id', $id);
+        $html->set('server', $sid);
+        $html->set('cfg', $html->arr['list']);
+        $html->set('other', $other);
 
-	$html->pack('main');
+    $html->pack('main');
 ?>

+ 60 - 60
system/sections/control/servers/csgo/settings/smlogs.php

@@ -1,89 +1,89 @@
 <?php
     if(!DEFINED('EGP'))
-		exit(header('Refresh: 0; URL=http://'.$_SERVER['SERVER_NAME'].'/404'));
+        exit(header('Refresh: 0; URL=http://'.$_SERVER['SERVER_NAME'].'/404'));
 
     $html->nav('Логи SourceMod');
 
-	$sql->query('SELECT `address`, `passwd` FROM `control` WHERE `id`="'.$id.'" LIMIT 1');
-	$unit = $sql->get();
+    $sql->query('SELECT `address`, `passwd` FROM `control` WHERE `id`="'.$id.'" LIMIT 1');
+    $unit = $sql->get();
 
-	include(LIB.'ssh.php');
+    include(LIB.'ssh.php');
 
-	if(!$ssh->auth($unit['passwd'], $unit['address']))
-		sys::back($cfg['http'].'control/id/'.$id.'/server/'.$sid.'/section/settings');
+    if(!$ssh->auth($unit['passwd'], $unit['address']))
+        sys::back($cfg['http'].'control/id/'.$id.'/server/'.$sid.'/section/settings');
 
-	// Путь к логам
-	$folder = '/servers/'.$server['uid'].'/csgo/addons/sourcemod/logs';
+    // Путь к логам
+    $folder = '/servers/'.$server['uid'].'/csgo/addons/sourcemod/logs';
 
-	// Если выбран лог
-	if(isset($url['log']))
-	{
-		if(sys::valid($url['log'], 'other', $aValid['csssmlogs']))
-			sys::back($cfg['http'].'control/id/'.$id.'/server/'.$sid.'/section/settings/subsection/smlogs');
+    // Если выбран лог
+    if(isset($url['log']))
+    {
+        if(sys::valid($url['log'], 'other', $aValid['csssmlogs']))
+            sys::back($cfg['http'].'control/id/'.$id.'/server/'.$sid.'/section/settings/subsection/smlogs');
 
-		$ssh->set('sudo -u server'.$server['uid'].' cat '.$folder.'/'.$url['log']);
+        $ssh->set('sudo -u server'.$server['uid'].' cat '.$folder.'/'.$url['log']);
 
-		$html->get('view', 'sections/control/servers/games/settings/logs');
+        $html->get('view', 'sections/control/servers/games/settings/logs');
 
-				$html->set('id', $id);
-				$html->set('server', $sid);
-				$html->set('name', $url['log']);
-				$html->set('log', htmlspecialchars($ssh->get()));
-				$html->set('uri', 'smlogs');
+                $html->set('id', $id);
+                $html->set('server', $sid);
+                $html->set('name', $url['log']);
+                $html->set('log', htmlspecialchars($ssh->get()));
+                $html->set('uri', 'smlogs');
 
-		$html->pack('main');
-	}else{
-		if(isset($url['delall']))
-		{
-			$ssh->set('cd '.$folder.' && rm *.log');
+        $html->pack('main');
+    }else{
+        if(isset($url['delall']))
+        {
+            $ssh->set('cd '.$folder.' && rm *.log');
 
-			sys::back($cfg['http'].'control/id/'.$id.'/server/'.$sid.'/section/settings/subsection/smlogs');
-		}
+            sys::back($cfg['http'].'control/id/'.$id.'/server/'.$sid.'/section/settings/subsection/smlogs');
+        }
 
-		$ssh->set('cd '.$folder.' && du -ab --time | grep -e .log$ | awk \'{print $2" "$3"@"$1"@"$4}\' | sort -Mr');
+        $ssh->set('cd '.$folder.' && du -ab --time | grep -e .log$ | awk \'{print $2" "$3"@"$1"@"$4}\' | sort -Mr');
 
-		// Массив данных
-		$aData = explode("\n", $ssh->get());
+        // Массив данных
+        $aData = explode("\n", $ssh->get());
 
-		if(isset($aData[count($aData)-1]))
-			unset($aData[count($aData)-1]);
+        if(isset($aData[count($aData)-1]))
+            unset($aData[count($aData)-1]);
 
-		// Построение списка
-		foreach($aData as $line => $log)
-		{
-			$aLog = explode('@', $log);
+        // Построение списка
+        foreach($aData as $line => $log)
+        {
+            $aLog = explode('@', $log);
 
-			// Название
-			$name = explode('/', $aLog[2]);
+            // Название
+            $name = explode('/', $aLog[2]);
 
-			if(count($name) > 2)
-				continue;
+            if(count($name) > 2)
+                continue;
 
-			// Дата
-			$date = sys::unidate($aLog[0]);
+            // Дата
+            $date = sys::unidate($aLog[0]);
 
-			// Вес
-			$size = sys::size($aLog[1]);
+            // Вес
+            $size = sys::size($aLog[1]);
 
-			$html->get('list', 'sections/control/servers/games/settings/logs');
+            $html->get('list', 'sections/control/servers/games/settings/logs');
 
-				$html->set('id', $id);
-				$html->set('server', $sid);
-				$html->set('name', end($name));
-				$html->set('uri', 'smlogs/log/'.end($name));
-				$html->set('date', $date);
-				$html->set('size', $size);
+                $html->set('id', $id);
+                $html->set('server', $sid);
+                $html->set('name', end($name));
+                $html->set('uri', 'smlogs/log/'.end($name));
+                $html->set('date', $date);
+                $html->set('size', $size);
 
-			$html->pack('logs');
-		}
+            $html->pack('logs');
+        }
 
-		$html->get('logs', 'sections/control/servers/games/settings');
+        $html->get('logs', 'sections/control/servers/games/settings');
 
-			$html->set('id', $id);
-			$html->set('server', $sid);
-			$html->set('uri', 'sm');
-			$html->set('logs', isset($html->arr['logs']) ? $html->arr['logs'] : '');
+            $html->set('id', $id);
+            $html->set('server', $sid);
+            $html->set('uri', 'sm');
+            $html->set('logs', isset($html->arr['logs']) ? $html->arr['logs'] : '');
 
-		$html->pack('main');
-	}
+        $html->pack('main');
+    }
 ?>

+ 139 - 139
system/sections/control/servers/csgo/settings/start.php

@@ -1,193 +1,193 @@
 <?php
     if(!DEFINED('EGP'))
-		exit(header('Refresh: 0; URL=http://'.$_SERVER['SERVER_NAME'].'/404'));
+        exit(header('Refresh: 0; URL=http://'.$_SERVER['SERVER_NAME'].'/404'));
 
-	$sql->query('SELECT `uid`, `slots`, `map_start`, `vac`, `fastdl`, `autorestart`, `tickrate`, `core_fix`, `pingboost` FROM `control_servers` WHERE `id`="'.$sid.'" LIMIT 1');
-	$server = array_merge($server, $sql->get());
-	
-	$sql->query('SELECT `address`, `passwd` FROM `control` WHERE `id`="'.$id.'" LIMIT 1');
-	$unit = $sql->get();
+    $sql->query('SELECT `uid`, `slots`, `map_start`, `vac`, `fastdl`, `autorestart`, `tickrate`, `core_fix`, `pingboost` FROM `control_servers` WHERE `id`="'.$sid.'" LIMIT 1');
+    $server = array_merge($server, $sql->get());
+    
+    $sql->query('SELECT `address`, `passwd` FROM `control` WHERE `id`="'.$id.'" LIMIT 1');
+    $unit = $sql->get();
 
-	include(LIB.'games/games.php');
+    include(LIB.'games/games.php');
 
-	// Вывод списка карт
-	if(isset($url['maps']))
-		games::maplist($sid, $unit, '/servers/'.$server['uid'].'/csgo/maps', $server['map_start'], false);
+    // Вывод списка карт
+    if(isset($url['maps']))
+        games::maplist($sid, $unit, '/servers/'.$server['uid'].'/csgo/maps', $server['map_start'], false);
 
-	// Вывод списка потоков
-	if(isset($url['core']))
-		ctrl::cpulist($unit, $server['core_fix']);
+    // Вывод списка потоков
+    if(isset($url['core']))
+        ctrl::cpulist($unit, $server['core_fix']);
 
-	// Сохранение
-	if($go AND $url['save'])
-	{
-		$value = isset($url['value']) ? sys::int($url['value']) : sys::outjs(array('s' => 'ok'), $nmch);
-		
-		switch($url['save'])
-		{
-			case 'map':
-				$map = isset($url['value']) ? trim($url['value']) : sys::outjs(array('s' => 'ok'), $nmch);
+    // Сохранение
+    if($go AND $url['save'])
+    {
+        $value = isset($url['value']) ? sys::int($url['value']) : sys::outjs(array('s' => 'ok'), $nmch);
+        
+        switch($url['save'])
+        {
+            case 'map':
+                $map = isset($url['value']) ? trim($url['value']) : sys::outjs(array('s' => 'ok'), $nmch);
 
-				if($map != $server['map_start'])
-					games::maplist($sid, $unit, '/servers/'.$server['uid'].'/csgo/maps', $map, true, $nmch, true);
+                if($map != $server['map_start'])
+                    games::maplist($sid, $unit, '/servers/'.$server['uid'].'/csgo/maps', $map, true, $nmch, true);
 
-				$mcache->delete('ctrl_server_settings_'.$sid);
-				sys::outjs(array('s' => 'ok'), $nmch);
+                $mcache->delete('ctrl_server_settings_'.$sid);
+                sys::outjs(array('s' => 'ok'), $nmch);
 
-			case 'address':
-				if($server['status'] != 'off')
-					sys::outjs(array('e' => 'Необходимо выключить игровой сервер'), $nmch);
+            case 'address':
+                if($server['status'] != 'off')
+                    sys::outjs(array('e' => 'Необходимо выключить игровой сервер'), $nmch);
 
-				$address = isset($_POST['address']) ? trim($_POST['address']) : $server['address'];
+                $address = isset($_POST['address']) ? trim($_POST['address']) : $server['address'];
 
-				if(sys::valid($address, 'other', $aValid['address']))
-					sys::outjs(array('e' => 'Адрес игрового сервера имеет неверный формат'), $nmch);
+                if(sys::valid($address, 'other', $aValid['address']))
+                    sys::outjs(array('e' => 'Адрес игрового сервера имеет неверный формат'), $nmch);
 
-				$sql->query('SELECT `id` FROM `control_servers` WHERE `unit`="'.$id.'" AND `address`="'.$address.'" LIMIT 1');
-				if($sql->num())
-					sys::outjs(array('e' => 'Данный адрес занят другим сервером'), $nmch);
+                $sql->query('SELECT `id` FROM `control_servers` WHERE `unit`="'.$id.'" AND `address`="'.$address.'" LIMIT 1');
+                if($sql->num())
+                    sys::outjs(array('e' => 'Данный адрес занят другим сервером'), $nmch);
 
-				if($address != $server['address'])
-					$sql->query('UPDATE `control_servers` set `address`="'.$address.'" WHERE `id`="'.$sid.'" LIMIT 1');
+                if($address != $server['address'])
+                    $sql->query('UPDATE `control_servers` set `address`="'.$address.'" WHERE `id`="'.$sid.'" LIMIT 1');
 
-				$mcache->delete('ctrl_server_settings_'.$sid);
-				sys::outjs(array('s' => 'ok'), $nmch);
+                $mcache->delete('ctrl_server_settings_'.$sid);
+                sys::outjs(array('s' => 'ok'), $nmch);
 
-			case 'mod':
-				if(in_array($value, array(1, 2, 3, 4, 5)))
-					$sql->query('UPDATE `control_servers` set `pingboost`="'.$value.'" WHERE `id`="'.$sid.'" LIMIT 1');
+            case 'mod':
+                if(in_array($value, array(1, 2, 3, 4, 5)))
+                    $sql->query('UPDATE `control_servers` set `pingboost`="'.$value.'" WHERE `id`="'.$sid.'" LIMIT 1');
 
-				$mcache->delete('ctrl_server_settings_'.$sid);
-				sys::outjs(array('s' => 'ok'), $nmch);
+                $mcache->delete('ctrl_server_settings_'.$sid);
+                sys::outjs(array('s' => 'ok'), $nmch);
 
-			case 'vac':
-				if($value != $server['vac'])
-					$sql->query('UPDATE `control_servers` set `vac`="'.$value.'" WHERE `id`="'.$sid.'" LIMIT 1');
+            case 'vac':
+                if($value != $server['vac'])
+                    $sql->query('UPDATE `control_servers` set `vac`="'.$value.'" WHERE `id`="'.$sid.'" LIMIT 1');
 
-				$mcache->delete('ctrl_server_settings_'.$sid);
-				sys::outjs(array('s' => 'ok'), $nmch);
+                $mcache->delete('ctrl_server_settings_'.$sid);
+                sys::outjs(array('s' => 'ok'), $nmch);
 
-			case 'core_fix':
-				$n = ctrl::cpulist($unit, $server['core_fix'], true);
+            case 'core_fix':
+                $n = ctrl::cpulist($unit, $server['core_fix'], true);
 
-				if($value > $n)
-					sys::outjs(array('e' => 'На физическом сервере нет такого ядра/потока'), $nmch);
+                if($value > $n)
+                    sys::outjs(array('e' => 'На физическом сервере нет такого ядра/потока'), $nmch);
 
-				if($value < 0)
-					$value = 0;
+                if($value < 0)
+                    $value = 0;
 
-				if($value != $server['core_fix'])
-					$sql->query('UPDATE `control_servers` set `core_fix`="'.$value.'" WHERE `id`="'.$sid.'" LIMIT 1');
+                if($value != $server['core_fix'])
+                    $sql->query('UPDATE `control_servers` set `core_fix`="'.$value.'" WHERE `id`="'.$sid.'" LIMIT 1');
 
-				$mcache->delete('ctrl_server_settings_'.$sid);
-				sys::outjs(array('s' => 'ok'), $nmch);
+                $mcache->delete('ctrl_server_settings_'.$sid);
+                sys::outjs(array('s' => 'ok'), $nmch);
 
-			case 'slots':
-				$slots = $value > 64 ? 64 : $value;
-				$slots = $value < 2 ? 2 : $slots;
+            case 'slots':
+                $slots = $value > 64 ? 64 : $value;
+                $slots = $value < 2 ? 2 : $slots;
 
-				if($slots != $server['slots'])
-					$sql->query('UPDATE `control_servers` set `slots`="'.$slots.'" WHERE `id`="'.$sid.'" LIMIT 1');
+                if($slots != $server['slots'])
+                    $sql->query('UPDATE `control_servers` set `slots`="'.$slots.'" WHERE `id`="'.$sid.'" LIMIT 1');
 
-				$mcache->delete('ctrl_server_settings_'.$sid);
-				sys::outjs(array('s' => 'ok'), $nmch);
+                $mcache->delete('ctrl_server_settings_'.$sid);
+                sys::outjs(array('s' => 'ok'), $nmch);
 
-			case 'autorestart':
-				if($value != $server['autorestart'])
-					$sql->query('UPDATE `control_servers` set `autorestart`="'.$value.'" WHERE `id`="'.$sid.'" LIMIT 1');
+            case 'autorestart':
+                if($value != $server['autorestart'])
+                    $sql->query('UPDATE `control_servers` set `autorestart`="'.$value.'" WHERE `id`="'.$sid.'" LIMIT 1');
 
-				$mcache->delete('ctrl_server_settings_'.$sid);
-				sys::outjs(array('s' => 'ok'), $nmch);
+                $mcache->delete('ctrl_server_settings_'.$sid);
+                sys::outjs(array('s' => 'ok'), $nmch);
 
-			case 'tickrate':
-				if(in_array($value, array('64', '128')))
-					$sql->query('UPDATE `control_servers` set `tickrate`="'.$value.'" WHERE `id`="'.$sid.'" LIMIT 1');
+            case 'tickrate':
+                if(in_array($value, array('64', '128')))
+                    $sql->query('UPDATE `control_servers` set `tickrate`="'.$value.'" WHERE `id`="'.$sid.'" LIMIT 1');
 
-				$mcache->delete('ctrl_server_settings_'.$sid);
-				sys::outjs(array('s' => 'ok'), $nmch);
+                $mcache->delete('ctrl_server_settings_'.$sid);
+                sys::outjs(array('s' => 'ok'), $nmch);
 
-			case 'fastdl':
-				include(LIB.'ssh.php');
+            case 'fastdl':
+                include(LIB.'ssh.php');
 
-				if(!$ssh->auth($unit['passwd'], $unit['address']))
-					sys::outjs(array('e' => sys::text('error', 'ssh')), $nmch);
+                if(!$ssh->auth($unit['passwd'], $unit['address']))
+                    sys::outjs(array('e' => sys::text('error', 'ssh')), $nmch);
 
-				if($value)
-				{
-					$fastdl = 'sv_downloadurl "http://'.$unit['address'].':8080/fast_'.$server['uid'].'"'.PHP_EOL
-							.'sv_consistency 1'.PHP_EOL
-							.'sv_allowupload 1'.PHP_EOL
-							.'sv_allowdownload 1';
+                if($value)
+                {
+                    $fastdl = 'sv_downloadurl "http://'.$unit['address'].':8080/fast_'.$server['uid'].'"'.PHP_EOL
+                            .'sv_consistency 1'.PHP_EOL
+                            .'sv_allowupload 1'.PHP_EOL
+                            .'sv_allowdownload 1';
 
-					// Временый файл
-					$temp = sys::temp($fastdl);
+                    // Временый файл
+                    $temp = sys::temp($fastdl);
 
-					$ssh->setfile($temp, '/servers/'.$server['uid'].'/csgo/cfg/fastdl.cfg', 0644);
+                    $ssh->setfile($temp, '/servers/'.$server['uid'].'/csgo/cfg/fastdl.cfg', 0644);
 
-					$ssh->set('chown server'.$server['uid'].':servers /servers/'.$server['uid'].'/csgo/cfg/fastdl.cfg;'
-							.'ln -s /servers/'.$server['uid'].'/csgo /var/nginx/fast_'.$server['uid'].';'
-							.'sed -i '."'s/exec fastdl.cfg//g'".' /servers/'.$server['uid'].'/csgo/cfg/server.cfg;'
-							.'echo "exec fastdl.cfg" >> /servers/'.$server['uid'].'/csgo/cfg/server.cfg');
+                    $ssh->set('chown server'.$server['uid'].':servers /servers/'.$server['uid'].'/csgo/cfg/fastdl.cfg;'
+                            .'ln -s /servers/'.$server['uid'].'/csgo /var/nginx/fast_'.$server['uid'].';'
+                            .'sed -i '."'s/exec fastdl.cfg//g'".' /servers/'.$server['uid'].'/csgo/cfg/server.cfg;'
+                            .'echo "exec fastdl.cfg" >> /servers/'.$server['uid'].'/csgo/cfg/server.cfg');
 
-					unlink($temp);
-				}else
-					$ssh->set('sed -i '."'s/exec fastdl.cfg//g'".' /servers/'.$server['uid'].'/csgo/cfg/server.cfg;'
-							.'rm /servers/'.$server['uid'].'/csgo/cfg/fastdl.cfg; rm /var/nginx/fast_'.$server['uid']);
+                    unlink($temp);
+                }else
+                    $ssh->set('sed -i '."'s/exec fastdl.cfg//g'".' /servers/'.$server['uid'].'/csgo/cfg/server.cfg;'
+                            .'rm /servers/'.$server['uid'].'/csgo/cfg/fastdl.cfg; rm /var/nginx/fast_'.$server['uid']);
 
-				$sql->query('UPDATE `control_servers` set `fastdl`="'.$value.'" WHERE `id`="'.$sid.'" LIMIT 1');
+                $sql->query('UPDATE `control_servers` set `fastdl`="'.$value.'" WHERE `id`="'.$sid.'" LIMIT 1');
 
-				$mcache->delete('ctrl_server_settings_'.$sid);
-				sys::outjs(array('s' => 'ok'), $nmch);
-		}
-	}
-	
-	// Генерация списка слот
-	$slots = '';
+                $mcache->delete('ctrl_server_settings_'.$sid);
+                sys::outjs(array('s' => 'ok'), $nmch);
+        }
+    }
+    
+    // Генерация списка слот
+    $slots = '';
 
-	for($slot = 2; $slot <= 64; $slot+=1)
-		$slots .= '<option value="'.$slot.'">'.$slot.' шт.</option>';
+    for($slot = 2; $slot <= 64; $slot+=1)
+        $slots .= '<option value="'.$slot.'">'.$slot.' шт.</option>';
 
-	// Античит VAC
-	$vac = $server['vac'] ? '<option value="1">Включен</option><option value="0">Выключен</option>' : '<option value="0">Выключен</option><option value="1">Включен</option>';
+    // Античит VAC
+    $vac = $server['vac'] ? '<option value="1">Включен</option><option value="0">Выключен</option>' : '<option value="0">Выключен</option><option value="1">Включен</option>';
 
-	// Быстрая скачака
-	$fastdl = $server['fastdl'] ? '<option value="1">Включен</option><option value="0">Выключен</option>' : '<option value="0">Выключен</option><option value="1">Включен</option>';
+    // Быстрая скачака
+    $fastdl = $server['fastdl'] ? '<option value="1">Включен</option><option value="0">Выключен</option>' : '<option value="0">Выключен</option><option value="1">Включен</option>';
 
-	// Авторестарт при зависании
-	$autorestart = $server['autorestart'] ? '<option value="1">Включен</option><option value="0">Выключен</option>' : '<option value="0">Выключен</option><option value="1">Включен</option>';
+    // Авторестарт при зависании
+    $autorestart = $server['autorestart'] ? '<option value="1">Включен</option><option value="0">Выключен</option>' : '<option value="0">Выключен</option><option value="1">Включен</option>';
 
-	$tickrate = '';
+    $tickrate = '';
 
-	foreach(array('64', '128') as $value)
-		$tickrate .= '<option value="'.$value.'">'.$value.' TickRate</option>';
+    foreach(array('64', '128') as $value)
+        $tickrate .= '<option value="'.$value.'">'.$value.' TickRate</option>';
 
-	$core_fix = $server['core_fix'] ? '<option value="1">1 ядро/поток</option>' : '<option value="0">Автоматическое определение</option>';
+    $core_fix = $server['core_fix'] ? '<option value="1">1 ядро/поток</option>' : '<option value="0">Автоматическое определение</option>';
 
-	// Игровой режим
-	$mods = '<option value="1">Классический обычный</option>'
-		.'<option value="2">Классический соревновательный</option>'
-		.'<option value="3">Гонка вооружений</option>'
-		.'<option value="4">Уничтожение объекта</option>'
-		.'<option value="5">Бой насмерть</option>';
+    // Игровой режим
+    $mods = '<option value="1">Классический обычный</option>'
+        .'<option value="2">Классический соревновательный</option>'
+        .'<option value="3">Гонка вооружений</option>'
+        .'<option value="4">Уничтожение объекта</option>'
+        .'<option value="5">Бой насмерть</option>';
 
-	if(!$server['pingboost'])
-		$server['pingboost'] = 2;
+    if(!$server['pingboost'])
+        $server['pingboost'] = 2;
 
-	$mod = str_replace('value="'.$server['pingboost'], 'value="'.$server['pingboost'].'" selected="select', $mods);
+    $mod = str_replace('value="'.$server['pingboost'], 'value="'.$server['pingboost'].'" selected="select', $mods);
 
-	$html->get('start', 'sections/control/servers/'.$server['game'].'/settings');
+    $html->get('start', 'sections/control/servers/'.$server['game'].'/settings');
 
-		$html->set('id', $id);
-		$html->set('server', $sid);
-		$html->set('map', $server['map_start']);
-		$html->set('address', $server['address']);
-		$html->set('vac', $vac);
-		$html->set('fastdl', $fastdl);
-		$html->set('autorestart', $autorestart);
-		$html->set('core_fix', $core_fix);
-		$html->set('mod', $mod);
-		$html->set('slots', str_replace('"'.$server['slots'].'"', '"'.$server['slots'].'" selected="select"', $slots));
-		$html->set('tickrate', str_replace($server['tickrate'].'"', $server['tickrate'].'" selected="select"', $tickrate));
+        $html->set('id', $id);
+        $html->set('server', $sid);
+        $html->set('map', $server['map_start']);
+        $html->set('address', $server['address']);
+        $html->set('vac', $vac);
+        $html->set('fastdl', $fastdl);
+        $html->set('autorestart', $autorestart);
+        $html->set('core_fix', $core_fix);
+        $html->set('mod', $mod);
+        $html->set('slots', str_replace('"'.$server['slots'].'"', '"'.$server['slots'].'" selected="select"', $slots));
+        $html->set('tickrate', str_replace($server['tickrate'].'"', $server['tickrate'].'" selected="select"', $tickrate));
 
-	$html->pack('start');
+    $html->pack('start');
 ?>

+ 48 - 48
system/sections/control/servers/css/console.php

@@ -1,67 +1,67 @@
 <?php
-	if(!DEFINED('EGP'))
-		exit(header('Refresh: 0; URL=http://'.$_SERVER['SERVER_NAME'].'/404'));
+    if(!DEFINED('EGP'))
+        exit(header('Refresh: 0; URL=http://'.$_SERVER['SERVER_NAME'].'/404'));
 
-	$sql->query('SELECT `uid`, `time_start` FROM `control_servers` WHERE `id`="'.$sid.'" LIMIT 1');
-	$server = array_merge($server, $sql->get());
+    $sql->query('SELECT `uid`, `time_start` FROM `control_servers` WHERE `id`="'.$sid.'" LIMIT 1');
+    $server = array_merge($server, $sql->get());
 
-	if($go)
-	{
-		$sql->query('SELECT `address`, `passwd` FROM `control` WHERE `id`="'.$id.'" LIMIT 1');
-		$unit = $sql->get();
+    if($go)
+    {
+        $sql->query('SELECT `address`, `passwd` FROM `control` WHERE `id`="'.$id.'" LIMIT 1');
+        $unit = $sql->get();
 
-		include(LIB.'ssh.php');
+        include(LIB.'ssh.php');
 
-		$command = isset($_POST['command']) ? sys::cmd($_POST['command']) : '';
+        $command = isset($_POST['command']) ? sys::cmd($_POST['command']) : '';
 
-		if($server['status'] == 'off')
-		{
-			if($command)
-				sys::outjs(array('e' => sys::text('servers', 'off')));
+        if($server['status'] == 'off')
+        {
+            if($command)
+                sys::outjs(array('e' => sys::text('servers', 'off')));
 
-			sys::out(sys::text('servers', 'off'));
-		}
+            sys::out(sys::text('servers', 'off'));
+        }
 
-		if(!$ssh->auth($unit['passwd'], $unit['address']))
-		{
-			if($command)
-				sys::outjs(array('e' => sys::text('error', 'ssh')));
+        if(!$ssh->auth($unit['passwd'], $unit['address']))
+        {
+            if($command)
+                sys::outjs(array('e' => sys::text('error', 'ssh')));
 
-			sys::out(sys::text('error', 'ssh'));
-		}
+            sys::out(sys::text('error', 'ssh'));
+        }
 
-		$dir = '/servers/'.$server['uid'].'/cstrike/';
+        $dir = '/servers/'.$server['uid'].'/cstrike/';
 
-		$filecmd = $dir.'console.log';
+        $filecmd = $dir.'console.log';
 
-		if($command)
-		{
-			if(strtolower($command) == 'clear')
-				$ssh->set('sudo -u server'.$server['uid'].' sh -c "echo \"Очистка консоли\n\" > '.$filecmd.'"');
-			else
-				$ssh->set('sudo -u server'.$server['uid'].' screen -p 0 -S s_'.$server['uid'].' -X eval \'stuff "'.$command.'"\015\';'
-						.'sudo -u server'.$server['uid'].' screen -p 0 -S s_'.$server['uid'].' -X eval \'stuff \015\'');
+        if($command)
+        {
+            if(strtolower($command) == 'clear')
+                $ssh->set('sudo -u server'.$server['uid'].' sh -c "echo \"Очистка консоли\n\" > '.$filecmd.'"');
+            else
+                $ssh->set('sudo -u server'.$server['uid'].' screen -p 0 -S s_'.$server['uid'].' -X eval \'stuff "'.$command.'"\015\';'
+                        .'sudo -u server'.$server['uid'].' screen -p 0 -S s_'.$server['uid'].' -X eval \'stuff \015\'');
 
-			sys::outjs(array('s' => 'ok'));
-		}
+            sys::outjs(array('s' => 'ok'));
+        }
 
-		$filecmd_copy = $dir.'oldstart/'.date('d.m.Y_H:i:s', $server['time_start']).'.log';
+        $filecmd_copy = $dir.'oldstart/'.date('d.m.Y_H:i:s', $server['time_start']).'.log';
 
-		$weight = sys::int($ssh->get('du --block-size=1 '.$filecmd.' | awk \'{print $1}\''));
+        $weight = sys::int($ssh->get('du --block-size=1 '.$filecmd.' | awk \'{print $1}\''));
 
-		if($weight > 524288)
-			$ssh->set('sudo -u server'.$server['uid'].' sh -c "mkdir -p '.$dir.'oldstart; cat '.$filecmd.' >> '.$filecmd_copy.'; echo \"Выполнена очистка консоли, слишком большой объем данных\n\" > '.$filecmd.'"');
+        if($weight > 524288)
+            $ssh->set('sudo -u server'.$server['uid'].' sh -c "mkdir -p '.$dir.'oldstart; cat '.$filecmd.' >> '.$filecmd_copy.'; echo \"Выполнена очистка консоли, слишком большой объем данных\n\" > '.$filecmd.'"');
 
-		sys::out(htmlspecialchars($ssh->get('cat '.$filecmd), NULL, ''));
-	}
-	
-	$html->nav('Список подключенных серверов', $cfg['http'].'control');
-	$html->nav('Список игровых серверов #'.$id, $cfg['http'].'control/id/'.$id);
-	$html->nav($server['address'], $cfg['http'].'control/id/'.$id.'/server/'.$sid);
-	$html->nav('Консоль');
+        sys::out(htmlspecialchars($ssh->get('cat '.$filecmd), NULL, ''));
+    }
+    
+    $html->nav('Список подключенных серверов', $cfg['http'].'control');
+    $html->nav('Список игровых серверов #'.$id, $cfg['http'].'control/id/'.$id);
+    $html->nav($server['address'], $cfg['http'].'control/id/'.$id.'/server/'.$sid);
+    $html->nav('Консоль');
 
-	$html->get('console', 'sections/control/servers/'.$server['game']);
-		$html->set('id', $id);
-		$html->set('server', $sid);
-	$html->pack('main');
+    $html->get('console', 'sections/control/servers/'.$server['game']);
+        $html->set('id', $id);
+        $html->set('server', $sid);
+    $html->pack('main');
 ?>

+ 56 - 56
system/sections/control/servers/css/copy.php

@@ -1,74 +1,74 @@
 <?php
     if(!DEFINED('EGP'))
-		exit(header('Refresh: 0; URL=http://'.$_SERVER['SERVER_NAME'].'/404'));
+        exit(header('Refresh: 0; URL=http://'.$_SERVER['SERVER_NAME'].'/404'));
 
-	if($go)
-	{
-		// Подразделы
-		$aSub = array('fullcopy', 'create', 'recfull', 'recpart', 'remove', 'check');
+    if($go)
+    {
+        // Подразделы
+        $aSub = array('fullcopy', 'create', 'recfull', 'recpart', 'remove', 'check');
 
-		// Если выбран подраздел
-		if(isset($url['subsection']) AND in_array($url['subsection'], $aSub))
-		{
-			if($url['subsection'] != 'check')
-				$nmch = sys::rep_act('ctrl_server_copy_go_'.$sid, 10);
+        // Если выбран подраздел
+        if(isset($url['subsection']) AND in_array($url['subsection'], $aSub))
+        {
+            if($url['subsection'] != 'check')
+                $nmch = sys::rep_act('ctrl_server_copy_go_'.$sid, 10);
 
-			if($server['status'] != 'off' AND $url['subsection'] != 'remove')
-				sys::outjs(array('e' => 'Игровой сервер должен быть выключен'), $nmch);
+            if($server['status'] != 'off' AND $url['subsection'] != 'remove')
+                sys::outjs(array('e' => 'Игровой сервер должен быть выключен'), $nmch);
 
-			$sql->query('SELECT `address`, `passwd` FROM `control` WHERE `id`="'.$id.'" LIMIT 1');
-			$unit = $sql->get();
+            $sql->query('SELECT `address`, `passwd` FROM `control` WHERE `id`="'.$id.'" LIMIT 1');
+            $unit = $sql->get();
 
-			include(LIB.'ssh.php');
+            include(LIB.'ssh.php');
 
-			if(!$ssh->auth($unit['passwd'], $unit['address']))
-				sys::outjs(array('e' => sys::text('error', 'ssh')), $nmch);
+            if(!$ssh->auth($unit['passwd'], $unit['address']))
+                sys::outjs(array('e' => sys::text('error', 'ssh')), $nmch);
 
-			include(SEC.'control/servers/games/copy/'.$url['subsection'].'.php');
-		}
-	}
+            include(SEC.'control/servers/games/copy/'.$url['subsection'].'.php');
+        }
+    }
 
-	$html->nav('Список подключенных серверов', $cfg['http'].'control');
-	$html->nav('Список игровых серверов #'.$id, $cfg['http'].'control/id/'.$id);
-	$html->nav($server['address'], $cfg['http'].'control/id/'.$id.'/server/'.$sid);
+    $html->nav('Список подключенных серверов', $cfg['http'].'control');
+    $html->nav('Список игровых серверов #'.$id, $cfg['http'].'control/id/'.$id);
+    $html->nav($server['address'], $cfg['http'].'control/id/'.$id.'/server/'.$sid);
     $html->nav('Резервные копии');
 
     if($mcache->get('ctrl_server_copy_'.$sid) != '')
         $html->arr['main'] = $mcache->get('ctrl_server_copy_'.$sid);
     else{
-		// Построение списка создания копии
-		foreach(params::$section_copy[$server['game']]['aCopy'] as $name => $info)
-		{
-			$html->get('list', 'sections/control/servers/games/copy');
-
-				$html->set('name', $name);
-				$html->set('info', $info);
-
-			$html->pack('list');
-		}
-
-		// Построение списка созданных копий
-		$sql->query('SELECT `id`, `server`, `info`, `date`, `status` FROM `control_copy` WHERE `user`="'.$ctrl['user'].'_'.$id.'" AND `game`="'.$server['game'].'" ORDER BY `id` ASC');
-		while($copy = $sql->get())
-		{
-			$html->get('copy', 'sections/control/servers/games/copy');
-
-				$html->set('id', $copy['id']);
-				$html->set('info', $copy['info']);
-				$html->set('server', $copy['server']);
-				$html->set('date', sys::today($copy['date']));
-
-				if($copy['status'])
-				{
-					$html->unit('created', 1);
-					$html->unit('!created');
-				}else{
-					$html->unit('created');
-					$html->unit('!created', 1);
-				}
-
-			$html->pack('copy');
-		}
+        // Построение списка создания копии
+        foreach(params::$section_copy[$server['game']]['aCopy'] as $name => $info)
+        {
+            $html->get('list', 'sections/control/servers/games/copy');
+
+                $html->set('name', $name);
+                $html->set('info', $info);
+
+            $html->pack('list');
+        }
+
+        // Построение списка созданных копий
+        $sql->query('SELECT `id`, `server`, `info`, `date`, `status` FROM `control_copy` WHERE `user`="'.$ctrl['user'].'_'.$id.'" AND `game`="'.$server['game'].'" ORDER BY `id` ASC');
+        while($copy = $sql->get())
+        {
+            $html->get('copy', 'sections/control/servers/games/copy');
+
+                $html->set('id', $copy['id']);
+                $html->set('info', $copy['info']);
+                $html->set('server', $copy['server']);
+                $html->set('date', sys::today($copy['date']));
+
+                if($copy['status'])
+                {
+                    $html->unit('created', 1);
+                    $html->unit('!created');
+                }else{
+                    $html->unit('created');
+                    $html->unit('!created', 1);
+                }
+
+            $html->pack('copy');
+        }
 
         $html->get('copy', 'sections/control/servers/'.$server['game']);
 

+ 20 - 20
system/sections/control/servers/css/index.php

@@ -1,30 +1,30 @@
 <?php
     if(!DEFINED('EGP'))
-		exit(header('Refresh: 0; URL=http://'.$_SERVER['SERVER_NAME'].'/404'));
+        exit(header('Refresh: 0; URL=http://'.$_SERVER['SERVER_NAME'].'/404'));
 
-	$sql->query('SELECT `slots`, `online`, `players`, `name`, `pack`, `map` FROM `control_servers` WHERE `id`="'.$sid.'" LIMIT 1');
-	$server = array_merge($server, $sql->get());
+    $sql->query('SELECT `slots`, `online`, `players`, `name`, `pack`, `map` FROM `control_servers` WHERE `id`="'.$sid.'" LIMIT 1');
+    $server = array_merge($server, $sql->get());
 
-	$html->nav('Список подключенных серверов', $cfg['http'].'control');
-	$html->nav('Список игровых серверов #'.$id, $cfg['http'].'control/id/'.$id);
-	$html->nav($server['address']);
+    $html->nav('Список подключенных серверов', $cfg['http'].'control');
+    $html->nav('Список игровых серверов #'.$id, $cfg['http'].'control/id/'.$id);
+    $html->nav($server['address']);
 
-	$btn = sys::buttons($sid, $server['status'], $server['game'], $id);
+    $btn = sys::buttons($sid, $server['status'], $server['game'], $id);
 
-	$html->get('index', 'sections/control/servers/'.$server['game']);
+    $html->get('index', 'sections/control/servers/'.$server['game']);
 
-		$html->set('id', $id);
-		$html->set('server', $sid);
-		$html->set('address', $server['address']);
-		$html->set('game', $aGname[$server['game']]);
-		$html->set('slots', $server['slots']);
-		$html->set('online', $server['online']);
-		$html->set('players', base64_decode($server['players']));
-		$html->set('name', $server['name']);
-		$html->set('status', sys::status($server['status'], $server['game'], $server['map']));
-		$html->set('img', sys::status($server['status'], $server['game'], $server['map'], 'img'));
+        $html->set('id', $id);
+        $html->set('server', $sid);
+        $html->set('address', $server['address']);
+        $html->set('game', $aGname[$server['game']]);
+        $html->set('slots', $server['slots']);
+        $html->set('online', $server['online']);
+        $html->set('players', base64_decode($server['players']));
+        $html->set('name', $server['name']);
+        $html->set('status', sys::status($server['status'], $server['game'], $server['map']));
+        $html->set('img', sys::status($server['status'], $server['game'], $server['map'], 'img'));
 
-		$html->set('btn', $btn);
+        $html->set('btn', $btn);
 
-	$html->pack('main');
+    $html->pack('main');
 ?>

+ 127 - 127
system/sections/control/servers/css/plugins.php

@@ -1,160 +1,160 @@
 <?php
     if(!DEFINED('EGP'))
-		exit(header('Refresh: 0; URL=http://'.$_SERVER['SERVER_NAME'].'/404'));
-
-	$html->nav('Список подключенных серверов', $cfg['http'].'control');
-	$html->nav('Список игровых серверов #'.$id, $cfg['http'].'control/id/'.$id);
-	$html->nav($server['address'], $cfg['http'].'control/id/'.$id.'/server/'.$sid);
-
-	// Подразделы
-	$aSub = array('install', 'delete', 'update', 'plugin', 'config', 'search');
-
-	// Если выбран подраздел
-	if(isset($url['subsection']) AND in_array($url['subsection'], $aSub))
-	{
-		$html->nav('Плагины', $cfg['http'].'control/id/'.$id.'/server/'.$sid.'/section/plugins');
-
-		$nmch = sys::rep_act('ctrl_server_plugins_go_'.$sid, 10);
-
-		include(SEC.'control/servers/games/plugins/'.$url['subsection'].'.php');
-	}else{
-		$html->nav('Плагины');
-
-		// Если есть кеш
-		if($mcache->get('ctrl_server_plugins_'.$sid) != '')
-			$html->arr['main'] = $mcache->get('ctrl_server_plugins_'.$sid);
-		else{
-			include(LIB.'games/plugins.php');
-
-			// Категории
-			$cats = $sql->query('SELECT `id`, `name` FROM `plugins_category` WHERE `game`="'.$server['game'].'" ORDER BY `sort` ASC');
-			while($cat = $sql->get($cats))
-			{
-				// Плагины
-				$plugins = $sql->query('SELECT `id`, `name`, `desc`, `images`, `status`, `upd`, `packs`, `price` FROM `plugins` WHERE `cat`="'.$cat['id'].'" ORDER BY `sort`, `id` ASC');
-				while($plugin = $sql->get($plugins))
-				{
-					// Проверка, установлен ли плагин на сервер
-					$sql->query('SELECT `id` FROM `control_plugins_install` WHERE `server`="'.$sid.'" AND `plugin`="'.$plugin['id'].'" LIMIT 1');
-					if($sql->num())
-						continue;
+        exit(header('Refresh: 0; URL=http://'.$_SERVER['SERVER_NAME'].'/404'));
+
+    $html->nav('Список подключенных серверов', $cfg['http'].'control');
+    $html->nav('Список игровых серверов #'.$id, $cfg['http'].'control/id/'.$id);
+    $html->nav($server['address'], $cfg['http'].'control/id/'.$id.'/server/'.$sid);
+
+    // Подразделы
+    $aSub = array('install', 'delete', 'update', 'plugin', 'config', 'search');
+
+    // Если выбран подраздел
+    if(isset($url['subsection']) AND in_array($url['subsection'], $aSub))
+    {
+        $html->nav('Плагины', $cfg['http'].'control/id/'.$id.'/server/'.$sid.'/section/plugins');
+
+        $nmch = sys::rep_act('ctrl_server_plugins_go_'.$sid, 10);
+
+        include(SEC.'control/servers/games/plugins/'.$url['subsection'].'.php');
+    }else{
+        $html->nav('Плагины');
+
+        // Если есть кеш
+        if($mcache->get('ctrl_server_plugins_'.$sid) != '')
+            $html->arr['main'] = $mcache->get('ctrl_server_plugins_'.$sid);
+        else{
+            include(LIB.'games/plugins.php');
+
+            // Категории
+            $cats = $sql->query('SELECT `id`, `name` FROM `plugins_category` WHERE `game`="'.$server['game'].'" ORDER BY `sort` ASC');
+            while($cat = $sql->get($cats))
+            {
+                // Плагины
+                $plugins = $sql->query('SELECT `id`, `name`, `desc`, `images`, `status`, `upd`, `packs`, `price` FROM `plugins` WHERE `cat`="'.$cat['id'].'" ORDER BY `sort`, `id` ASC');
+                while($plugin = $sql->get($plugins))
+                {
+                    // Проверка, установлен ли плагин на сервер
+                    $sql->query('SELECT `id` FROM `control_plugins_install` WHERE `server`="'.$sid.'" AND `plugin`="'.$plugin['id'].'" LIMIT 1');
+                    if($sql->num())
+                        continue;
 
-					// Проверка наличия обновленной версии плагина
-					if($plugin['upd'])
-					{
-						$idp = $plugin['id'];
-
-						$sql->query('SELECT `name`, `desc`, `images`, `status`, `packs`, `price` FROM `plugins_update` WHERE `plugin`="'.$plugin['id'].'" ORDER BY `id` DESC LIMIT 1');
-						if($sql->num())
-						{
-							$plugin = $sql->get();
+                    // Проверка наличия обновленной версии плагина
+                    if($plugin['upd'])
+                    {
+                        $idp = $plugin['id'];
+
+                        $sql->query('SELECT `name`, `desc`, `images`, `status`, `packs`, `price` FROM `plugins_update` WHERE `plugin`="'.$plugin['id'].'" ORDER BY `id` DESC LIMIT 1');
+                        if($sql->num())
+                        {
+                            $plugin = $sql->get();
 
-							$plugin['id'] = $idp;
-						}else
-							$plugin['upd'] = 0;
-					}
+                            $plugin['id'] = $idp;
+                        }else
+                            $plugin['upd'] = 0;
+                    }
 
-					// Проверка на доступность плагина к установленной на сервере сборке
-					$packs = strpos($plugin['packs'], ':') ? explode(':',$plugin['packs']) : array($plugin['packs']);
-					if(!in_array($server['pack'], $packs) AND $plugin['packs'] != 'all')
-						continue;
+                    // Проверка на доступность плагина к установленной на сервере сборке
+                    $packs = strpos($plugin['packs'], ':') ? explode(':',$plugin['packs']) : array($plugin['packs']);
+                    if(!in_array($server['pack'], $packs) AND $plugin['packs'] != 'all')
+                        continue;
 
-					$images = plugins::images($plugin['images'], $plugin['id']);
+                    $images = plugins::images($plugin['images'], $plugin['id']);
 
-					if($plugin['price'])
-					{
-						$sql->query('SELECT `id` FROM `plugins_buy` WHERE `plugin`="'.$plugin['id'].'" AND `server`="'.$sid.'" LIMIT 1');
-						$buy = $sql->num();
-					}
+                    if($plugin['price'])
+                    {
+                        $sql->query('SELECT `id` FROM `plugins_buy` WHERE `plugin`="'.$plugin['id'].'" AND `server`="'.$sid.'" LIMIT 1');
+                        $buy = $sql->num();
+                    }
 
-					// Шаблон плагина
-					$html->get('plugin', 'sections/control/servers/games/plugins');
+                    // Шаблон плагина
+                    $html->get('plugin', 'sections/control/servers/games/plugins');
 
-						$html->set('id', $id);
-						$html->set('server', $sid);
-						$html->set('plugin', $plugin['id']);
+                        $html->set('id', $id);
+                        $html->set('server', $sid);
+                        $html->set('plugin', $plugin['id']);
 
-						plugins::status($plugin['status']);
+                        plugins::status($plugin['status']);
 
-						$html->set('name', htmlspecialchars_decode($plugin['name']));
-						$html->set('desc', htmlspecialchars_decode($plugin['desc']));
+                        $html->set('name', htmlspecialchars_decode($plugin['name']));
+                        $html->set('desc', htmlspecialchars_decode($plugin['desc']));
 
-						if(!empty($images))
-						{
-							$html->unit('images', 1);
-							$html->set('images', $images);
-						}else
-							$html->unit('images');
+                        if(!empty($images))
+                        {
+                            $html->unit('images', 1);
+                            $html->set('images', $images);
+                        }else
+                            $html->unit('images');
 
-						if(!$buy AND $plugin['price'])
-						{
-							$html->unit('price', true, true);
-							$html->set('price', $plugin['price']);
-						}else
-							$html->unit('price', false, true);
+                        if(!$buy AND $plugin['price'])
+                        {
+                            $html->unit('price', true, true);
+                            $html->set('price', $plugin['price']);
+                        }else
+                            $html->unit('price', false, true);
 
-					$html->pack('plugins');
-				}
+                    $html->pack('plugins');
+                }
 
-				// Шаблон блока плагинов
-				$html->get('category', 'sections/control/servers/games/plugins');
+                // Шаблон блока плагинов
+                $html->get('category', 'sections/control/servers/games/plugins');
 
-					$html->set('name', $cat['name']);
-					$html->set('plugins', isset($html->arr['plugins']) ? $html->arr['plugins'] : 'Доступных для установки плагинов нет.', 1);
+                    $html->set('name', $cat['name']);
+                    $html->set('plugins', isset($html->arr['plugins']) ? $html->arr['plugins'] : 'Доступных для установки плагинов нет.', 1);
 
-				$html->pack('addons');
-			}
+                $html->pack('addons');
+            }
 
-			unset($cats, $cat, $plugins, $plugin);
+            unset($cats, $cat, $plugins, $plugin);
 
-			// Список установленных плагинов на сервер (отдельный блок)
-			$pl_ins = $sql->query('SELECT `plugin`, `upd`, `time` FROM `control_plugins_install` WHERE `server`="'.$sid.'" ORDER BY `plugin`');
-			while($plugin = $sql->get($pl_ins))
-			{
-				$sql->query('SELECT `id` FROM `plugins` WHERE `id`="'.$plugin['plugin'].'" LIMIT 1');
-				if(!$sql->num())
-					continue;
+            // Список установленных плагинов на сервер (отдельный блок)
+            $pl_ins = $sql->query('SELECT `plugin`, `upd`, `time` FROM `control_plugins_install` WHERE `server`="'.$sid.'" ORDER BY `plugin`');
+            while($plugin = $sql->get($pl_ins))
+            {
+                $sql->query('SELECT `id` FROM `plugins` WHERE `id`="'.$plugin['plugin'].'" LIMIT 1');
+                if(!$sql->num())
+                    continue;
 
-				$isUpd = $plugin['upd'];
-
-				// Если установлен обновленный плагин
-				if($isUpd)
-					$sql->query('SELECT `name`, `desc`, `status`, `cfg`, `upd` FROM `plugins_update` WHERE `id`="'.$isUpd.'" LIMIT 1');
-				else
-					$sql->query('SELECT `name`, `desc`, `status`, `cfg`, `upd` FROM `plugins` WHERE `id`="'.$plugin['plugin'].'" LIMIT 1');
+                $isUpd = $plugin['upd'];
+
+                // Если установлен обновленный плагин
+                if($isUpd)
+                    $sql->query('SELECT `name`, `desc`, `status`, `cfg`, `upd` FROM `plugins_update` WHERE `id`="'.$isUpd.'" LIMIT 1');
+                else
+                    $sql->query('SELECT `name`, `desc`, `status`, `cfg`, `upd` FROM `plugins` WHERE `id`="'.$plugin['plugin'].'" LIMIT 1');
 
-				$plugin = array_merge($plugin, $sql->get());
+                $plugin = array_merge($plugin, $sql->get());
 
-				// Шаблон плагина
-				$html->get('plugin_install', 'sections/control/servers/games/plugins');
+                // Шаблон плагина
+                $html->get('plugin_install', 'sections/control/servers/games/plugins');
 
-					$html->set('id', $id);
-					$html->set('server', $sid);
-					$html->set('plugin', $plugin['plugin']);
+                    $html->set('id', $id);
+                    $html->set('server', $sid);
+                    $html->set('plugin', $plugin['plugin']);
 
-					plugins::status($plugin['status']);
+                    plugins::status($plugin['status']);
 
-					if($plugin['cfg']) $html->unit('config', 1); else $html->unit('config');
+                    if($plugin['cfg']) $html->unit('config', 1); else $html->unit('config');
 
-					if($plugin['upd']) $html->unit('update', 1); else $html->unit('update');
+                    if($plugin['upd']) $html->unit('update', 1); else $html->unit('update');
 
-					$html->set('name', htmlspecialchars_decode($plugin['name']));
-					$html->set('time', sys::today($plugin['time']));
-					$html->set('desc', htmlspecialchars_decode($plugin['desc']));
+                    $html->set('name', htmlspecialchars_decode($plugin['name']));
+                    $html->set('time', sys::today($plugin['time']));
+                    $html->set('desc', htmlspecialchars_decode($plugin['desc']));
 
-				$html->pack('install');
-			}
+                $html->pack('install');
+            }
 
-			$html->get('plugins', 'sections/control/servers/games');
+            $html->get('plugins', 'sections/control/servers/games');
 
-				$html->set('id', $id);
-				$html->set('server', $sid);
-				$html->set('addons', isset($html->arr['addons']) ? $html->arr['addons'] : '');
-				$html->set('install', isset($html->arr['install']) ? $html->arr['install'] : 'Установленные плагины отсутствуют.');
+                $html->set('id', $id);
+                $html->set('server', $sid);
+                $html->set('addons', isset($html->arr['addons']) ? $html->arr['addons'] : '');
+                $html->set('install', isset($html->arr['install']) ? $html->arr['install'] : 'Установленные плагины отсутствуют.');
 
-			$html->pack('main');
+            $html->pack('main');
 
-			$mcache->set('ctrl_server_plugins_'.$sid, $html->arr['main'], false, 60);
-		}
-	}
+            $mcache->set('ctrl_server_plugins_'.$sid, $html->arr['main'], false, 60);
+        }
+    }
 ?>

+ 40 - 40
system/sections/control/servers/css/rcon.php

@@ -1,57 +1,57 @@
 <?php
-	if(!DEFINED('EGP'))
-		exit(header('Refresh: 0; URL=http://'.$_SERVER['SERVER_NAME'].'/404'));
+    if(!DEFINED('EGP'))
+        exit(header('Refresh: 0; URL=http://'.$_SERVER['SERVER_NAME'].'/404'));
 
-	if($go)
-	{
-		include(LIB.'control/'.$server['game'].'/rcon.php');
+    if($go)
+    {
+        include(LIB.'control/'.$server['game'].'/rcon.php');
 
-		if(isset($url['action']) AND in_array($url['action'], array('kick', 'kill')))
-		{
-			$player = isset($_POST['player']) ? $_POST['player'] : sys::outjs(array('e' => 'Необходимо выбрать игрока.'));
+        if(isset($url['action']) AND in_array($url['action'], array('kick', 'kill')))
+        {
+            $player = isset($_POST['player']) ? $_POST['player'] : sys::outjs(array('e' => 'Необходимо выбрать игрока.'));
 
-			if($url['action'] == 'kick')
-				rcon::cmd(array_merge($server, array('id' => $id)), 'kickid "'.$player.'" "EGP Panel"');
-			else
-				rcon::cmd(array_merge($server, array('id' => $id)), 'sm_slay "'.$player.'"');
+            if($url['action'] == 'kick')
+                rcon::cmd(array_merge($server, array('id' => $id)), 'kickid "'.$player.'" "EGP Panel"');
+            else
+                rcon::cmd(array_merge($server, array('id' => $id)), 'sm_slay "'.$player.'"');
 
-			sys::outjs(array('s' => 'ok'));
-		}
+            sys::outjs(array('s' => 'ok'));
+        }
 
-		include(LIB.'geo.php');
-		$SxGeo = new SxGeo(DATA.'SxGeoCity.dat');
+        include(LIB.'geo.php');
+        $SxGeo = new SxGeo(DATA.'SxGeoCity.dat');
 
-		$aPlayers = rcon::players(rcon::cmd(array_merge($server, array('id' => $id))));
+        $aPlayers = rcon::players(rcon::cmd(array_merge($server, array('id' => $id))));
 
-		foreach($aPlayers as $i => $aPlayer)
-		{
-			$html->get('player', 'sections/control/servers/'.$server['game'].'/rcon');
+        foreach($aPlayers as $i => $aPlayer)
+        {
+            $html->get('player', 'sections/control/servers/'.$server['game'].'/rcon');
 
-				$html->set('i', $i);
-				$html->set('userid', $aPlayer['userid']);
-				$html->set('name', $aPlayer['name']);
-				$html->set('steamid', $aPlayer['steamid']);
-				$html->set('time', $aPlayer['time']);
-				$html->set('ping', $aPlayer['ping']);
-				$html->set('ip', $aPlayer['ip']);
-				$html->set('ico', $aPlayer['ico']);
-				$html->set('country', $aPlayer['country']);
+                $html->set('i', $i);
+                $html->set('userid', $aPlayer['userid']);
+                $html->set('name', $aPlayer['name']);
+                $html->set('steamid', $aPlayer['steamid']);
+                $html->set('time', $aPlayer['time']);
+                $html->set('ping', $aPlayer['ping']);
+                $html->set('ip', $aPlayer['ip']);
+                $html->set('ico', $aPlayer['ico']);
+                $html->set('country', $aPlayer['country']);
 
-			$html->pack('players');
-		}
+            $html->pack('players');
+        }
 
-		sys::outjs(array('s' => isset($html->arr['players']) ? $html->arr['players'] : ''));
-	}
+        sys::outjs(array('s' => isset($html->arr['players']) ? $html->arr['players'] : ''));
+    }
 
-	$html->nav('Список подключенных серверов', $cfg['http'].'control');
-	$html->nav('Список игровых серверов #'.$id, $cfg['http'].'control/id/'.$id);
-	$html->nav($server['address'], $cfg['http'].'control/id/'.$id.'/server/'.$sid);
+    $html->nav('Список подключенных серверов', $cfg['http'].'control');
+    $html->nav('Список игровых серверов #'.$id, $cfg['http'].'control/id/'.$id);
+    $html->nav($server['address'], $cfg['http'].'control/id/'.$id.'/server/'.$sid);
     $html->nav('Rcon управление игроками');
 
-	$html->get('rcon', 'sections/control/servers/'.$server['game']);
+    $html->get('rcon', 'sections/control/servers/'.$server['game']);
 
-		$html->set('id', $id);
-		$html->set('server', $sid);
+        $html->set('id', $id);
+        $html->set('server', $sid);
 
-	$html->pack('main');
+    $html->pack('main');
 ?>

+ 60 - 60
system/sections/control/servers/css/settings.php

@@ -1,63 +1,63 @@
 <?php
     if(!DEFINED('EGP'))
-		exit(header('Refresh: 0; URL=http://'.$_SERVER['SERVER_NAME'].'/404'));
-
-	$sql->query('SELECT `uid`, `pack` FROM `control_servers` WHERE `id`="'.$sid.'" LIMIT 1');
-	$server = array_merge($server, $sql->get());
-
-	$html->nav('Список подключенных серверов', $cfg['http'].'control');
-	$html->nav('Список игровых серверов #'.$id, $cfg['http'].'control/id/'.$id);
-	$html->nav($server['address'], $cfg['http'].'control/id/'.$id.'/server/'.$sid);
-
-	$aSub = array('start', 'server', 'admins', 'bans', 'firewall', 'crontab', 'startlogs', 'debug', 'logs', 'smlogs', 'pack', 'file');
-
-	// Если выбран подраздел
-	if(isset($url['subsection']) AND in_array($url['subsection'], $aSub))
-	{
-		$html->nav('Настройки', $cfg['http'].'control/id/'.$id.'/server/'.$sid.'/section/settings');
-
-		if($go)
-			$nmch = sys::rep_act('ctrl_server_settings_go_'.$sid, 10);
-
-		if(in_array($url['subsection'], $aRouteSub['settings']))
-			include(SEC.'control/servers/games/settings/'.$url['subsection'].'.php');
-		else
-			include(SEC.'control/servers/'.$server['game'].'/settings/'.$url['subsection'].'.php');
-	}else{
-		$html->nav('Настройки');
-
-		if($mcache->get('ctrl_server_settings_'.$sid) != '')
-			$html->arr['main'] = $mcache->get('ctrl_server_settings_'.$sid);
-		else{
-			$aEditslist = 1;
-			$ctrlmod = true;
-			include(DATA.'filedits.php');
-
-			// Построение списка доступных сборок
-			$aPacks = $cfg['control_packs'][$server['game']];
-
-			$packs = '<option value="'.$server['pack'].'">'.$aPacks[$server['pack']].'</option>';
-			unset($aPacks[$server['pack']]);
-
-			foreach($aPacks as $pack => $desc)
-				$packs .= '<option value="'.$pack.'">'.$desc.'</option>';
-
-			include(SEC.'control/servers/'.$server['game'].'/settings/start.php');
-
-			$html->get('settings', 'sections/control/servers/'.$server['game']);
-				$html->set('id', $id);
-				$html->set('server', $sid);
-				$html->set('packs', $packs);
-				$html->set('start', $html->arr['start']);
-				if(isset($html->arr['edits']))
-				{
-					$html->set('edits', $html->arr['edits']);
-					$html->unit('edits', 1);
-				}else
-					$html->unit('edits');
-			$html->pack('main');
-
-			$mcache->set('ctrl_server_settings_'.$sid, $html->arr['main'], false, 20);
-		}
-	}
+        exit(header('Refresh: 0; URL=http://'.$_SERVER['SERVER_NAME'].'/404'));
+
+    $sql->query('SELECT `uid`, `pack` FROM `control_servers` WHERE `id`="'.$sid.'" LIMIT 1');
+    $server = array_merge($server, $sql->get());
+
+    $html->nav('Список подключенных серверов', $cfg['http'].'control');
+    $html->nav('Список игровых серверов #'.$id, $cfg['http'].'control/id/'.$id);
+    $html->nav($server['address'], $cfg['http'].'control/id/'.$id.'/server/'.$sid);
+
+    $aSub = array('start', 'server', 'admins', 'bans', 'firewall', 'crontab', 'startlogs', 'debug', 'logs', 'smlogs', 'pack', 'file');
+
+    // Если выбран подраздел
+    if(isset($url['subsection']) AND in_array($url['subsection'], $aSub))
+    {
+        $html->nav('Настройки', $cfg['http'].'control/id/'.$id.'/server/'.$sid.'/section/settings');
+
+        if($go)
+            $nmch = sys::rep_act('ctrl_server_settings_go_'.$sid, 10);
+
+        if(in_array($url['subsection'], $aRouteSub['settings']))
+            include(SEC.'control/servers/games/settings/'.$url['subsection'].'.php');
+        else
+            include(SEC.'control/servers/'.$server['game'].'/settings/'.$url['subsection'].'.php');
+    }else{
+        $html->nav('Настройки');
+
+        if($mcache->get('ctrl_server_settings_'.$sid) != '')
+            $html->arr['main'] = $mcache->get('ctrl_server_settings_'.$sid);
+        else{
+            $aEditslist = 1;
+            $ctrlmod = true;
+            include(DATA.'filedits.php');
+
+            // Построение списка доступных сборок
+            $aPacks = $cfg['control_packs'][$server['game']];
+
+            $packs = '<option value="'.$server['pack'].'">'.$aPacks[$server['pack']].'</option>';
+            unset($aPacks[$server['pack']]);
+
+            foreach($aPacks as $pack => $desc)
+                $packs .= '<option value="'.$pack.'">'.$desc.'</option>';
+
+            include(SEC.'control/servers/'.$server['game'].'/settings/start.php');
+
+            $html->get('settings', 'sections/control/servers/'.$server['game']);
+                $html->set('id', $id);
+                $html->set('server', $sid);
+                $html->set('packs', $packs);
+                $html->set('start', $html->arr['start']);
+                if(isset($html->arr['edits']))
+                {
+                    $html->set('edits', $html->arr['edits']);
+                    $html->unit('edits', 1);
+                }else
+                    $html->unit('edits');
+            $html->pack('main');
+
+            $mcache->set('ctrl_server_settings_'.$sid, $html->arr['main'], false, 20);
+        }
+    }
 ?>

+ 79 - 79
system/sections/control/servers/css/settings/admins.php

@@ -1,112 +1,112 @@
 <?php
     if(!DEFINED('EGP'))
-		exit(header('Refresh: 0; URL=http://'.$_SERVER['SERVER_NAME'].'/404'));
+        exit(header('Refresh: 0; URL=http://'.$_SERVER['SERVER_NAME'].'/404'));
 
     $html->nav('Управление администраторами');
 
-	if($go)
-	{
-		$sql->query('SELECT `address`, `passwd` FROM `control` WHERE `id`="'.$id.'" LIMIT 1');
-		$unit = $sql->get();
+    if($go)
+    {
+        $sql->query('SELECT `address`, `passwd` FROM `control` WHERE `id`="'.$id.'" LIMIT 1');
+        $unit = $sql->get();
 
-		include(LIB.'ssh.php');
+        include(LIB.'ssh.php');
 
-		if(!$ssh->auth($unit['passwd'], $unit['address']))
-			sys::outjs(array('e' => sys::text('error', 'ssh')), $nmch);
+        if(!$ssh->auth($unit['passwd'], $unit['address']))
+            sys::outjs(array('e' => sys::text('error', 'ssh')), $nmch);
 
-		$aData = array();
+        $aData = array();
 
-		$aData['active'] = isset($_POST['active']) ? $_POST['active'] : '';
-		$aData['value'] = isset($_POST['value']) ? $_POST['value'] : '';
-		$aData['passwd'] = isset($_POST['passwd']) ? $_POST['passwd'] : '';
-		$aData['flags'] = isset($_POST['flags']) ? $_POST['flags'] : '';
-		$aData['immunity'] = isset($_POST['immunity']) ? sys::int($_POST['immunity']) : '';
-		$aData['time'] = isset($_POST['time']) ? $_POST['time'] : '';
-		$aData['info'] = isset($_POST['info']) ? $_POST['info'] : '';
+        $aData['active'] = isset($_POST['active']) ? $_POST['active'] : '';
+        $aData['value'] = isset($_POST['value']) ? $_POST['value'] : '';
+        $aData['passwd'] = isset($_POST['passwd']) ? $_POST['passwd'] : '';
+        $aData['flags'] = isset($_POST['flags']) ? $_POST['flags'] : '';
+        $aData['immunity'] = isset($_POST['immunity']) ? sys::int($_POST['immunity']) : '';
+        $aData['time'] = isset($_POST['time']) ? $_POST['time'] : '';
+        $aData['info'] = isset($_POST['info']) ? $_POST['info'] : '';
 
-		// Удаление текущих записей
-		$sql->query('DELETE FROM `control_admins_'.$server['game'].'` WHERE `server`="'.$sid.'"');
+        // Удаление текущих записей
+        $sql->query('DELETE FROM `control_admins_'.$server['game'].'` WHERE `server`="'.$sid.'"');
 
-		$usini = '';
+        $usini = '';
 
-		foreach($aData['value'] as $index => $val)
-		{
-			if($val != '')
-			{
-				$aDate = isset($aData['time'][$index]) ? explode('.', $aData['time'][$index]) : explode('.', date('d.m.Y', $start_point));
+        foreach($aData['value'] as $index => $val)
+        {
+            if($val != '')
+            {
+                $aDate = isset($aData['time'][$index]) ? explode('.', $aData['time'][$index]) : explode('.', date('d.m.Y', $start_point));
 
-				if(!isset($aDate[1], $aDate[0], $aDate[2]) || !checkdate($aDate[1], $aDate[0], $aDate[2]))
-					$aDate = explode('.', date('d.m.Y', $start_point));
+                if(!isset($aDate[1], $aDate[0], $aDate[2]) || !checkdate($aDate[1], $aDate[0], $aDate[2]))
+                    $aDate = explode('.', date('d.m.Y', $start_point));
 
-				$time = mktime(0, 0, 0, $aDate[1], $aDate[0], $aDate[2]);
+                $time = mktime(0, 0, 0, $aDate[1], $aDate[0], $aDate[2]);
 
-				$aData['active'][$index] = isset($aData['active'][$index]) ? 1 : 0;
-				$aData['passwd'][$index] = isset($aData['passwd'][$index]) ? $aData['passwd'][$index] : '';
-				$aData['flags'][$index] = isset($aData['flags'][$index]) ? $aData['flags'][$index] : '';
-				$aData['info'][$index] = isset($aData['info'][$index]) ? $aData['info'][$index] : '';
+                $aData['active'][$index] = isset($aData['active'][$index]) ? 1 : 0;
+                $aData['passwd'][$index] = isset($aData['passwd'][$index]) ? $aData['passwd'][$index] : '';
+                $aData['flags'][$index] = isset($aData['flags'][$index]) ? $aData['flags'][$index] : '';
+                $aData['info'][$index] = isset($aData['info'][$index]) ? $aData['info'][$index] : '';
 
-				$text = '"'.$val.'" "'.$aData['immunity'][$index].':'.$aData['flags'][$index].'" "'.$aData['passwd'][$index].'"';
+                $text = '"'.$val.'" "'.$aData['immunity'][$index].':'.$aData['flags'][$index].'" "'.$aData['passwd'][$index].'"';
 
-				$sql->query('INSERT INTO `control_admins_'.$server['game'].'` set'
-					.'`server`="'.$sid.'",'
-					.'`value`="'.htmlspecialchars($val).'",'
-					.'`active`="'.$aData['active'][$index].'",'
-					.'`passwd`="'.htmlspecialchars($aData['passwd'][$index]).'",'
-					.'`flags`="'.htmlspecialchars($aData['flags'][$index]).'",'
-					.'`immunity`="'.$aData['immunity'][$index].'",'
-					.'`time`="'.$time.'",'
-					.'`text`="'.htmlspecialchars($text).'",'
-					.'`info`="'.htmlspecialchars($aData['info'][$index]).'"');
+                $sql->query('INSERT INTO `control_admins_'.$server['game'].'` set'
+                    .'`server`="'.$sid.'",'
+                    .'`value`="'.htmlspecialchars($val).'",'
+                    .'`active`="'.$aData['active'][$index].'",'
+                    .'`passwd`="'.htmlspecialchars($aData['passwd'][$index]).'",'
+                    .'`flags`="'.htmlspecialchars($aData['flags'][$index]).'",'
+                    .'`immunity`="'.$aData['immunity'][$index].'",'
+                    .'`time`="'.$time.'",'
+                    .'`text`="'.htmlspecialchars($text).'",'
+                    .'`info`="'.htmlspecialchars($aData['info'][$index]).'"');
 
-				if($aData['active'][$index])
-					$usini .= $text.PHP_EOL;
-			}
-		}
+                if($aData['active'][$index])
+                    $usini .= $text.PHP_EOL;
+            }
+        }
 
-		$temp = sys::temp($usini);
+        $temp = sys::temp($usini);
 
-		$ssh->setfile($temp, '/servers/'.$server['uid'].'/cstrike/addons/sourcemod/configs/admins_simple.ini', 0644);
+        $ssh->setfile($temp, '/servers/'.$server['uid'].'/cstrike/addons/sourcemod/configs/admins_simple.ini', 0644);
 
-		unlink($temp);
+        unlink($temp);
 
-		$ssh->set('chown server'.$server['uid'].':servers /servers/'.$server['uid'].'/cstrike/addons/sourcemod/configs/admins_simple.ini');
+        $ssh->set('chown server'.$server['uid'].':servers /servers/'.$server['uid'].'/cstrike/addons/sourcemod/configs/admins_simple.ini');
 
-		$ssh->set("sudo -u server".$server['uid']." screen -p 0 -S s_".$server['uid']." -X eval 'stuff \" sm_reloadadmins\"\015'");
+        $ssh->set("sudo -u server".$server['uid']." screen -p 0 -S s_".$server['uid']." -X eval 'stuff \" sm_reloadadmins\"\015'");
 
-		sys::outjs(array('s' => 'ok'), $nmch);
-	}
+        sys::outjs(array('s' => 'ok'), $nmch);
+    }
 
-	// Построение списка добавленных админов
-	$sql->query('SELECT `id`, `value`, `active`, `passwd`, `flags`, `immunity`, `time`, `info` FROM `control_admins_'.$server['game'].'` WHERE `server`="'.$sid.'" ORDER BY `id` ASC');
-	while($admin = $sql->get())
-	{
-		$html->get('list', 'sections/control/servers/'.$server['game'].'/settings/admins');
+    // Построение списка добавленных админов
+    $sql->query('SELECT `id`, `value`, `active`, `passwd`, `flags`, `immunity`, `time`, `info` FROM `control_admins_'.$server['game'].'` WHERE `server`="'.$sid.'" ORDER BY `id` ASC');
+    while($admin = $sql->get())
+    {
+        $html->get('list', 'sections/control/servers/'.$server['game'].'/settings/admins');
 
-			if($admin['active'])
-				$html->unit('active', 1);
-			else
-				$html->unit('active');
+            if($admin['active'])
+                $html->unit('active', 1);
+            else
+                $html->unit('active');
 
-			$html->set('id', $admin['id']);
-			$html->set('value', $admin['value']);
-			$html->set('passwd', $admin['passwd']);
-			$html->set('flags', $admin['flags']);
-			$html->set('immunity', $admin['immunity']);
-			$html->set('time', date('d.m.y', $admin['time']));
-			$html->set('info', $admin['info']);
+            $html->set('id', $admin['id']);
+            $html->set('value', $admin['value']);
+            $html->set('passwd', $admin['passwd']);
+            $html->set('flags', $admin['flags']);
+            $html->set('immunity', $admin['immunity']);
+            $html->set('time', date('d.m.y', $admin['time']));
+            $html->set('info', $admin['info']);
 
-		$html->pack('admins');
-	}
+        $html->pack('admins');
+    }
 
-	$sql->query('SELECT `id` FROM `control_admins_'.$server['game'].'` WHERE `server`="'.$sid.'" ORDER BY `id` DESC LIMIT 1');
-	$max = $sql->get();
+    $sql->query('SELECT `id` FROM `control_admins_'.$server['game'].'` WHERE `server`="'.$sid.'" ORDER BY `id` DESC LIMIT 1');
+    $max = $sql->get();
 
-	$html->get('admins', 'sections/control/servers/'.$server['game'].'/settings');
+    $html->get('admins', 'sections/control/servers/'.$server['game'].'/settings');
 
-		$html->set('id', $id);
-		$html->set('server', $sid);
-		$html->set('admins', isset($html->arr['admins']) ? $html->arr['admins'] : '');
-		$html->set('index', $max['id'] < 1 ? 0 : $max['id']);
+        $html->set('id', $id);
+        $html->set('server', $sid);
+        $html->set('admins', isset($html->arr['admins']) ? $html->arr['admins'] : '');
+        $html->set('index', $max['id'] < 1 ? 0 : $max['id']);
 
-	$html->pack('main');
+    $html->pack('main');
 ?>

+ 150 - 150
system/sections/control/servers/css/settings/bans.php

@@ -1,158 +1,158 @@
 <?php
     if(!DEFINED('EGP'))
-		exit(header('Refresh: 0; URL=http://'.$_SERVER['SERVER_NAME'].'/404'));
+        exit(header('Refresh: 0; URL=http://'.$_SERVER['SERVER_NAME'].'/404'));
 
     $html->nav('Бан листы');
 
-	$sql->query('SELECT `address`, `passwd` FROM `control` WHERE `id`="'.$id.'" LIMIT 1');
-	$unit = $sql->get();
-
-	include(LIB.'ssh.php');
-
-	if(!$ssh->auth($unit['passwd'], $unit['address']))
-		sys::back($cfg['http'].'control/id/'.$id.'/server/'.$sid.'/section/settings');
-
-	// Путь к файлам (banned_user.cfg / banned_ip.cfg)
-	$folder = '/servers/'.$server['uid'].'/cstrike';
-
-	// Если бан/разбан/проверка
-	if($go)
-	{
-		$aData = array();
-		
-		$aData['value'] = isset($_POST['value']) ? trim($_POST['value']) : sys::outjs(array('e' => sys::text('servers', 'bans')), $nmch);
-		$aData['userid'] = isset($_POST['userid']) ? sys::int($_POST['userid']) : false;
-		$aData['amxbans'] = isset($_POST['amxbans']) ? true : false;
-
-		// Проверка входных данных
-		if(sys::valid($aData['value'], 'steamid') AND sys::valid($aData['value'], 'ip'))
-			sys::outjs(array('e' => sys::text('servers', 'bans')), $nmch);
-
-		// Если указан steamid
-		if(sys::valid($aData['value'], 'ip'))
-		{
-			// бан
-			if(isset($url['action']) AND $url['action'] == 'ban')
-			{
-				// Если включен sourcebans
-				if($aData['amxbans'] AND $aData['userid'])
-					$ssh->set("sudo -u server".$server['uid']." screen -p 0 -S s_".$server['uid']." -X eval 'stuff \"sm_ban 0 ".$aData['userid']." EGP\"\015'");
-				else
-					$ssh->set("sudo -u server".$server['uid']." screen -p 0 -S s_".$server['uid']." -X eval 'stuff \"banid 0.0 ".$aData['value']." kick\"\015'");
-
-				$ssh->set('cd '.$folder.' && sudo -u server'.$server['uid'].' fgrep '.$aData['value'].' banned_user.cfg | awk \'{print $3}\'');
-
-				if($aData['value'] != trim($ssh->get()))
-					$ssh->set('sudo -u server'.$server['uid'].' sh -c "echo \"banid 0.0 '.$aData['value'].'\" >> '.$folder.'/banned_user.cfg"');
-
-				sys::outjs(array('s' => 'ok'), $nmch);
-
-			// разбан	
-			}elseif(isset($url['action']) AND $url['action'] == 'unban'){
-				// Убираем запись из banned_user.cfg
-				$ssh->set('cd '.$folder.' && sudo -u server'.$server['uid'].' sh -c "cat banned_user.cfg | grep -v '.$aData['value'].' > temp_banned.cfg; echo "" >> temp_banned.cfg && cat temp_banned.cfg > banned_user.cfg; rm temp_banned.cfg"');
-
-				// Если включен sourcebans
-				if($aData['amxbans'])
-					$ssh->set("sudo -u server".$server['uid']." screen -p 0 -S s_".$server['uid']." -X eval 'stuff \"sm_unban ".$aData['value']."\"\015'");
-				else{
-					$ssh->set("sudo -u server".$server['uid']." screen -p 0 -S s_".$server['uid']." -X eval 'stuff \"removeid ".$aData['value']."\"\015'");
-					$ssh->set("sudo -u server".$server['uid']." screen -p 0 -S s_".$server['uid']." -X eval 'stuff \"writeid\"\015'");
-				}
-
-				sys::outjs(array('s' => 'ok'), $nmch);
-			// проверка
-			}else{
-				$ssh->set('cd '.$folder.' && sudo -u server'.$server['uid'].' fgrep '.$aData['value'].' banned_user.cfg | awk \'{print $3}\'');
-
-				if($aData['value'] == trim($ssh->get()))
-					sys::outjs(array('ban' => 'Данный SteamID <u>найден</u> в файле banned_user.cfg'), $nmch);
-
-				sys::outjs(array('unban' => 'Данный SteamID <u>не найден</u> в файле banned_user.cfg'), $nmch);
-			}
-		}else{
-			// бан
-			if(isset($url['action']) AND $url['action'] == 'ban')
-			{
-				// Если включен sourcebans
-				if($aData['amxbans'])
-					$ssh->set("sudo -u server".$server['uid']." screen -p 0 -S s_".$server['uid']." -X eval 'stuff \"sm_ban 0 ".$aData['value']." EGP\"\015'");
-				else
-					$ssh->set("sudo -u server".$server['uid']." screen -p 0 -S s_".$server['uid']." -X eval 'stuff \"addip 0.0 ".$aData['value']." EGP\"\015'");
-
-				$ssh->set('cd '.$folder.' && sudo -u server'.$server['uid'].' fgrep '.$aData['value'].' banned_ip.cfg | awk \'{print $3}\'');
-
-				if($aData['value'] != trim($ssh->get()))
-					$ssh->set('sudo -u server'.$server['uid'].' sh -c "echo \"addip 0.0 '.$aData['value'].'\" >> '.$folder.'/banned_ip.cfg"');
-
-				sys::outjs(array('s' => 'ok'), $nmch);
-
-			// разбан	
-			}elseif(isset($url['action']) AND $url['action'] == 'unban'){
-				// Убираем запись из banned_ip.cfg
-				$ssh->set('cd '.$folder.' && sudo -u server'.$server['uid'].' sh -c "cat banned_ip.cfg | grep -v '.$aData['value'].' > temp_listip.cfg; echo "" >> temp_listip.cfg && cat temp_listip.cfg > banned_ip.cfg; rm temp_listip.cfg"');
-
-				// Если включен sourcebans
-				if($aData['amxbans'])
-					$ssh->set("sudo -u server".$server['uid']." screen -p 0 -S s_".$server['uid']." -X eval 'stuff \"amx_unban ".$aData['value']."\"\015'");
-				else{
-					$ssh->set("sudo -u server".$server['uid']." screen -p 0 -S s_".$server['uid']." -X eval 'stuff \"removeip ".$aData['value']."\"\015'");
-					$ssh->set("sudo -u server".$server['uid']." screen -p 0 -S s_".$server['uid']." -X eval 'stuff \"writeip\"\015'");
-				}
-
-				sys::outjs(array('s' => 'ok'), $nmch);
-			// проверка
-			}else{
-				$ssh->set('cd '.$folder.' && sudo -u server'.$server['uid'].' fgrep '.$aData['value'].' banned_ip.cfg | awk \'{print $3}\'');
-
-				if($aData['value'] == trim($ssh->get()))
-					sys::outjs(array('ban' => 'Данный IP <u>найден</u> в файле banned_ip.cfg'), $nmch);
-
-				sys::outjs(array('unban' => 'Данный IP <u>не найден</u> в файле banned_ip.cfg'), $nmch);
-			}
-		}
-	}
-
-	// Содержимое banned_user.cfg
-	$ssh->set('cd '.$folder.' && cat banned_user.cfg | awk \'{print $3}\' | grep STEAM_');
-	$aBanned = explode("\n", $ssh->get());
-
-	// Содержимое banned_ip.cfg
-	$ssh->set('cd '.$folder.' && cat banned_ip.cfg | awk \'{print $3}\' | egrep "(25[0-5]|2[0-4][0-9]|[0-1][0-9]{2}|[0-9]{2}|[0-9])(\.(25[0-5]|2[0-4][0-9]|[0-1][0-9]{2}|[0-9]{2}|[0-9])){3}"');
-	$aListip = explode("\n", $ssh->get());
-
-	if(isset($aBanned[count($aBanned)-1]) AND $aBanned[count($aBanned)-1] == '')
-		unset($aBanned[count($aBanned)-1]);
-
-	if(isset($aListip[count($aListip)-1]) AND $aListip[count($aListip)-1] == '')
-		unset($aListip[count($aListip)-1]);
-
-	// Построение списка забаненых по steamid
-	foreach($aBanned as $line => $steam)
-	{
-		$html->get('bans_list', 'sections/control/servers/games/settings');
-
-			$html->set('value', trim($steam));
-
-		$html->pack('banned');
-	}
+    $sql->query('SELECT `address`, `passwd` FROM `control` WHERE `id`="'.$id.'" LIMIT 1');
+    $unit = $sql->get();
+
+    include(LIB.'ssh.php');
+
+    if(!$ssh->auth($unit['passwd'], $unit['address']))
+        sys::back($cfg['http'].'control/id/'.$id.'/server/'.$sid.'/section/settings');
+
+    // Путь к файлам (banned_user.cfg / banned_ip.cfg)
+    $folder = '/servers/'.$server['uid'].'/cstrike';
+
+    // Если бан/разбан/проверка
+    if($go)
+    {
+        $aData = array();
+        
+        $aData['value'] = isset($_POST['value']) ? trim($_POST['value']) : sys::outjs(array('e' => sys::text('servers', 'bans')), $nmch);
+        $aData['userid'] = isset($_POST['userid']) ? sys::int($_POST['userid']) : false;
+        $aData['amxbans'] = isset($_POST['amxbans']) ? true : false;
+
+        // Проверка входных данных
+        if(sys::valid($aData['value'], 'steamid') AND sys::valid($aData['value'], 'ip'))
+            sys::outjs(array('e' => sys::text('servers', 'bans')), $nmch);
+
+        // Если указан steamid
+        if(sys::valid($aData['value'], 'ip'))
+        {
+            // бан
+            if(isset($url['action']) AND $url['action'] == 'ban')
+            {
+                // Если включен sourcebans
+                if($aData['amxbans'] AND $aData['userid'])
+                    $ssh->set("sudo -u server".$server['uid']." screen -p 0 -S s_".$server['uid']." -X eval 'stuff \"sm_ban 0 ".$aData['userid']." EGP\"\015'");
+                else
+                    $ssh->set("sudo -u server".$server['uid']." screen -p 0 -S s_".$server['uid']." -X eval 'stuff \"banid 0.0 ".$aData['value']." kick\"\015'");
+
+                $ssh->set('cd '.$folder.' && sudo -u server'.$server['uid'].' fgrep '.$aData['value'].' banned_user.cfg | awk \'{print $3}\'');
+
+                if($aData['value'] != trim($ssh->get()))
+                    $ssh->set('sudo -u server'.$server['uid'].' sh -c "echo \"banid 0.0 '.$aData['value'].'\" >> '.$folder.'/banned_user.cfg"');
+
+                sys::outjs(array('s' => 'ok'), $nmch);
+
+            // разбан   
+            }elseif(isset($url['action']) AND $url['action'] == 'unban'){
+                // Убираем запись из banned_user.cfg
+                $ssh->set('cd '.$folder.' && sudo -u server'.$server['uid'].' sh -c "cat banned_user.cfg | grep -v '.$aData['value'].' > temp_banned.cfg; echo "" >> temp_banned.cfg && cat temp_banned.cfg > banned_user.cfg; rm temp_banned.cfg"');
+
+                // Если включен sourcebans
+                if($aData['amxbans'])
+                    $ssh->set("sudo -u server".$server['uid']." screen -p 0 -S s_".$server['uid']." -X eval 'stuff \"sm_unban ".$aData['value']."\"\015'");
+                else{
+                    $ssh->set("sudo -u server".$server['uid']." screen -p 0 -S s_".$server['uid']." -X eval 'stuff \"removeid ".$aData['value']."\"\015'");
+                    $ssh->set("sudo -u server".$server['uid']." screen -p 0 -S s_".$server['uid']." -X eval 'stuff \"writeid\"\015'");
+                }
+
+                sys::outjs(array('s' => 'ok'), $nmch);
+            // проверка
+            }else{
+                $ssh->set('cd '.$folder.' && sudo -u server'.$server['uid'].' fgrep '.$aData['value'].' banned_user.cfg | awk \'{print $3}\'');
+
+                if($aData['value'] == trim($ssh->get()))
+                    sys::outjs(array('ban' => 'Данный SteamID <u>найден</u> в файле banned_user.cfg'), $nmch);
+
+                sys::outjs(array('unban' => 'Данный SteamID <u>не найден</u> в файле banned_user.cfg'), $nmch);
+            }
+        }else{
+            // бан
+            if(isset($url['action']) AND $url['action'] == 'ban')
+            {
+                // Если включен sourcebans
+                if($aData['amxbans'])
+                    $ssh->set("sudo -u server".$server['uid']." screen -p 0 -S s_".$server['uid']." -X eval 'stuff \"sm_ban 0 ".$aData['value']." EGP\"\015'");
+                else
+                    $ssh->set("sudo -u server".$server['uid']." screen -p 0 -S s_".$server['uid']." -X eval 'stuff \"addip 0.0 ".$aData['value']." EGP\"\015'");
+
+                $ssh->set('cd '.$folder.' && sudo -u server'.$server['uid'].' fgrep '.$aData['value'].' banned_ip.cfg | awk \'{print $3}\'');
+
+                if($aData['value'] != trim($ssh->get()))
+                    $ssh->set('sudo -u server'.$server['uid'].' sh -c "echo \"addip 0.0 '.$aData['value'].'\" >> '.$folder.'/banned_ip.cfg"');
+
+                sys::outjs(array('s' => 'ok'), $nmch);
+
+            // разбан   
+            }elseif(isset($url['action']) AND $url['action'] == 'unban'){
+                // Убираем запись из banned_ip.cfg
+                $ssh->set('cd '.$folder.' && sudo -u server'.$server['uid'].' sh -c "cat banned_ip.cfg | grep -v '.$aData['value'].' > temp_listip.cfg; echo "" >> temp_listip.cfg && cat temp_listip.cfg > banned_ip.cfg; rm temp_listip.cfg"');
+
+                // Если включен sourcebans
+                if($aData['amxbans'])
+                    $ssh->set("sudo -u server".$server['uid']." screen -p 0 -S s_".$server['uid']." -X eval 'stuff \"amx_unban ".$aData['value']."\"\015'");
+                else{
+                    $ssh->set("sudo -u server".$server['uid']." screen -p 0 -S s_".$server['uid']." -X eval 'stuff \"removeip ".$aData['value']."\"\015'");
+                    $ssh->set("sudo -u server".$server['uid']." screen -p 0 -S s_".$server['uid']." -X eval 'stuff \"writeip\"\015'");
+                }
+
+                sys::outjs(array('s' => 'ok'), $nmch);
+            // проверка
+            }else{
+                $ssh->set('cd '.$folder.' && sudo -u server'.$server['uid'].' fgrep '.$aData['value'].' banned_ip.cfg | awk \'{print $3}\'');
+
+                if($aData['value'] == trim($ssh->get()))
+                    sys::outjs(array('ban' => 'Данный IP <u>найден</u> в файле banned_ip.cfg'), $nmch);
+
+                sys::outjs(array('unban' => 'Данный IP <u>не найден</u> в файле banned_ip.cfg'), $nmch);
+            }
+        }
+    }
+
+    // Содержимое banned_user.cfg
+    $ssh->set('cd '.$folder.' && cat banned_user.cfg | awk \'{print $3}\' | grep STEAM_');
+    $aBanned = explode("\n", $ssh->get());
+
+    // Содержимое banned_ip.cfg
+    $ssh->set('cd '.$folder.' && cat banned_ip.cfg | awk \'{print $3}\' | egrep "(25[0-5]|2[0-4][0-9]|[0-1][0-9]{2}|[0-9]{2}|[0-9])(\.(25[0-5]|2[0-4][0-9]|[0-1][0-9]{2}|[0-9]{2}|[0-9])){3}"');
+    $aListip = explode("\n", $ssh->get());
+
+    if(isset($aBanned[count($aBanned)-1]) AND $aBanned[count($aBanned)-1] == '')
+        unset($aBanned[count($aBanned)-1]);
+
+    if(isset($aListip[count($aListip)-1]) AND $aListip[count($aListip)-1] == '')
+        unset($aListip[count($aListip)-1]);
+
+    // Построение списка забаненых по steamid
+    foreach($aBanned as $line => $steam)
+    {
+        $html->get('bans_list', 'sections/control/servers/games/settings');
+
+            $html->set('value', trim($steam));
+
+        $html->pack('banned');
+    }
 
-	// Построение списка забаненых по ip
-	foreach($aListip as $line => $ip)
-	{
-		$html->get('bans_list', 'sections/control/servers/games/settings');
+    // Построение списка забаненых по ip
+    foreach($aListip as $line => $ip)
+    {
+        $html->get('bans_list', 'sections/control/servers/games/settings');
 
-			$html->set('value', trim($ip));
-
-		$html->pack('listip');
-	}
-
-	$html->get('bans', 'sections/control/servers/'.$server['game'].'/settings');
-
-		$html->set('id', $id);
-		$html->set('server', $sid);
-		$html->set('banned', isset($html->arr['banned']) ? $html->arr['banned'] : '');
-		$html->set('listip', isset($html->arr['listip']) ? $html->arr['listip'] : '');
-
-	$html->pack('main');
+            $html->set('value', trim($ip));
+
+        $html->pack('listip');
+    }
+
+    $html->get('bans', 'sections/control/servers/'.$server['game'].'/settings');
+
+        $html->set('id', $id);
+        $html->set('server', $sid);
+        $html->set('banned', isset($html->arr['banned']) ? $html->arr['banned'] : '');
+        $html->set('listip', isset($html->arr['listip']) ? $html->arr['listip'] : '');
+
+    $html->pack('main');
 ?>

+ 12 - 12
system/sections/control/servers/css/settings/debug.php

@@ -1,25 +1,25 @@
 <?php
     if(!DEFINED('EGP'))
-		exit(header('Refresh: 0; URL=http://'.$_SERVER['SERVER_NAME'].'/404'));
+        exit(header('Refresh: 0; URL=http://'.$_SERVER['SERVER_NAME'].'/404'));
 
     $html->nav('Отладочный лог');
 
-	$sql->query('SELECT `address`, `passwd` FROM `control` WHERE `id`="'.$id.'" LIMIT 1');
-	$unit = $sql->get();
+    $sql->query('SELECT `address`, `passwd` FROM `control` WHERE `id`="'.$id.'" LIMIT 1');
+    $unit = $sql->get();
 
-	include(LIB.'ssh.php');
+    include(LIB.'ssh.php');
 
-	if(!$ssh->auth($unit['passwd'], $unit['address']))
-		sys::back($cfg['http'].'control/id/'.$id.'/server/'.$sid.'/section/settings');
+    if(!$ssh->auth($unit['passwd'], $unit['address']))
+        sys::back($cfg['http'].'control/id/'.$id.'/server/'.$sid.'/section/settings');
 
-	// Чтение файла - oldstart.log
-	$file = '/servers/'.$server['uid'].'/debug.log';
+    // Чтение файла - oldstart.log
+    $file = '/servers/'.$server['uid'].'/debug.log';
 
-	$ssh->set('echo "" >> '.$file.' && cat '.$file.' | grep "CRASH: " | grep -ve "^#\|^[[:space:]]*$"');
+    $ssh->set('echo "" >> '.$file.' && cat '.$file.' | grep "CRASH: " | grep -ve "^#\|^[[:space:]]*$"');
 
-	$html->get('debug', 'sections/control/servers/games/settings');
+    $html->get('debug', 'sections/control/servers/games/settings');
 
-		$html->set('log', htmlspecialchars($ssh->get(), NULL, ''));
+        $html->set('log', htmlspecialchars($ssh->get(), NULL, ''));
 
-	$html->pack('main');
+    $html->pack('main');
 ?>

+ 60 - 60
system/sections/control/servers/css/settings/logs.php

@@ -1,89 +1,89 @@
 <?php
     if(!DEFINED('EGP'))
-		exit(header('Refresh: 0; URL=http://'.$_SERVER['SERVER_NAME'].'/404'));
+        exit(header('Refresh: 0; URL=http://'.$_SERVER['SERVER_NAME'].'/404'));
 
     $html->nav('Логи');
 
-	$sql->query('SELECT `address`, `passwd` FROM `control` WHERE `id`="'.$id.'" LIMIT 1');
-	$unit = $sql->get();
+    $sql->query('SELECT `address`, `passwd` FROM `control` WHERE `id`="'.$id.'" LIMIT 1');
+    $unit = $sql->get();
 
-	include(LIB.'ssh.php');
+    include(LIB.'ssh.php');
 
-	if(!$ssh->auth($unit['passwd'], $unit['address']))
-		sys::back($cfg['http'].'control/id/'.$id.'/server/'.$sid.'/section/settings');
+    if(!$ssh->auth($unit['passwd'], $unit['address']))
+        sys::back($cfg['http'].'control/id/'.$id.'/server/'.$sid.'/section/settings');
 
-	// Путь к логам
-	$folder = '/servers/'.$server['uid'].'/cstrike/logs';
+    // Путь к логам
+    $folder = '/servers/'.$server['uid'].'/cstrike/logs';
 
-	// Если выбран лог
-	if(isset($url['log']))
-	{
-		if(sys::valid($url['log'], 'other', $aValid['cslogs']))
-			sys::back($cfg['http'].'control/id/'.$id.'/server/'.$sid.'/section/settings/subsection/logs');
+    // Если выбран лог
+    if(isset($url['log']))
+    {
+        if(sys::valid($url['log'], 'other', $aValid['cslogs']))
+            sys::back($cfg['http'].'control/id/'.$id.'/server/'.$sid.'/section/settings/subsection/logs');
 
-		$ssh->set('sudo -u server'.$server['uid'].' cat '.$folder.'/'.$url['log']);
+        $ssh->set('sudo -u server'.$server['uid'].' cat '.$folder.'/'.$url['log']);
 
-		$html->get('view', 'sections/control/servers/games/settings/logs');
+        $html->get('view', 'sections/control/servers/games/settings/logs');
 
-				$html->set('id', $id);
-				$html->set('server', $sid);
-				$html->set('name', $url['log']);
-				$html->set('log', htmlspecialchars($ssh->get(), NULL, ''));
-				$html->set('uri', 'logs');
+                $html->set('id', $id);
+                $html->set('server', $sid);
+                $html->set('name', $url['log']);
+                $html->set('log', htmlspecialchars($ssh->get(), NULL, ''));
+                $html->set('uri', 'logs');
 
-		$html->pack('main');
-	}else{
-		if(isset($url['delall']))
-		{
-			$ssh->set('cd '.$folder.' && rm *.log');
+        $html->pack('main');
+    }else{
+        if(isset($url['delall']))
+        {
+            $ssh->set('cd '.$folder.' && rm *.log');
 
-			sys::back($cfg['http'].'control/id/'.$id.'/server/'.$sid.'/section/settings/subsection/logs');
-		}
+            sys::back($cfg['http'].'control/id/'.$id.'/server/'.$sid.'/section/settings/subsection/logs');
+        }
 
-		$ssh->set('cd '.$folder.' && du -ab --time | grep -e .log$ | awk \'{print $2" "$3"@"$1"@"$4}\' | sort -Mr');
+        $ssh->set('cd '.$folder.' && du -ab --time | grep -e .log$ | awk \'{print $2" "$3"@"$1"@"$4}\' | sort -Mr');
 
-		// Массив данных
-		$aData = explode("\n", $ssh->get());
+        // Массив данных
+        $aData = explode("\n", $ssh->get());
 
-		if(isset($aData[count($aData)-1]))
-			unset($aData[count($aData)-1]);
+        if(isset($aData[count($aData)-1]))
+            unset($aData[count($aData)-1]);
 
-		// Построение списка
-		foreach($aData as $line => $log)
-		{
-			$aLog = explode('@', $log);
+        // Построение списка
+        foreach($aData as $line => $log)
+        {
+            $aLog = explode('@', $log);
 
-			// Название
-			$name = explode('/', $aLog[2]);
+            // Название
+            $name = explode('/', $aLog[2]);
 
-			if(count($name) > 2)
-				continue;
+            if(count($name) > 2)
+                continue;
 
-			// Дата
-			$date = sys::unidate($aLog[0]);
+            // Дата
+            $date = sys::unidate($aLog[0]);
 
-			// Вес
-			$size = sys::size($aLog[1]);
+            // Вес
+            $size = sys::size($aLog[1]);
 
-			$html->get('list', 'sections/control/servers/games/settings/logs');
+            $html->get('list', 'sections/control/servers/games/settings/logs');
 
-				$html->set('id', $id);
-				$html->set('server', $sid);
-				$html->set('name', end($name));
-				$html->set('uri', 'logs/log/'.end($name));
-				$html->set('date', $date);
-				$html->set('size', $size);
+                $html->set('id', $id);
+                $html->set('server', $sid);
+                $html->set('name', end($name));
+                $html->set('uri', 'logs/log/'.end($name));
+                $html->set('date', $date);
+                $html->set('size', $size);
 
-			$html->pack('logs');
-		}
+            $html->pack('logs');
+        }
 
-		$html->get('logs', 'sections/control/servers/games/settings');
+        $html->get('logs', 'sections/control/servers/games/settings');
 
-			$html->set('id', $id);
-			$html->set('server', $sid);
-			$html->set('uri', '');
-			$html->set('logs', isset($html->arr['logs']) ? $html->arr['logs'] : '');
+            $html->set('id', $id);
+            $html->set('server', $sid);
+            $html->set('uri', '');
+            $html->set('logs', isset($html->arr['logs']) ? $html->arr['logs'] : '');
 
-		$html->pack('main');
-	}
+        $html->pack('main');
+    }
 ?>

+ 79 - 79
system/sections/control/servers/css/settings/server.php

@@ -1,116 +1,116 @@
 <?php
     if(!DEFINED('EGP'))
-		exit(header('Refresh: 0; URL=http://'.$_SERVER['SERVER_NAME'].'/404'));
+        exit(header('Refresh: 0; URL=http://'.$_SERVER['SERVER_NAME'].'/404'));
 
     $html->nav('Параметры server.cfg');
 
-	$sql->query('SELECT `address`, `passwd` FROM `control` WHERE `id`="'.$id.'" LIMIT 1');
-	$unit = $sql->get();
+    $sql->query('SELECT `address`, `passwd` FROM `control` WHERE `id`="'.$id.'" LIMIT 1');
+    $unit = $sql->get();
 
-	include(LIB.'ssh.php');
-	
-	if(!$ssh->auth($unit['passwd'], $unit['address']))
-	{
-		if($go)
-			sys::outjs(array('e' => sys::text('error', 'ssh')), $nmch);
-		
-		sys::back($cfg['http'].'control/id/'.$id.'/server/'.$sid.'/section/settings');
-	}
-	
-	include(DATA.'scfg/'.$server['game'].'.php');
+    include(LIB.'ssh.php');
+    
+    if(!$ssh->auth($unit['passwd'], $unit['address']))
+    {
+        if($go)
+            sys::outjs(array('e' => sys::text('error', 'ssh')), $nmch);
+        
+        sys::back($cfg['http'].'control/id/'.$id.'/server/'.$sid.'/section/settings');
+    }
+    
+    include(DATA.'scfg/'.$server['game'].'.php');
 
-	$file = '/servers/'.$server['uid'].'/cstrike/cfg/server.cfg';
+    $file = '/servers/'.$server['uid'].'/cstrike/cfg/server.cfg';
 
-	// Сохранение изменений
-	if($go)
-	{
-		$servercfg = isset($_POST['config']) ? $_POST['config'] : '';
+    // Сохранение изменений
+    if($go)
+    {
+        $servercfg = isset($_POST['config']) ? $_POST['config'] : '';
 
-		$config = '';
+        $config = '';
 
-		$config_end = $servercfg['\'other\''];
+        $config_end = $servercfg['\'other\''];
 
-		unset($servercfg['\'other\'']);
+        unset($servercfg['\'other\'']);
 
-		foreach($servercfg as $cvar => $val)
-			if($val != '')
-				$config .= str_replace("'", '', $cvar).' "'.$val.'"'."\n";
+        foreach($servercfg as $cvar => $val)
+            if($val != '')
+                $config .= str_replace("'", '', $cvar).' "'.$val.'"'."\n";
 
-		// Временый файл
-		$temp = sys::temp($config.$config_end);
+        // Временый файл
+        $temp = sys::temp($config.$config_end);
 
-		$ssh->setfile($temp, $file, 0644);
+        $ssh->setfile($temp, $file, 0644);
 
-		$ssh->set('chown server'.$server['uid'].':servers '.$file);
+        $ssh->set('chown server'.$server['uid'].':servers '.$file);
 
-		unlink($temp);
+        unlink($temp);
 
-		$ssh->set('sudo -u server'.$server['uid'].' screen -p 0 -S s_'.$server['uid'].' -X eval \'stuff "exec server.cfg"\015\';');
+        $ssh->set('sudo -u server'.$server['uid'].' screen -p 0 -S s_'.$server['uid'].' -X eval \'stuff "exec server.cfg"\015\';');
 
-		sys::outjs(array('s' => 'ok'), $nmch);
-	}
+        sys::outjs(array('s' => 'ok'), $nmch);
+    }
 
-	$ssh->set('echo "" >> '.$file.' && cat '.$file.' | grep -ve "^#\|^[[:space:]]*$"');
+    $ssh->set('echo "" >> '.$file.' && cat '.$file.' | grep -ve "^#\|^[[:space:]]*$"');
 
-	$fScfg = explode("\n", strip_tags($ssh->get()));
+    $fScfg = explode("\n", strip_tags($ssh->get()));
 
-	$servercfg = array();
-	$other = '';
+    $servercfg = array();
+    $other = '';
 
-	// Убираем пробелы и генерируем массив
-	foreach($fScfg as $line)
-	{
-		// имя квара
-		$cvar = sys::first(explode(' ', $line));
+    // Убираем пробелы и генерируем массив
+    foreach($fScfg as $line)
+    {
+        // имя квара
+        $cvar = sys::first(explode(' ', $line));
 
-		if($cvar == '')
-			continue;
+        if($cvar == '')
+            continue;
 
-		// убираем имя квара и оставляем только значение
-		$value = str_replace($cvar.' ', "", $line);
+        // убираем имя квара и оставляем только значение
+        $value = str_replace($cvar.' ', "", $line);
 
-		// выбираем только то, что нам нужно
-		preg_match_all('~([^"]+)~', $value, $cvar_value, PREG_SET_ORDER);
+        // выбираем только то, что нам нужно
+        preg_match_all('~([^"]+)~', $value, $cvar_value, PREG_SET_ORDER);
 
-		// Исключаем комментарии
-		if($cvar == '//')
-			continue;
+        // Исключаем комментарии
+        if($cvar == '//')
+            continue;
 
-		$val = sys::first(explode(' //', $cvar_value[0][1]));
+        $val = sys::first(explode(' //', $cvar_value[0][1]));
 
-		// Добавляем данные в массив
-		if(array_key_exists($cvar, $aScfg))
-			$servercfg[$cvar] = trim($val);
-		else
-			$other .= $line."\n";
-	}
+        // Добавляем данные в массив
+        if(array_key_exists($cvar, $aScfg))
+            $servercfg[$cvar] = trim($val);
+        else
+            $other .= $line."\n";
+    }
 
-	foreach($aScfg as $name => $desc)
-	{
-		if(!isset($servercfg[$name]))
-			$servercfg[$name] = '';
+    foreach($aScfg as $name => $desc)
+    {
+        if(!isset($servercfg[$name]))
+            $servercfg[$name] = '';
 
-		// Формирование формы
-		if(strpos($aScfg_form[$name], 'select'))
-			$form = str_replace('value="'.$servercfg[$name].'"', 'value="'.$servercfg[$name].'" selected="select"', $aScfg_form[$name]);
-		else
-			$form = str_replace('['.$name.']', $servercfg[$name], $aScfg_form[$name]);
+        // Формирование формы
+        if(strpos($aScfg_form[$name], 'select'))
+            $form = str_replace('value="'.$servercfg[$name].'"', 'value="'.$servercfg[$name].'" selected="select"', $aScfg_form[$name]);
+        else
+            $form = str_replace('['.$name.']', $servercfg[$name], $aScfg_form[$name]);
 
-		$html->get('servercfg_list', 'sections/control/servers/games/settings');
+        $html->get('servercfg_list', 'sections/control/servers/games/settings');
 
-			$html->set('name', $name);
-			$html->set('desc', $desc);
-			$html->set('form', $form);
+            $html->set('name', $name);
+            $html->set('desc', $desc);
+            $html->set('form', $form);
 
-		$html->pack('list');
-	}
+        $html->pack('list');
+    }
 
-	$html->get('servercfg', 'sections/control/servers/'.$server['game'].'/settings');
+    $html->get('servercfg', 'sections/control/servers/'.$server['game'].'/settings');
 
-		$html->set('id', $id);
-		$html->set('server', $sid);
-		$html->set('cfg', $html->arr['list']);
-		$html->set('other', $other);
+        $html->set('id', $id);
+        $html->set('server', $sid);
+        $html->set('cfg', $html->arr['list']);
+        $html->set('other', $other);
 
-	$html->pack('main');
+    $html->pack('main');
 ?>

+ 60 - 60
system/sections/control/servers/css/settings/smlogs.php

@@ -1,89 +1,89 @@
 <?php
     if(!DEFINED('EGP'))
-		exit(header('Refresh: 0; URL=http://'.$_SERVER['SERVER_NAME'].'/404'));
+        exit(header('Refresh: 0; URL=http://'.$_SERVER['SERVER_NAME'].'/404'));
 
     $html->nav('Логи SourceMod');
 
-	$sql->query('SELECT `address`, `passwd` FROM `control` WHERE `id`="'.$id.'" LIMIT 1');
-	$unit = $sql->get();
+    $sql->query('SELECT `address`, `passwd` FROM `control` WHERE `id`="'.$id.'" LIMIT 1');
+    $unit = $sql->get();
 
-	include(LIB.'ssh.php');
+    include(LIB.'ssh.php');
 
-	if(!$ssh->auth($unit['passwd'], $unit['address']))
-		sys::back($cfg['http'].'control/id/'.$id.'/server/'.$sid.'/section/settings');
+    if(!$ssh->auth($unit['passwd'], $unit['address']))
+        sys::back($cfg['http'].'control/id/'.$id.'/server/'.$sid.'/section/settings');
 
-	// Путь к логам
-	$folder = '/servers/'.$server['uid'].'/cstrike/addons/sourcemod/logs';
+    // Путь к логам
+    $folder = '/servers/'.$server['uid'].'/cstrike/addons/sourcemod/logs';
 
-	// Если выбран лог
-	if(isset($url['log']))
-	{
-		if(sys::valid($url['log'], 'other', $aValid['csssmlogs']))
-			sys::back($cfg['http'].'control/id/'.$id.'/server/'.$sid.'/section/settings/subsection/smlogs');
+    // Если выбран лог
+    if(isset($url['log']))
+    {
+        if(sys::valid($url['log'], 'other', $aValid['csssmlogs']))
+            sys::back($cfg['http'].'control/id/'.$id.'/server/'.$sid.'/section/settings/subsection/smlogs');
 
-		$ssh->set('sudo -u server'.$server['uid'].' cat '.$folder.'/'.$url['log']);
+        $ssh->set('sudo -u server'.$server['uid'].' cat '.$folder.'/'.$url['log']);
 
-		$html->get('view', 'sections/control/servers/games/settings/logs');
+        $html->get('view', 'sections/control/servers/games/settings/logs');
 
-				$html->set('id', $id);
-				$html->set('server', $sid);
-				$html->set('name', $url['log']);
-				$html->set('log', htmlspecialchars($ssh->get()));
-				$html->set('uri', 'smlogs');
+                $html->set('id', $id);
+                $html->set('server', $sid);
+                $html->set('name', $url['log']);
+                $html->set('log', htmlspecialchars($ssh->get()));
+                $html->set('uri', 'smlogs');
 
-		$html->pack('main');
-	}else{
-		if(isset($url['delall']))
-		{
-			$ssh->set('cd '.$folder.' && rm *.log');
+        $html->pack('main');
+    }else{
+        if(isset($url['delall']))
+        {
+            $ssh->set('cd '.$folder.' && rm *.log');
 
-			sys::back($cfg['http'].'control/id/'.$id.'/server/'.$sid.'/section/settings/subsection/smlogs');
-		}
+            sys::back($cfg['http'].'control/id/'.$id.'/server/'.$sid.'/section/settings/subsection/smlogs');
+        }
 
-		$ssh->set('cd '.$folder.' && du -ab --time | grep -e .log$ | awk \'{print $2" "$3"@"$1"@"$4}\' | sort -Mr');
+        $ssh->set('cd '.$folder.' && du -ab --time | grep -e .log$ | awk \'{print $2" "$3"@"$1"@"$4}\' | sort -Mr');
 
-		// Массив данных
-		$aData = explode("\n", $ssh->get());
+        // Массив данных
+        $aData = explode("\n", $ssh->get());
 
-		if(isset($aData[count($aData)-1]))
-			unset($aData[count($aData)-1]);
+        if(isset($aData[count($aData)-1]))
+            unset($aData[count($aData)-1]);
 
-		// Построение списка
-		foreach($aData as $line => $log)
-		{
-			$aLog = explode('@', $log);
+        // Построение списка
+        foreach($aData as $line => $log)
+        {
+            $aLog = explode('@', $log);
 
-			// Название
-			$name = explode('/', $aLog[2]);
+            // Название
+            $name = explode('/', $aLog[2]);
 
-			if(count($name) > 2)
-				continue;
+            if(count($name) > 2)
+                continue;
 
-			// Дата
-			$date = sys::unidate($aLog[0]);
+            // Дата
+            $date = sys::unidate($aLog[0]);
 
-			// Вес
-			$size = sys::size($aLog[1]);
+            // Вес
+            $size = sys::size($aLog[1]);
 
-			$html->get('list', 'sections/control/servers/games/settings/logs');
+            $html->get('list', 'sections/control/servers/games/settings/logs');
 
-				$html->set('id', $id);
-				$html->set('server', $sid);
-				$html->set('name', end($name));
-				$html->set('uri', 'smlogs/log/'.end($name));
-				$html->set('date', $date);
-				$html->set('size', $size);
+                $html->set('id', $id);
+                $html->set('server', $sid);
+                $html->set('name', end($name));
+                $html->set('uri', 'smlogs/log/'.end($name));
+                $html->set('date', $date);
+                $html->set('size', $size);
 
-			$html->pack('logs');
-		}
+            $html->pack('logs');
+        }
 
-		$html->get('logs', 'sections/control/servers/games/settings');
+        $html->get('logs', 'sections/control/servers/games/settings');
 
-			$html->set('id', $id);
-			$html->set('server', $sid);
-			$html->set('uri', 'sm');
-			$html->set('logs', isset($html->arr['logs']) ? $html->arr['logs'] : '');
+            $html->set('id', $id);
+            $html->set('server', $sid);
+            $html->set('uri', 'sm');
+            $html->set('logs', isset($html->arr['logs']) ? $html->arr['logs'] : '');
 
-		$html->pack('main');
-	}
+        $html->pack('main');
+    }
 ?>

+ 124 - 124
system/sections/control/servers/css/settings/start.php

@@ -1,173 +1,173 @@
 <?php
     if(!DEFINED('EGP'))
-		exit(header('Refresh: 0; URL=http://'.$_SERVER['SERVER_NAME'].'/404'));
+        exit(header('Refresh: 0; URL=http://'.$_SERVER['SERVER_NAME'].'/404'));
 
-	$sql->query('SELECT `uid`, `slots`, `map_start`, `vac`, `fastdl`, `autorestart`, `tickrate`, `core_fix` FROM `control_servers` WHERE `id`="'.$sid.'" LIMIT 1');
-	$server = array_merge($server, $sql->get());
-	
-	$sql->query('SELECT `address`, `passwd` FROM `control` WHERE `id`="'.$id.'" LIMIT 1');
-	$unit = $sql->get();
+    $sql->query('SELECT `uid`, `slots`, `map_start`, `vac`, `fastdl`, `autorestart`, `tickrate`, `core_fix` FROM `control_servers` WHERE `id`="'.$sid.'" LIMIT 1');
+    $server = array_merge($server, $sql->get());
+    
+    $sql->query('SELECT `address`, `passwd` FROM `control` WHERE `id`="'.$id.'" LIMIT 1');
+    $unit = $sql->get();
 
-	include(LIB.'games/games.php');
+    include(LIB.'games/games.php');
 
-	// Вывод списка карт
-	if(isset($url['maps']))
-		games::maplist($sid, $unit, '/servers/'.$server['uid'].'/cstrike/maps', $server['map_start'], false);
+    // Вывод списка карт
+    if(isset($url['maps']))
+        games::maplist($sid, $unit, '/servers/'.$server['uid'].'/cstrike/maps', $server['map_start'], false);
 
-	// Вывод списка потоков
-	if(isset($url['core']))
-		ctrl::cpulist($unit, $server['core_fix']);
+    // Вывод списка потоков
+    if(isset($url['core']))
+        ctrl::cpulist($unit, $server['core_fix']);
 
-	// Сохранение
-	if($go AND $url['save'])
-	{
-		$value = isset($url['value']) ? sys::int($url['value']) : sys::outjs(array('s' => 'ok'), $nmch);
-		
-		switch($url['save'])
-		{
-			case 'map':
-				$map = isset($url['value']) ? trim($url['value']) : sys::outjs(array('s' => 'ok'), $nmch);
+    // Сохранение
+    if($go AND $url['save'])
+    {
+        $value = isset($url['value']) ? sys::int($url['value']) : sys::outjs(array('s' => 'ok'), $nmch);
+        
+        switch($url['save'])
+        {
+            case 'map':
+                $map = isset($url['value']) ? trim($url['value']) : sys::outjs(array('s' => 'ok'), $nmch);
 
-				if($map != $server['map_start'])
-					games::maplist($sid, $unit, '/servers/'.$server['uid'].'/cstrike/maps', $map, true, $nmch, true);
+                if($map != $server['map_start'])
+                    games::maplist($sid, $unit, '/servers/'.$server['uid'].'/cstrike/maps', $map, true, $nmch, true);
 
-				$mcache->delete('ctrl_server_settings_'.$sid);
-				sys::outjs(array('s' => 'ok'), $nmch);
+                $mcache->delete('ctrl_server_settings_'.$sid);
+                sys::outjs(array('s' => 'ok'), $nmch);
 
-			case 'address':
-				if($server['status'] != 'off')
-					sys::outjs(array('e' => 'Необходимо выключить игровой сервер'), $nmch);
+            case 'address':
+                if($server['status'] != 'off')
+                    sys::outjs(array('e' => 'Необходимо выключить игровой сервер'), $nmch);
 
-				$address = isset($_POST['address']) ? trim($_POST['address']) : $server['address'];
+                $address = isset($_POST['address']) ? trim($_POST['address']) : $server['address'];
 
-				if(sys::valid($address, 'other', $aValid['address']))
-					sys::outjs(array('e' => 'Адрес игрового сервера имеет неверный формат'), $nmch);
+                if(sys::valid($address, 'other', $aValid['address']))
+                    sys::outjs(array('e' => 'Адрес игрового сервера имеет неверный формат'), $nmch);
 
-				$sql->query('SELECT `id` FROM `control_servers` WHERE `unit`="'.$id.'" AND `address`="'.$address.'" LIMIT 1');
-				if($sql->num())
-					sys::outjs(array('e' => 'Данный адрес занят другим сервером'), $nmch);
+                $sql->query('SELECT `id` FROM `control_servers` WHERE `unit`="'.$id.'" AND `address`="'.$address.'" LIMIT 1');
+                if($sql->num())
+                    sys::outjs(array('e' => 'Данный адрес занят другим сервером'), $nmch);
 
-				if($address != $server['address'])
-					$sql->query('UPDATE `control_servers` set `address`="'.$address.'" WHERE `id`="'.$sid.'" LIMIT 1');
+                if($address != $server['address'])
+                    $sql->query('UPDATE `control_servers` set `address`="'.$address.'" WHERE `id`="'.$sid.'" LIMIT 1');
 
-				$mcache->delete('ctrl_server_settings_'.$sid);
-				sys::outjs(array('s' => 'ok'), $nmch);
+                $mcache->delete('ctrl_server_settings_'.$sid);
+                sys::outjs(array('s' => 'ok'), $nmch);
 
-			case 'vac':
-				if($value != $server['vac'])
-					$sql->query('UPDATE `control_servers` set `vac`="'.$value.'" WHERE `id`="'.$sid.'" LIMIT 1');
+            case 'vac':
+                if($value != $server['vac'])
+                    $sql->query('UPDATE `control_servers` set `vac`="'.$value.'" WHERE `id`="'.$sid.'" LIMIT 1');
 
-				$mcache->delete('ctrl_server_settings_'.$sid);
-				sys::outjs(array('s' => 'ok'), $nmch);
+                $mcache->delete('ctrl_server_settings_'.$sid);
+                sys::outjs(array('s' => 'ok'), $nmch);
 
-			case 'core_fix':
-				$n = ctrl::cpulist($unit, $server['core_fix'], true);
+            case 'core_fix':
+                $n = ctrl::cpulist($unit, $server['core_fix'], true);
 
-				if($value > $n)
-					sys::outjs(array('e' => 'На физическом сервере нет такого ядра/потока'), $nmch);
+                if($value > $n)
+                    sys::outjs(array('e' => 'На физическом сервере нет такого ядра/потока'), $nmch);
 
-				if($value < 0)
-					$value = 0;
+                if($value < 0)
+                    $value = 0;
 
-				if($value != $server['core_fix'])
-					$sql->query('UPDATE `control_servers` set `core_fix`="'.$value.'" WHERE `id`="'.$sid.'" LIMIT 1');
+                if($value != $server['core_fix'])
+                    $sql->query('UPDATE `control_servers` set `core_fix`="'.$value.'" WHERE `id`="'.$sid.'" LIMIT 1');
 
-				$mcache->delete('ctrl_server_settings_'.$sid);
-				sys::outjs(array('s' => 'ok'), $nmch);
+                $mcache->delete('ctrl_server_settings_'.$sid);
+                sys::outjs(array('s' => 'ok'), $nmch);
 
-			case 'slots':
-				$slots = $value > 64 ? 64 : $value;
-				$slots = $value < 2 ? 2 : $slots;
+            case 'slots':
+                $slots = $value > 64 ? 64 : $value;
+                $slots = $value < 2 ? 2 : $slots;
 
-				if($slots != $server['slots'])
-					$sql->query('UPDATE `control_servers` set `slots`="'.$slots.'" WHERE `id`="'.$sid.'" LIMIT 1');
+                if($slots != $server['slots'])
+                    $sql->query('UPDATE `control_servers` set `slots`="'.$slots.'" WHERE `id`="'.$sid.'" LIMIT 1');
 
-				$mcache->delete('ctrl_server_settings_'.$sid);
-				sys::outjs(array('s' => 'ok'), $nmch);
+                $mcache->delete('ctrl_server_settings_'.$sid);
+                sys::outjs(array('s' => 'ok'), $nmch);
 
-			case 'autorestart':
-				if($value != $server['autorestart'])
-					$sql->query('UPDATE `control_servers` set `autorestart`="'.$value.'" WHERE `id`="'.$sid.'" LIMIT 1');
+            case 'autorestart':
+                if($value != $server['autorestart'])
+                    $sql->query('UPDATE `control_servers` set `autorestart`="'.$value.'" WHERE `id`="'.$sid.'" LIMIT 1');
 
-				$mcache->delete('ctrl_server_settings_'.$sid);
-				sys::outjs(array('s' => 'ok'), $nmch);
+                $mcache->delete('ctrl_server_settings_'.$sid);
+                sys::outjs(array('s' => 'ok'), $nmch);
 
-			case 'tickrate':
-				if(in_array($value, array('66', '100')))
-					$sql->query('UPDATE `control_servers` set `tickrate`="'.$value.'" WHERE `id`="'.$sid.'" LIMIT 1');
+            case 'tickrate':
+                if(in_array($value, array('66', '100')))
+                    $sql->query('UPDATE `control_servers` set `tickrate`="'.$value.'" WHERE `id`="'.$sid.'" LIMIT 1');
 
-				$mcache->delete('ctrl_server_settings_'.$sid);
-				sys::outjs(array('s' => 'ok'), $nmch);
+                $mcache->delete('ctrl_server_settings_'.$sid);
+                sys::outjs(array('s' => 'ok'), $nmch);
 
-			case 'fastdl':
-				include(LIB.'ssh.php');
+            case 'fastdl':
+                include(LIB.'ssh.php');
 
-				if(!$ssh->auth($unit['passwd'], $unit['address']))
-					sys::outjs(array('e' => sys::text('error', 'ssh')), $nmch);
+                if(!$ssh->auth($unit['passwd'], $unit['address']))
+                    sys::outjs(array('e' => sys::text('error', 'ssh')), $nmch);
 
-				if($value)
-				{
-					$fastdl = 'sv_downloadurl "http://'.$unit['address'].':8080/fast_'.$server['uid'].'"'.PHP_EOL
-							.'sv_consistency 1'.PHP_EOL
-							.'sv_allowupload 1'.PHP_EOL
-							.'sv_allowdownload 1';
+                if($value)
+                {
+                    $fastdl = 'sv_downloadurl "http://'.$unit['address'].':8080/fast_'.$server['uid'].'"'.PHP_EOL
+                            .'sv_consistency 1'.PHP_EOL
+                            .'sv_allowupload 1'.PHP_EOL
+                            .'sv_allowdownload 1';
 
-					// Временый файл
-					$temp = sys::temp($fastdl);
+                    // Временый файл
+                    $temp = sys::temp($fastdl);
 
-					$ssh->setfile($temp, '/servers/'.$server['uid'].'/cstrike/cfg/fastdl.cfg', 0644);
+                    $ssh->setfile($temp, '/servers/'.$server['uid'].'/cstrike/cfg/fastdl.cfg', 0644);
 
-					$ssh->set('chown server'.$server['uid'].':servers /servers/'.$server['uid'].'/cstrike/cfg/fastdl.cfg;'
-							.'ln -s /servers/'.$server['uid'].'/cstrike /var/nginx/fast_'.$server['uid'].';'
-							.'sed -i '."'s/exec fastdl.cfg//g'".' /servers/'.$server['uid'].'/cstrike/cfg/server.cfg;'
-							.'echo "exec fastdl.cfg" >> /servers/'.$server['uid'].'/cstrike/cfg/server.cfg');
+                    $ssh->set('chown server'.$server['uid'].':servers /servers/'.$server['uid'].'/cstrike/cfg/fastdl.cfg;'
+                            .'ln -s /servers/'.$server['uid'].'/cstrike /var/nginx/fast_'.$server['uid'].';'
+                            .'sed -i '."'s/exec fastdl.cfg//g'".' /servers/'.$server['uid'].'/cstrike/cfg/server.cfg;'
+                            .'echo "exec fastdl.cfg" >> /servers/'.$server['uid'].'/cstrike/cfg/server.cfg');
 
-					unlink($temp);
-				}else
-					$ssh->set('sed -i '."'s/exec fastdl.cfg//g'".' /servers/'.$server['uid'].'/cstrike/cfg/server.cfg;'
-							.'rm /servers/'.$server['uid'].'/cstrike/cfg/fastdl.cfg; rm /var/nginx/fast_'.$server['uid']);
+                    unlink($temp);
+                }else
+                    $ssh->set('sed -i '."'s/exec fastdl.cfg//g'".' /servers/'.$server['uid'].'/cstrike/cfg/server.cfg;'
+                            .'rm /servers/'.$server['uid'].'/cstrike/cfg/fastdl.cfg; rm /var/nginx/fast_'.$server['uid']);
 
-				$sql->query('UPDATE `control_servers` set `fastdl`="'.$value.'" WHERE `id`="'.$sid.'" LIMIT 1');
+                $sql->query('UPDATE `control_servers` set `fastdl`="'.$value.'" WHERE `id`="'.$sid.'" LIMIT 1');
 
-				$mcache->delete('ctrl_server_settings_'.$sid);
-				sys::outjs(array('s' => 'ok'), $nmch);
-		}
-	}
-	
-	// Генерация списка слот
-	$slots = '';
+                $mcache->delete('ctrl_server_settings_'.$sid);
+                sys::outjs(array('s' => 'ok'), $nmch);
+        }
+    }
+    
+    // Генерация списка слот
+    $slots = '';
 
-	for($slot = 2; $slot <= 64; $slot+=1)
-		$slots .= '<option value="'.$slot.'">'.$slot.' шт.</option>';
+    for($slot = 2; $slot <= 64; $slot+=1)
+        $slots .= '<option value="'.$slot.'">'.$slot.' шт.</option>';
 
-	// Античит VAC
-	$vac = $server['vac'] ? '<option value="1">Включен</option><option value="0">Выключен</option>' : '<option value="0">Выключен</option><option value="1">Включен</option>';
+    // Античит VAC
+    $vac = $server['vac'] ? '<option value="1">Включен</option><option value="0">Выключен</option>' : '<option value="0">Выключен</option><option value="1">Включен</option>';
 
-	// Быстрая скачака
-	$fastdl = $server['fastdl'] ? '<option value="1">Включен</option><option value="0">Выключен</option>' : '<option value="0">Выключен</option><option value="1">Включен</option>';
+    // Быстрая скачака
+    $fastdl = $server['fastdl'] ? '<option value="1">Включен</option><option value="0">Выключен</option>' : '<option value="0">Выключен</option><option value="1">Включен</option>';
 
-	// Авторестарт при зависании
-	$autorestart = $server['autorestart'] ? '<option value="1">Включен</option><option value="0">Выключен</option>' : '<option value="0">Выключен</option><option value="1">Включен</option>';
+    // Авторестарт при зависании
+    $autorestart = $server['autorestart'] ? '<option value="1">Включен</option><option value="0">Выключен</option>' : '<option value="0">Выключен</option><option value="1">Включен</option>';
 
-	$tickrate = '';
+    $tickrate = '';
 
-	foreach(array('66', '100') as $value)
-		$tickrate .= '<option value="'.$value.'">'.$value.' TickRate</option>';
+    foreach(array('66', '100') as $value)
+        $tickrate .= '<option value="'.$value.'">'.$value.' TickRate</option>';
 
-	$core_fix = $server['core_fix'] ? '<option value="1">1 ядро/поток</option>' : '<option value="0">Автоматическое определение</option>';
+    $core_fix = $server['core_fix'] ? '<option value="1">1 ядро/поток</option>' : '<option value="0">Автоматическое определение</option>';
 
-	$html->get('start', 'sections/control/servers/'.$server['game'].'/settings');
+    $html->get('start', 'sections/control/servers/'.$server['game'].'/settings');
 
-		$html->set('id', $id);
-		$html->set('server', $sid);
-		$html->set('map', $server['map_start']);
-		$html->set('address', $server['address']);
-		$html->set('vac', $vac);
-		$html->set('fastdl', $fastdl);
-		$html->set('autorestart', $autorestart);
-		$html->set('core_fix', $core_fix);
-		$html->set('slots', str_replace('"'.$server['slots'].'"', '"'.$server['slots'].'" selected="select"', $slots));
-		$html->set('tickrate', str_replace($server['tickrate'].'"', $server['tickrate'].'" selected="select"', $tickrate));
+        $html->set('id', $id);
+        $html->set('server', $sid);
+        $html->set('map', $server['map_start']);
+        $html->set('address', $server['address']);
+        $html->set('vac', $vac);
+        $html->set('fastdl', $fastdl);
+        $html->set('autorestart', $autorestart);
+        $html->set('core_fix', $core_fix);
+        $html->set('slots', str_replace('"'.$server['slots'].'"', '"'.$server['slots'].'" selected="select"', $slots));
+        $html->set('tickrate', str_replace($server['tickrate'].'"', $server['tickrate'].'" selected="select"', $tickrate));
 
-	$html->pack('start');
+    $html->pack('start');
 ?>

+ 48 - 48
system/sections/control/servers/cssold/console.php

@@ -1,67 +1,67 @@
 <?php
-	if(!DEFINED('EGP'))
-		exit(header('Refresh: 0; URL=http://'.$_SERVER['SERVER_NAME'].'/404'));
+    if(!DEFINED('EGP'))
+        exit(header('Refresh: 0; URL=http://'.$_SERVER['SERVER_NAME'].'/404'));
 
-	$sql->query('SELECT `uid`, `time_start` FROM `control_servers` WHERE `id`="'.$sid.'" LIMIT 1');
-	$server = array_merge($server, $sql->get());
+    $sql->query('SELECT `uid`, `time_start` FROM `control_servers` WHERE `id`="'.$sid.'" LIMIT 1');
+    $server = array_merge($server, $sql->get());
 
-	if($go)
-	{
-		$sql->query('SELECT `address`, `passwd` FROM `control` WHERE `id`="'.$id.'" LIMIT 1');
-		$unit = $sql->get();
+    if($go)
+    {
+        $sql->query('SELECT `address`, `passwd` FROM `control` WHERE `id`="'.$id.'" LIMIT 1');
+        $unit = $sql->get();
 
-		include(LIB.'ssh.php');
+        include(LIB.'ssh.php');
 
-		$command = isset($_POST['command']) ? sys::cmd($_POST['command']) : '';
+        $command = isset($_POST['command']) ? sys::cmd($_POST['command']) : '';
 
-		if($server['status'] == 'off')
-		{
-			if($command)
-				sys::outjs(array('e' => sys::text('servers', 'off')));
+        if($server['status'] == 'off')
+        {
+            if($command)
+                sys::outjs(array('e' => sys::text('servers', 'off')));
 
-			sys::out(sys::text('servers', 'off'));
-		}
+            sys::out(sys::text('servers', 'off'));
+        }
 
-		if(!$ssh->auth($unit['passwd'], $unit['address']))
-		{
-			if($command)
-				sys::outjs(array('e' => sys::text('error', 'ssh')));
+        if(!$ssh->auth($unit['passwd'], $unit['address']))
+        {
+            if($command)
+                sys::outjs(array('e' => sys::text('error', 'ssh')));
 
-			sys::out(sys::text('error', 'ssh'));
-		}
+            sys::out(sys::text('error', 'ssh'));
+        }
 
-		$dir = '/servers/'.$server['uid'].'/cstrike/';
+        $dir = '/servers/'.$server['uid'].'/cstrike/';
 
-		$filecmd = $dir.'console.log';
+        $filecmd = $dir.'console.log';
 
-		if($command)
-		{
-			if(strtolower($command) == 'clear')
-				$ssh->set('sudo -u server'.$server['uid'].' sh -c "echo \"Очистка консоли\n\" > '.$filecmd.'"');
-			else
-				$ssh->set('sudo -u server'.$server['uid'].' screen -p 0 -S s_'.$server['uid'].' -X eval \'stuff "'.$command.'"\015\';'
-						.'sudo -u server'.$server['uid'].' screen -p 0 -S s_'.$server['uid'].' -X eval \'stuff \015\'');
+        if($command)
+        {
+            if(strtolower($command) == 'clear')
+                $ssh->set('sudo -u server'.$server['uid'].' sh -c "echo \"Очистка консоли\n\" > '.$filecmd.'"');
+            else
+                $ssh->set('sudo -u server'.$server['uid'].' screen -p 0 -S s_'.$server['uid'].' -X eval \'stuff "'.$command.'"\015\';'
+                        .'sudo -u server'.$server['uid'].' screen -p 0 -S s_'.$server['uid'].' -X eval \'stuff \015\'');
 
-			sys::outjs(array('s' => 'ok'));
-		}
+            sys::outjs(array('s' => 'ok'));
+        }
 
-		$filecmd_copy = $dir.'oldstart/'.date('d.m.Y_H:i:s', $server['time_start']).'.log';
+        $filecmd_copy = $dir.'oldstart/'.date('d.m.Y_H:i:s', $server['time_start']).'.log';
 
-		$weight = sys::int($ssh->get('du --block-size=1 '.$filecmd.' | awk \'{print $1}\''));
+        $weight = sys::int($ssh->get('du --block-size=1 '.$filecmd.' | awk \'{print $1}\''));
 
-		if($weight > 524288)
-			$ssh->set('sudo -u server'.$server['uid'].' sh -c "mkdir -p '.$dir.'oldstart; cat '.$filecmd.' >> '.$filecmd_copy.'; echo \"Выполнена очистка консоли, слишком большой объем данных\n\" > '.$filecmd.'"');
+        if($weight > 524288)
+            $ssh->set('sudo -u server'.$server['uid'].' sh -c "mkdir -p '.$dir.'oldstart; cat '.$filecmd.' >> '.$filecmd_copy.'; echo \"Выполнена очистка консоли, слишком большой объем данных\n\" > '.$filecmd.'"');
 
-		sys::out(htmlspecialchars($ssh->get('cat '.$filecmd), NULL, ''));
-	}
-	
-	$html->nav('Список подключенных серверов', $cfg['http'].'control');
-	$html->nav('Список игровых серверов #'.$id, $cfg['http'].'control/id/'.$id);
-	$html->nav($server['address'], $cfg['http'].'control/id/'.$id.'/server/'.$sid);
-	$html->nav('Консоль');
+        sys::out(htmlspecialchars($ssh->get('cat '.$filecmd), NULL, ''));
+    }
+    
+    $html->nav('Список подключенных серверов', $cfg['http'].'control');
+    $html->nav('Список игровых серверов #'.$id, $cfg['http'].'control/id/'.$id);
+    $html->nav($server['address'], $cfg['http'].'control/id/'.$id.'/server/'.$sid);
+    $html->nav('Консоль');
 
-	$html->get('console', 'sections/control/servers/'.$server['game']);
-		$html->set('id', $id);
-		$html->set('server', $sid);
-	$html->pack('main');
+    $html->get('console', 'sections/control/servers/'.$server['game']);
+        $html->set('id', $id);
+        $html->set('server', $sid);
+    $html->pack('main');
 ?>

+ 56 - 56
system/sections/control/servers/cssold/copy.php

@@ -1,74 +1,74 @@
 <?php
     if(!DEFINED('EGP'))
-		exit(header('Refresh: 0; URL=http://'.$_SERVER['SERVER_NAME'].'/404'));
+        exit(header('Refresh: 0; URL=http://'.$_SERVER['SERVER_NAME'].'/404'));
 
-	if($go)
-	{
-		// Подразделы
-		$aSub = array('fullcopy', 'create', 'recfull', 'recpart', 'remove', 'check');
+    if($go)
+    {
+        // Подразделы
+        $aSub = array('fullcopy', 'create', 'recfull', 'recpart', 'remove', 'check');
 
-		// Если выбран подраздел
-		if(isset($url['subsection']) AND in_array($url['subsection'], $aSub))
-		{
-			if($url['subsection'] != 'check')
-				$nmch = sys::rep_act('ctrl_server_copy_go_'.$sid, 10);
+        // Если выбран подраздел
+        if(isset($url['subsection']) AND in_array($url['subsection'], $aSub))
+        {
+            if($url['subsection'] != 'check')
+                $nmch = sys::rep_act('ctrl_server_copy_go_'.$sid, 10);
 
-			if($server['status'] != 'off' AND $url['subsection'] != 'remove')
-				sys::outjs(array('e' => 'Игровой сервер должен быть выключен'), $nmch);
+            if($server['status'] != 'off' AND $url['subsection'] != 'remove')
+                sys::outjs(array('e' => 'Игровой сервер должен быть выключен'), $nmch);
 
-			$sql->query('SELECT `address`, `passwd` FROM `control` WHERE `id`="'.$id.'" LIMIT 1');
-			$unit = $sql->get();
+            $sql->query('SELECT `address`, `passwd` FROM `control` WHERE `id`="'.$id.'" LIMIT 1');
+            $unit = $sql->get();
 
-			include(LIB.'ssh.php');
+            include(LIB.'ssh.php');
 
-			if(!$ssh->auth($unit['passwd'], $unit['address']))
-				sys::outjs(array('e' => sys::text('error', 'ssh')), $nmch);
+            if(!$ssh->auth($unit['passwd'], $unit['address']))
+                sys::outjs(array('e' => sys::text('error', 'ssh')), $nmch);
 
-			include(SEC.'control/servers/games/copy/'.$url['subsection'].'.php');
-		}
-	}
+            include(SEC.'control/servers/games/copy/'.$url['subsection'].'.php');
+        }
+    }
 
-	$html->nav('Список подключенных серверов', $cfg['http'].'control');
-	$html->nav('Список игровых серверов #'.$id, $cfg['http'].'control/id/'.$id);
-	$html->nav($server['address'], $cfg['http'].'control/id/'.$id.'/server/'.$sid);
+    $html->nav('Список подключенных серверов', $cfg['http'].'control');
+    $html->nav('Список игровых серверов #'.$id, $cfg['http'].'control/id/'.$id);
+    $html->nav($server['address'], $cfg['http'].'control/id/'.$id.'/server/'.$sid);
     $html->nav('Резервные копии');
 
     if($mcache->get('ctrl_server_copy_'.$sid) != '')
         $html->arr['main'] = $mcache->get('ctrl_server_copy_'.$sid);
     else{
-		// Построение списка создания копии
-		foreach(params::$section_copy[$server['game']]['aCopy'] as $name => $info)
-		{
-			$html->get('list', 'sections/control/servers/games/copy');
-
-				$html->set('name', $name);
-				$html->set('info', $info);
-
-			$html->pack('list');
-		}
-
-		// Построение списка созданных копий
-		$sql->query('SELECT `id`, `server`, `info`, `date`, `status` FROM `control_copy` WHERE `user`="'.$ctrl['user'].'_'.$id.'" AND `game`="'.$server['game'].'" ORDER BY `id` ASC');
-		while($copy = $sql->get())
-		{
-			$html->get('copy', 'sections/control/servers/games/copy');
-
-				$html->set('id', $copy['id']);
-				$html->set('info', $copy['info']);
-				$html->set('server', $copy['server']);
-				$html->set('date', sys::today($copy['date']));
-
-				if($copy['status'])
-				{
-					$html->unit('created', 1);
-					$html->unit('!created');
-				}else{
-					$html->unit('created');
-					$html->unit('!created', 1);
-				}
-
-			$html->pack('copy');
-		}
+        // Построение списка создания копии
+        foreach(params::$section_copy[$server['game']]['aCopy'] as $name => $info)
+        {
+            $html->get('list', 'sections/control/servers/games/copy');
+
+                $html->set('name', $name);
+                $html->set('info', $info);
+
+            $html->pack('list');
+        }
+
+        // Построение списка созданных копий
+        $sql->query('SELECT `id`, `server`, `info`, `date`, `status` FROM `control_copy` WHERE `user`="'.$ctrl['user'].'_'.$id.'" AND `game`="'.$server['game'].'" ORDER BY `id` ASC');
+        while($copy = $sql->get())
+        {
+            $html->get('copy', 'sections/control/servers/games/copy');
+
+                $html->set('id', $copy['id']);
+                $html->set('info', $copy['info']);
+                $html->set('server', $copy['server']);
+                $html->set('date', sys::today($copy['date']));
+
+                if($copy['status'])
+                {
+                    $html->unit('created', 1);
+                    $html->unit('!created');
+                }else{
+                    $html->unit('created');
+                    $html->unit('!created', 1);
+                }
+
+            $html->pack('copy');
+        }
 
         $html->get('copy', 'sections/control/servers/'.$server['game']);
 

+ 20 - 20
system/sections/control/servers/cssold/index.php

@@ -1,30 +1,30 @@
 <?php
     if(!DEFINED('EGP'))
-		exit(header('Refresh: 0; URL=http://'.$_SERVER['SERVER_NAME'].'/404'));
+        exit(header('Refresh: 0; URL=http://'.$_SERVER['SERVER_NAME'].'/404'));
 
-	$sql->query('SELECT `slots`, `online`, `players`, `name`, `pack`, `map` FROM `control_servers` WHERE `id`="'.$sid.'" LIMIT 1');
-	$server = array_merge($server, $sql->get());
+    $sql->query('SELECT `slots`, `online`, `players`, `name`, `pack`, `map` FROM `control_servers` WHERE `id`="'.$sid.'" LIMIT 1');
+    $server = array_merge($server, $sql->get());
 
-	$html->nav('Список подключенных серверов', $cfg['http'].'control');
-	$html->nav('Список игровых серверов #'.$id, $cfg['http'].'control/id/'.$id);
-	$html->nav($server['address']);
+    $html->nav('Список подключенных серверов', $cfg['http'].'control');
+    $html->nav('Список игровых серверов #'.$id, $cfg['http'].'control/id/'.$id);
+    $html->nav($server['address']);
 
-	$btn = sys::buttons($sid, $server['status'], $server['game'], $id);
+    $btn = sys::buttons($sid, $server['status'], $server['game'], $id);
 
-	$html->get('index', 'sections/control/servers/'.$server['game']);
+    $html->get('index', 'sections/control/servers/'.$server['game']);
 
-		$html->set('id', $id);
-		$html->set('server', $sid);
-		$html->set('address', $server['address']);
-		$html->set('game', $aGname[$server['game']]);
-		$html->set('slots', $server['slots']);
-		$html->set('online', $server['online']);
-		$html->set('players', base64_decode($server['players']));
-		$html->set('name', $server['name']);
-		$html->set('status', sys::status($server['status'], $server['game'], $server['map']));
-		$html->set('img', sys::status($server['status'], $server['game'], $server['map'], 'img'));
+        $html->set('id', $id);
+        $html->set('server', $sid);
+        $html->set('address', $server['address']);
+        $html->set('game', $aGname[$server['game']]);
+        $html->set('slots', $server['slots']);
+        $html->set('online', $server['online']);
+        $html->set('players', base64_decode($server['players']));
+        $html->set('name', $server['name']);
+        $html->set('status', sys::status($server['status'], $server['game'], $server['map']));
+        $html->set('img', sys::status($server['status'], $server['game'], $server['map'], 'img'));
 
-		$html->set('btn', $btn);
+        $html->set('btn', $btn);
 
-	$html->pack('main');
+    $html->pack('main');
 ?>

+ 127 - 127
system/sections/control/servers/cssold/plugins.php

@@ -1,160 +1,160 @@
 <?php
     if(!DEFINED('EGP'))
-		exit(header('Refresh: 0; URL=http://'.$_SERVER['SERVER_NAME'].'/404'));
-
-	$html->nav('Список подключенных серверов', $cfg['http'].'control');
-	$html->nav('Список игровых серверов #'.$id, $cfg['http'].'control/id/'.$id);
-	$html->nav($server['address'], $cfg['http'].'control/id/'.$id.'/server/'.$sid);
-
-	// Подразделы
-	$aSub = array('install', 'delete', 'update', 'plugin', 'config', 'search');
-
-	// Если выбран подраздел
-	if(isset($url['subsection']) AND in_array($url['subsection'], $aSub))
-	{
-		$html->nav('Плагины', $cfg['http'].'control/id/'.$id.'/server/'.$sid.'/section/plugins');
-
-		$nmch = sys::rep_act('ctrl_server_plugins_go_'.$sid, 10);
-
-		include(SEC.'control/servers/games/plugins/'.$url['subsection'].'.php');
-	}else{
-		$html->nav('Плагины');
-
-		// Если есть кеш
-		if($mcache->get('ctrl_server_plugins_'.$sid) != '')
-			$html->arr['main'] = $mcache->get('ctrl_server_plugins_'.$sid);
-		else{
-			include(LIB.'games/plugins.php');
-
-			// Категории
-			$cats = $sql->query('SELECT `id`, `name` FROM `plugins_category` WHERE `game`="'.$server['game'].'" ORDER BY `sort` ASC');
-			while($cat = $sql->get($cats))
-			{
-				// Плагины
-				$plugins = $sql->query('SELECT `id`, `name`, `desc`, `images`, `status`, `upd`, `packs`, `price` FROM `plugins` WHERE `cat`="'.$cat['id'].'" ORDER BY `sort`, `id` ASC');
-				while($plugin = $sql->get($plugins))
-				{
-					// Проверка, установлен ли плагин на сервер
-					$sql->query('SELECT `id` FROM `control_plugins_install` WHERE `server`="'.$sid.'" AND `plugin`="'.$plugin['id'].'" LIMIT 1');
-					if($sql->num())
-						continue;
+        exit(header('Refresh: 0; URL=http://'.$_SERVER['SERVER_NAME'].'/404'));
+
+    $html->nav('Список подключенных серверов', $cfg['http'].'control');
+    $html->nav('Список игровых серверов #'.$id, $cfg['http'].'control/id/'.$id);
+    $html->nav($server['address'], $cfg['http'].'control/id/'.$id.'/server/'.$sid);
+
+    // Подразделы
+    $aSub = array('install', 'delete', 'update', 'plugin', 'config', 'search');
+
+    // Если выбран подраздел
+    if(isset($url['subsection']) AND in_array($url['subsection'], $aSub))
+    {
+        $html->nav('Плагины', $cfg['http'].'control/id/'.$id.'/server/'.$sid.'/section/plugins');
+
+        $nmch = sys::rep_act('ctrl_server_plugins_go_'.$sid, 10);
+
+        include(SEC.'control/servers/games/plugins/'.$url['subsection'].'.php');
+    }else{
+        $html->nav('Плагины');
+
+        // Если есть кеш
+        if($mcache->get('ctrl_server_plugins_'.$sid) != '')
+            $html->arr['main'] = $mcache->get('ctrl_server_plugins_'.$sid);
+        else{
+            include(LIB.'games/plugins.php');
+
+            // Категории
+            $cats = $sql->query('SELECT `id`, `name` FROM `plugins_category` WHERE `game`="'.$server['game'].'" ORDER BY `sort` ASC');
+            while($cat = $sql->get($cats))
+            {
+                // Плагины
+                $plugins = $sql->query('SELECT `id`, `name`, `desc`, `images`, `status`, `upd`, `packs`, `price` FROM `plugins` WHERE `cat`="'.$cat['id'].'" ORDER BY `sort`, `id` ASC');
+                while($plugin = $sql->get($plugins))
+                {
+                    // Проверка, установлен ли плагин на сервер
+                    $sql->query('SELECT `id` FROM `control_plugins_install` WHERE `server`="'.$sid.'" AND `plugin`="'.$plugin['id'].'" LIMIT 1');
+                    if($sql->num())
+                        continue;
 
-					// Проверка наличия обновленной версии плагина
-					if($plugin['upd'])
-					{
-						$idp = $plugin['id'];
-
-						$sql->query('SELECT `name`, `desc`, `images`, `status`, `packs`, `price` FROM `plugins_update` WHERE `plugin`="'.$plugin['id'].'" ORDER BY `id` DESC LIMIT 1');
-						if($sql->num())
-						{
-							$plugin = $sql->get();
+                    // Проверка наличия обновленной версии плагина
+                    if($plugin['upd'])
+                    {
+                        $idp = $plugin['id'];
+
+                        $sql->query('SELECT `name`, `desc`, `images`, `status`, `packs`, `price` FROM `plugins_update` WHERE `plugin`="'.$plugin['id'].'" ORDER BY `id` DESC LIMIT 1');
+                        if($sql->num())
+                        {
+                            $plugin = $sql->get();
 
-							$plugin['id'] = $idp;
-						}else
-							$plugin['upd'] = 0;
-					}
+                            $plugin['id'] = $idp;
+                        }else
+                            $plugin['upd'] = 0;
+                    }
 
-					// Проверка на доступность плагина к установленной на сервере сборке
-					$packs = strpos($plugin['packs'], ':') ? explode(':',$plugin['packs']) : array($plugin['packs']);
-					if(!in_array($server['pack'], $packs) AND $plugin['packs'] != 'all')
-						continue;
+                    // Проверка на доступность плагина к установленной на сервере сборке
+                    $packs = strpos($plugin['packs'], ':') ? explode(':',$plugin['packs']) : array($plugin['packs']);
+                    if(!in_array($server['pack'], $packs) AND $plugin['packs'] != 'all')
+                        continue;
 
-					$images = plugins::images($plugin['images'], $plugin['id']);
+                    $images = plugins::images($plugin['images'], $plugin['id']);
 
-					if($plugin['price'])
-					{
-						$sql->query('SELECT `id` FROM `plugins_buy` WHERE `plugin`="'.$plugin['id'].'" AND `server`="'.$sid.'" LIMIT 1');
-						$buy = $sql->num();
-					}
+                    if($plugin['price'])
+                    {
+                        $sql->query('SELECT `id` FROM `plugins_buy` WHERE `plugin`="'.$plugin['id'].'" AND `server`="'.$sid.'" LIMIT 1');
+                        $buy = $sql->num();
+                    }
 
-					// Шаблон плагина
-					$html->get('plugin', 'sections/control/servers/games/plugins');
+                    // Шаблон плагина
+                    $html->get('plugin', 'sections/control/servers/games/plugins');
 
-						$html->set('id', $id);
-						$html->set('server', $sid);
-						$html->set('plugin', $plugin['id']);
+                        $html->set('id', $id);
+                        $html->set('server', $sid);
+                        $html->set('plugin', $plugin['id']);
 
-						plugins::status($plugin['status']);
+                        plugins::status($plugin['status']);
 
-						$html->set('name', htmlspecialchars_decode($plugin['name']));
-						$html->set('desc', htmlspecialchars_decode($plugin['desc']));
+                        $html->set('name', htmlspecialchars_decode($plugin['name']));
+                        $html->set('desc', htmlspecialchars_decode($plugin['desc']));
 
-						if(!empty($images))
-						{
-							$html->unit('images', 1);
-							$html->set('images', $images);
-						}else
-							$html->unit('images');
+                        if(!empty($images))
+                        {
+                            $html->unit('images', 1);
+                            $html->set('images', $images);
+                        }else
+                            $html->unit('images');
 
-						if(!$buy AND $plugin['price'])
-						{
-							$html->unit('price', true, true);
-							$html->set('price', $plugin['price']);
-						}else
-							$html->unit('price', false, true);
+                        if(!$buy AND $plugin['price'])
+                        {
+                            $html->unit('price', true, true);
+                            $html->set('price', $plugin['price']);
+                        }else
+                            $html->unit('price', false, true);
 
-					$html->pack('plugins');
-				}
+                    $html->pack('plugins');
+                }
 
-				// Шаблон блока плагинов
-				$html->get('category', 'sections/control/servers/games/plugins');
+                // Шаблон блока плагинов
+                $html->get('category', 'sections/control/servers/games/plugins');
 
-					$html->set('name', $cat['name']);
-					$html->set('plugins', isset($html->arr['plugins']) ? $html->arr['plugins'] : 'Доступных для установки плагинов нет.', 1);
+                    $html->set('name', $cat['name']);
+                    $html->set('plugins', isset($html->arr['plugins']) ? $html->arr['plugins'] : 'Доступных для установки плагинов нет.', 1);
 
-				$html->pack('addons');
-			}
+                $html->pack('addons');
+            }
 
-			unset($cats, $cat, $plugins, $plugin);
+            unset($cats, $cat, $plugins, $plugin);
 
-			// Список установленных плагинов на сервер (отдельный блок)
-			$pl_ins = $sql->query('SELECT `plugin`, `upd`, `time` FROM `control_plugins_install` WHERE `server`="'.$sid.'" ORDER BY `plugin`');
-			while($plugin = $sql->get($pl_ins))
-			{
-				$sql->query('SELECT `id` FROM `plugins` WHERE `id`="'.$plugin['plugin'].'" LIMIT 1');
-				if(!$sql->num())
-					continue;
+            // Список установленных плагинов на сервер (отдельный блок)
+            $pl_ins = $sql->query('SELECT `plugin`, `upd`, `time` FROM `control_plugins_install` WHERE `server`="'.$sid.'" ORDER BY `plugin`');
+            while($plugin = $sql->get($pl_ins))
+            {
+                $sql->query('SELECT `id` FROM `plugins` WHERE `id`="'.$plugin['plugin'].'" LIMIT 1');
+                if(!$sql->num())
+                    continue;
 
-				$isUpd = $plugin['upd'];
-
-				// Если установлен обновленный плагин
-				if($isUpd)
-					$sql->query('SELECT `name`, `desc`, `status`, `cfg`, `upd` FROM `plugins_update` WHERE `id`="'.$isUpd.'" LIMIT 1');
-				else
-					$sql->query('SELECT `name`, `desc`, `status`, `cfg`, `upd` FROM `plugins` WHERE `id`="'.$plugin['plugin'].'" LIMIT 1');
+                $isUpd = $plugin['upd'];
+
+                // Если установлен обновленный плагин
+                if($isUpd)
+                    $sql->query('SELECT `name`, `desc`, `status`, `cfg`, `upd` FROM `plugins_update` WHERE `id`="'.$isUpd.'" LIMIT 1');
+                else
+                    $sql->query('SELECT `name`, `desc`, `status`, `cfg`, `upd` FROM `plugins` WHERE `id`="'.$plugin['plugin'].'" LIMIT 1');
 
-				$plugin = array_merge($plugin, $sql->get());
+                $plugin = array_merge($plugin, $sql->get());
 
-				// Шаблон плагина
-				$html->get('plugin_install', 'sections/control/servers/games/plugins');
+                // Шаблон плагина
+                $html->get('plugin_install', 'sections/control/servers/games/plugins');
 
-					$html->set('id', $id);
-					$html->set('server', $sid);
-					$html->set('plugin', $plugin['plugin']);
+                    $html->set('id', $id);
+                    $html->set('server', $sid);
+                    $html->set('plugin', $plugin['plugin']);
 
-					plugins::status($plugin['status']);
+                    plugins::status($plugin['status']);
 
-					if($plugin['cfg']) $html->unit('config', 1); else $html->unit('config');
+                    if($plugin['cfg']) $html->unit('config', 1); else $html->unit('config');
 
-					if($plugin['upd']) $html->unit('update', 1); else $html->unit('update');
+                    if($plugin['upd']) $html->unit('update', 1); else $html->unit('update');
 
-					$html->set('name', htmlspecialchars_decode($plugin['name']));
-					$html->set('time', sys::today($plugin['time']));
-					$html->set('desc', htmlspecialchars_decode($plugin['desc']));
+                    $html->set('name', htmlspecialchars_decode($plugin['name']));
+                    $html->set('time', sys::today($plugin['time']));
+                    $html->set('desc', htmlspecialchars_decode($plugin['desc']));
 
-				$html->pack('install');
-			}
+                $html->pack('install');
+            }
 
-			$html->get('plugins', 'sections/control/servers/games');
+            $html->get('plugins', 'sections/control/servers/games');
 
-				$html->set('id', $id);
-				$html->set('server', $sid);
-				$html->set('addons', isset($html->arr['addons']) ? $html->arr['addons'] : '');
-				$html->set('install', isset($html->arr['install']) ? $html->arr['install'] : 'Установленные плагины отсутствуют.');
+                $html->set('id', $id);
+                $html->set('server', $sid);
+                $html->set('addons', isset($html->arr['addons']) ? $html->arr['addons'] : '');
+                $html->set('install', isset($html->arr['install']) ? $html->arr['install'] : 'Установленные плагины отсутствуют.');
 
-			$html->pack('main');
+            $html->pack('main');
 
-			$mcache->set('ctrl_server_plugins_'.$sid, $html->arr['main'], false, 60);
-		}
-	}
+            $mcache->set('ctrl_server_plugins_'.$sid, $html->arr['main'], false, 60);
+        }
+    }
 ?>

+ 40 - 40
system/sections/control/servers/cssold/rcon.php

@@ -1,57 +1,57 @@
 <?php
-	if(!DEFINED('EGP'))
-		exit(header('Refresh: 0; URL=http://'.$_SERVER['SERVER_NAME'].'/404'));
+    if(!DEFINED('EGP'))
+        exit(header('Refresh: 0; URL=http://'.$_SERVER['SERVER_NAME'].'/404'));
 
-	if($go)
-	{
-		include(LIB.'control/'.$server['game'].'/rcon.php');
+    if($go)
+    {
+        include(LIB.'control/'.$server['game'].'/rcon.php');
 
-		if(isset($url['action']) AND in_array($url['action'], array('kick', 'kill')))
-		{
-			$player = isset($_POST['player']) ? $_POST['player'] : sys::outjs(array('e' => 'Необходимо выбрать игрока.'));
+        if(isset($url['action']) AND in_array($url['action'], array('kick', 'kill')))
+        {
+            $player = isset($_POST['player']) ? $_POST['player'] : sys::outjs(array('e' => 'Необходимо выбрать игрока.'));
 
-			if($url['action'] == 'kick')
-				rcon::cmd(array_merge($server, array('id' => $id)), 'kickid "'.$player.'" "EGP Panel"');
-			else
-				rcon::cmd(array_merge($server, array('id' => $id)), 'sm_slay "'.$player.'"');
+            if($url['action'] == 'kick')
+                rcon::cmd(array_merge($server, array('id' => $id)), 'kickid "'.$player.'" "EGP Panel"');
+            else
+                rcon::cmd(array_merge($server, array('id' => $id)), 'sm_slay "'.$player.'"');
 
-			sys::outjs(array('s' => 'ok'));
-		}
+            sys::outjs(array('s' => 'ok'));
+        }
 
-		include(LIB.'geo.php');
-		$SxGeo = new SxGeo(DATA.'SxGeoCity.dat');
+        include(LIB.'geo.php');
+        $SxGeo = new SxGeo(DATA.'SxGeoCity.dat');
 
-		$aPlayers = rcon::players(rcon::cmd(array_merge($server, array('id' => $id))));
+        $aPlayers = rcon::players(rcon::cmd(array_merge($server, array('id' => $id))));
 
-		foreach($aPlayers as $i => $aPlayer)
-		{
-			$html->get('player', 'sections/control/servers/'.$server['game'].'/rcon');
+        foreach($aPlayers as $i => $aPlayer)
+        {
+            $html->get('player', 'sections/control/servers/'.$server['game'].'/rcon');
 
-				$html->set('i', $i);
-				$html->set('userid', $aPlayer['userid']);
-				$html->set('name', $aPlayer['name']);
-				$html->set('steamid', $aPlayer['steamid']);
-				$html->set('time', $aPlayer['time']);
-				$html->set('ping', $aPlayer['ping']);
-				$html->set('ip', $aPlayer['ip']);
-				$html->set('ico', $aPlayer['ico']);
-				$html->set('country', $aPlayer['country']);
+                $html->set('i', $i);
+                $html->set('userid', $aPlayer['userid']);
+                $html->set('name', $aPlayer['name']);
+                $html->set('steamid', $aPlayer['steamid']);
+                $html->set('time', $aPlayer['time']);
+                $html->set('ping', $aPlayer['ping']);
+                $html->set('ip', $aPlayer['ip']);
+                $html->set('ico', $aPlayer['ico']);
+                $html->set('country', $aPlayer['country']);
 
-			$html->pack('players');
-		}
+            $html->pack('players');
+        }
 
-		sys::outjs(array('s' => isset($html->arr['players']) ? $html->arr['players'] : ''));
-	}
+        sys::outjs(array('s' => isset($html->arr['players']) ? $html->arr['players'] : ''));
+    }
 
-	$html->nav('Список подключенных серверов', $cfg['http'].'control');
-	$html->nav('Список игровых серверов #'.$id, $cfg['http'].'control/id/'.$id);
-	$html->nav($server['address'], $cfg['http'].'control/id/'.$id.'/server/'.$sid);
+    $html->nav('Список подключенных серверов', $cfg['http'].'control');
+    $html->nav('Список игровых серверов #'.$id, $cfg['http'].'control/id/'.$id);
+    $html->nav($server['address'], $cfg['http'].'control/id/'.$id.'/server/'.$sid);
     $html->nav('Rcon управление игроками');
 
-	$html->get('rcon', 'sections/control/servers/'.$server['game']);
+    $html->get('rcon', 'sections/control/servers/'.$server['game']);
 
-		$html->set('id', $id);
-		$html->set('server', $sid);
+        $html->set('id', $id);
+        $html->set('server', $sid);
 
-	$html->pack('main');
+    $html->pack('main');
 ?>

+ 60 - 60
system/sections/control/servers/cssold/settings.php

@@ -1,63 +1,63 @@
 <?php
     if(!DEFINED('EGP'))
-		exit(header('Refresh: 0; URL=http://'.$_SERVER['SERVER_NAME'].'/404'));
-
-	$sql->query('SELECT `uid`, `pack` FROM `control_servers` WHERE `id`="'.$sid.'" LIMIT 1');
-	$server = array_merge($server, $sql->get());
-
-	$html->nav('Список подключенных серверов', $cfg['http'].'control');
-	$html->nav('Список игровых серверов #'.$id, $cfg['http'].'control/id/'.$id);
-	$html->nav($server['address'], $cfg['http'].'control/id/'.$id.'/server/'.$sid);
-
-	$aSub = array('start', 'server', 'admins', 'bans', 'firewall', 'crontab', 'startlogs', 'debug', 'logs', 'smlogs', 'pack', 'file');
-
-	// Если выбран подраздел
-	if(isset($url['subsection']) AND in_array($url['subsection'], $aSub))
-	{
-		$html->nav('Настройки', $cfg['http'].'control/id/'.$id.'/server/'.$sid.'/section/settings');
-
-		if($go)
-			$nmch = sys::rep_act('ctrl_server_settings_go_'.$sid, 10);
-
-		if(in_array($url['subsection'], $aRouteSub['settings']))
-			include(SEC.'control/servers/games/settings/'.$url['subsection'].'.php');
-		else
-			include(SEC.'control/servers/'.$server['game'].'/settings/'.$url['subsection'].'.php');
-	}else{
-		$html->nav('Настройки');
-
-		if($mcache->get('ctrl_server_settings_'.$sid) != '')
-			$html->arr['main'] = $mcache->get('ctrl_server_settings_'.$sid);
-		else{
-			$aEditslist = 1;
-			$ctrlmod = true;
-			include(DATA.'filedits.php');
-
-			// Построение списка доступных сборок
-			$aPacks = $cfg['control_packs'][$server['game']];
-
-			$packs = '<option value="'.$server['pack'].'">'.$aPacks[$server['pack']].'</option>';
-			unset($aPacks[$server['pack']]);
-
-			foreach($aPacks as $pack => $desc)
-				$packs .= '<option value="'.$pack.'">'.$desc.'</option>';
-
-			include(SEC.'control/servers/'.$server['game'].'/settings/start.php');
-
-			$html->get('settings', 'sections/control/servers/'.$server['game']);
-				$html->set('id', $id);
-				$html->set('server', $sid);
-				$html->set('packs', $packs);
-				$html->set('start', $html->arr['start']);
-				if(isset($html->arr['edits']))
-				{
-					$html->set('edits', $html->arr['edits']);
-					$html->unit('edits', 1);
-				}else
-					$html->unit('edits');
-			$html->pack('main');
-
-			$mcache->set('ctrl_server_settings_'.$sid, $html->arr['main'], false, 20);
-		}
-	}
+        exit(header('Refresh: 0; URL=http://'.$_SERVER['SERVER_NAME'].'/404'));
+
+    $sql->query('SELECT `uid`, `pack` FROM `control_servers` WHERE `id`="'.$sid.'" LIMIT 1');
+    $server = array_merge($server, $sql->get());
+
+    $html->nav('Список подключенных серверов', $cfg['http'].'control');
+    $html->nav('Список игровых серверов #'.$id, $cfg['http'].'control/id/'.$id);
+    $html->nav($server['address'], $cfg['http'].'control/id/'.$id.'/server/'.$sid);
+
+    $aSub = array('start', 'server', 'admins', 'bans', 'firewall', 'crontab', 'startlogs', 'debug', 'logs', 'smlogs', 'pack', 'file');
+
+    // Если выбран подраздел
+    if(isset($url['subsection']) AND in_array($url['subsection'], $aSub))
+    {
+        $html->nav('Настройки', $cfg['http'].'control/id/'.$id.'/server/'.$sid.'/section/settings');
+
+        if($go)
+            $nmch = sys::rep_act('ctrl_server_settings_go_'.$sid, 10);
+
+        if(in_array($url['subsection'], $aRouteSub['settings']))
+            include(SEC.'control/servers/games/settings/'.$url['subsection'].'.php');
+        else
+            include(SEC.'control/servers/'.$server['game'].'/settings/'.$url['subsection'].'.php');
+    }else{
+        $html->nav('Настройки');
+
+        if($mcache->get('ctrl_server_settings_'.$sid) != '')
+            $html->arr['main'] = $mcache->get('ctrl_server_settings_'.$sid);
+        else{
+            $aEditslist = 1;
+            $ctrlmod = true;
+            include(DATA.'filedits.php');
+
+            // Построение списка доступных сборок
+            $aPacks = $cfg['control_packs'][$server['game']];
+
+            $packs = '<option value="'.$server['pack'].'">'.$aPacks[$server['pack']].'</option>';
+            unset($aPacks[$server['pack']]);
+
+            foreach($aPacks as $pack => $desc)
+                $packs .= '<option value="'.$pack.'">'.$desc.'</option>';
+
+            include(SEC.'control/servers/'.$server['game'].'/settings/start.php');
+
+            $html->get('settings', 'sections/control/servers/'.$server['game']);
+                $html->set('id', $id);
+                $html->set('server', $sid);
+                $html->set('packs', $packs);
+                $html->set('start', $html->arr['start']);
+                if(isset($html->arr['edits']))
+                {
+                    $html->set('edits', $html->arr['edits']);
+                    $html->unit('edits', 1);
+                }else
+                    $html->unit('edits');
+            $html->pack('main');
+
+            $mcache->set('ctrl_server_settings_'.$sid, $html->arr['main'], false, 20);
+        }
+    }
 ?>

+ 79 - 79
system/sections/control/servers/cssold/settings/admins.php

@@ -1,112 +1,112 @@
 <?php
     if(!DEFINED('EGP'))
-		exit(header('Refresh: 0; URL=http://'.$_SERVER['SERVER_NAME'].'/404'));
+        exit(header('Refresh: 0; URL=http://'.$_SERVER['SERVER_NAME'].'/404'));
 
     $html->nav('Управление администраторами');
 
-	if($go)
-	{
-		$sql->query('SELECT `address`, `passwd` FROM `control` WHERE `id`="'.$id.'" LIMIT 1');
-		$unit = $sql->get();
+    if($go)
+    {
+        $sql->query('SELECT `address`, `passwd` FROM `control` WHERE `id`="'.$id.'" LIMIT 1');
+        $unit = $sql->get();
 
-		include(LIB.'ssh.php');
+        include(LIB.'ssh.php');
 
-		if(!$ssh->auth($unit['passwd'], $unit['address']))
-			sys::outjs(array('e' => sys::text('error', 'ssh')), $nmch);
+        if(!$ssh->auth($unit['passwd'], $unit['address']))
+            sys::outjs(array('e' => sys::text('error', 'ssh')), $nmch);
 
-		$aData = array();
+        $aData = array();
 
-		$aData['active'] = isset($_POST['active']) ? $_POST['active'] : '';
-		$aData['value'] = isset($_POST['value']) ? $_POST['value'] : '';
-		$aData['passwd'] = isset($_POST['passwd']) ? $_POST['passwd'] : '';
-		$aData['flags'] = isset($_POST['flags']) ? $_POST['flags'] : '';
-		$aData['immunity'] = isset($_POST['immunity']) ? sys::int($_POST['immunity']) : '';
-		$aData['time'] = isset($_POST['time']) ? $_POST['time'] : '';
-		$aData['info'] = isset($_POST['info']) ? $_POST['info'] : '';
+        $aData['active'] = isset($_POST['active']) ? $_POST['active'] : '';
+        $aData['value'] = isset($_POST['value']) ? $_POST['value'] : '';
+        $aData['passwd'] = isset($_POST['passwd']) ? $_POST['passwd'] : '';
+        $aData['flags'] = isset($_POST['flags']) ? $_POST['flags'] : '';
+        $aData['immunity'] = isset($_POST['immunity']) ? sys::int($_POST['immunity']) : '';
+        $aData['time'] = isset($_POST['time']) ? $_POST['time'] : '';
+        $aData['info'] = isset($_POST['info']) ? $_POST['info'] : '';
 
-		// Удаление текущих записей
-		$sql->query('DELETE FROM `control_admins_'.$server['game'].'` WHERE `server`="'.$sid.'"');
+        // Удаление текущих записей
+        $sql->query('DELETE FROM `control_admins_'.$server['game'].'` WHERE `server`="'.$sid.'"');
 
-		$usini = '';
+        $usini = '';
 
-		foreach($aData['value'] as $index => $val)
-		{
-			if($val != '')
-			{
-				$aDate = isset($aData['time'][$index]) ? explode('.', $aData['time'][$index]) : explode('.', date('d.m.Y', $start_point));
+        foreach($aData['value'] as $index => $val)
+        {
+            if($val != '')
+            {
+                $aDate = isset($aData['time'][$index]) ? explode('.', $aData['time'][$index]) : explode('.', date('d.m.Y', $start_point));
 
-				if(!isset($aDate[1], $aDate[0], $aDate[2]) || !checkdate($aDate[1], $aDate[0], $aDate[2]))
-					$aDate = explode('.', date('d.m.Y', $start_point));
+                if(!isset($aDate[1], $aDate[0], $aDate[2]) || !checkdate($aDate[1], $aDate[0], $aDate[2]))
+                    $aDate = explode('.', date('d.m.Y', $start_point));
 
-				$time = mktime(0, 0, 0, $aDate[1], $aDate[0], $aDate[2]);
+                $time = mktime(0, 0, 0, $aDate[1], $aDate[0], $aDate[2]);
 
-				$aData['active'][$index] = isset($aData['active'][$index]) ? 1 : 0;
-				$aData['passwd'][$index] = isset($aData['passwd'][$index]) ? $aData['passwd'][$index] : '';
-				$aData['flags'][$index] = isset($aData['flags'][$index]) ? $aData['flags'][$index] : '';
-				$aData['info'][$index] = isset($aData['info'][$index]) ? $aData['info'][$index] : '';
+                $aData['active'][$index] = isset($aData['active'][$index]) ? 1 : 0;
+                $aData['passwd'][$index] = isset($aData['passwd'][$index]) ? $aData['passwd'][$index] : '';
+                $aData['flags'][$index] = isset($aData['flags'][$index]) ? $aData['flags'][$index] : '';
+                $aData['info'][$index] = isset($aData['info'][$index]) ? $aData['info'][$index] : '';
 
-				$text = '"'.$val.'" "'.$aData['immunity'][$index].':'.$aData['flags'][$index].'" "'.$aData['passwd'][$index].'"';
+                $text = '"'.$val.'" "'.$aData['immunity'][$index].':'.$aData['flags'][$index].'" "'.$aData['passwd'][$index].'"';
 
-				$sql->query('INSERT INTO `control_admins_'.$server['game'].'` set'
-					.'`server`="'.$sid.'",'
-					.'`value`="'.htmlspecialchars($val).'",'
-					.'`active`="'.$aData['active'][$index].'",'
-					.'`passwd`="'.htmlspecialchars($aData['passwd'][$index]).'",'
-					.'`flags`="'.htmlspecialchars($aData['flags'][$index]).'",'
-					.'`immunity`="'.$aData['immunity'][$index].'",'
-					.'`time`="'.$time.'",'
-					.'`text`="'.htmlspecialchars($text).'",'
-					.'`info`="'.htmlspecialchars($aData['info'][$index]).'"');
+                $sql->query('INSERT INTO `control_admins_'.$server['game'].'` set'
+                    .'`server`="'.$sid.'",'
+                    .'`value`="'.htmlspecialchars($val).'",'
+                    .'`active`="'.$aData['active'][$index].'",'
+                    .'`passwd`="'.htmlspecialchars($aData['passwd'][$index]).'",'
+                    .'`flags`="'.htmlspecialchars($aData['flags'][$index]).'",'
+                    .'`immunity`="'.$aData['immunity'][$index].'",'
+                    .'`time`="'.$time.'",'
+                    .'`text`="'.htmlspecialchars($text).'",'
+                    .'`info`="'.htmlspecialchars($aData['info'][$index]).'"');
 
-				if($aData['active'][$index])
-					$usini .= $text.PHP_EOL;
-			}
-		}
+                if($aData['active'][$index])
+                    $usini .= $text.PHP_EOL;
+            }
+        }
 
-		$temp = sys::temp($usini);
+        $temp = sys::temp($usini);
 
-		$ssh->setfile($temp, '/servers/'.$server['uid'].'/cstrike/addons/sourcemod/configs/admins_simple.ini', 0644);
+        $ssh->setfile($temp, '/servers/'.$server['uid'].'/cstrike/addons/sourcemod/configs/admins_simple.ini', 0644);
 
-		unlink($temp);
+        unlink($temp);
 
-		$ssh->set('chown server'.$server['uid'].':servers /servers/'.$server['uid'].'/cstrike/addons/sourcemod/configs/admins_simple.ini');
+        $ssh->set('chown server'.$server['uid'].':servers /servers/'.$server['uid'].'/cstrike/addons/sourcemod/configs/admins_simple.ini');
 
-		$ssh->set("sudo -u server".$server['uid']." screen -p 0 -S s_".$server['uid']." -X eval 'stuff \" sm_reloadadmins\"\015'");
+        $ssh->set("sudo -u server".$server['uid']." screen -p 0 -S s_".$server['uid']." -X eval 'stuff \" sm_reloadadmins\"\015'");
 
-		sys::outjs(array('s' => 'ok'), $nmch);
-	}
+        sys::outjs(array('s' => 'ok'), $nmch);
+    }
 
-	// Построение списка добавленных админов
-	$sql->query('SELECT `id`, `value`, `active`, `passwd`, `flags`, `immunity`, `time`, `info` FROM `control_admins_'.$server['game'].'` WHERE `server`="'.$sid.'" ORDER BY `id` ASC');
-	while($admin = $sql->get())
-	{
-		$html->get('list', 'sections/control/servers/'.$server['game'].'/settings/admins');
+    // Построение списка добавленных админов
+    $sql->query('SELECT `id`, `value`, `active`, `passwd`, `flags`, `immunity`, `time`, `info` FROM `control_admins_'.$server['game'].'` WHERE `server`="'.$sid.'" ORDER BY `id` ASC');
+    while($admin = $sql->get())
+    {
+        $html->get('list', 'sections/control/servers/'.$server['game'].'/settings/admins');
 
-			if($admin['active'])
-				$html->unit('active', 1);
-			else
-				$html->unit('active');
+            if($admin['active'])
+                $html->unit('active', 1);
+            else
+                $html->unit('active');
 
-			$html->set('id', $admin['id']);
-			$html->set('value', $admin['value']);
-			$html->set('passwd', $admin['passwd']);
-			$html->set('flags', $admin['flags']);
-			$html->set('immunity', $admin['immunity']);
-			$html->set('time', date('d.m.y', $admin['time']));
-			$html->set('info', $admin['info']);
+            $html->set('id', $admin['id']);
+            $html->set('value', $admin['value']);
+            $html->set('passwd', $admin['passwd']);
+            $html->set('flags', $admin['flags']);
+            $html->set('immunity', $admin['immunity']);
+            $html->set('time', date('d.m.y', $admin['time']));
+            $html->set('info', $admin['info']);
 
-		$html->pack('admins');
-	}
+        $html->pack('admins');
+    }
 
-	$sql->query('SELECT `id` FROM `control_admins_'.$server['game'].'` WHERE `server`="'.$sid.'" ORDER BY `id` DESC LIMIT 1');
-	$max = $sql->get();
+    $sql->query('SELECT `id` FROM `control_admins_'.$server['game'].'` WHERE `server`="'.$sid.'" ORDER BY `id` DESC LIMIT 1');
+    $max = $sql->get();
 
-	$html->get('admins', 'sections/control/servers/'.$server['game'].'/settings');
+    $html->get('admins', 'sections/control/servers/'.$server['game'].'/settings');
 
-		$html->set('id', $id);
-		$html->set('server', $sid);
-		$html->set('admins', isset($html->arr['admins']) ? $html->arr['admins'] : '');
-		$html->set('index', $max['id'] < 1 ? 0 : $max['id']);
+        $html->set('id', $id);
+        $html->set('server', $sid);
+        $html->set('admins', isset($html->arr['admins']) ? $html->arr['admins'] : '');
+        $html->set('index', $max['id'] < 1 ? 0 : $max['id']);
 
-	$html->pack('main');
+    $html->pack('main');
 ?>

+ 150 - 150
system/sections/control/servers/cssold/settings/bans.php

@@ -1,158 +1,158 @@
 <?php
     if(!DEFINED('EGP'))
-		exit(header('Refresh: 0; URL=http://'.$_SERVER['SERVER_NAME'].'/404'));
+        exit(header('Refresh: 0; URL=http://'.$_SERVER['SERVER_NAME'].'/404'));
 
     $html->nav('Бан листы');
 
-	$sql->query('SELECT `address`, `passwd` FROM `control` WHERE `id`="'.$id.'" LIMIT 1');
-	$unit = $sql->get();
-
-	include(LIB.'ssh.php');
-
-	if(!$ssh->auth($unit['passwd'], $unit['address']))
-		sys::back($cfg['http'].'control/id/'.$id.'/server/'.$sid.'/section/settings');
-
-	// Путь к файлам (banned_user.cfg / banned_ip.cfg)
-	$folder = '/servers/'.$server['uid'].'/cstrike';
-
-	// Если бан/разбан/проверка
-	if($go)
-	{
-		$aData = array();
-		
-		$aData['value'] = isset($_POST['value']) ? trim($_POST['value']) : sys::outjs(array('e' => sys::text('servers', 'bans')), $nmch);
-		$aData['userid'] = isset($_POST['userid']) ? sys::int($_POST['userid']) : false;
-		$aData['amxbans'] = isset($_POST['amxbans']) ? true : false;
-
-		// Проверка входных данных
-		if(sys::valid($aData['value'], 'steamid') AND sys::valid($aData['value'], 'ip'))
-			sys::outjs(array('e' => sys::text('servers', 'bans')), $nmch);
-
-		// Если указан steamid
-		if(sys::valid($aData['value'], 'ip'))
-		{
-			// бан
-			if(isset($url['action']) AND $url['action'] == 'ban')
-			{
-				// Если включен sourcebans
-				if($aData['amxbans'] AND $aData['userid'])
-					$ssh->set("sudo -u server".$server['uid']." screen -p 0 -S s_".$server['uid']." -X eval 'stuff \"sm_ban 0 ".$aData['userid']." EGP\"\015'");
-				else
-					$ssh->set("sudo -u server".$server['uid']." screen -p 0 -S s_".$server['uid']." -X eval 'stuff \"banid 0.0 ".$aData['value']." kick\"\015'");
-
-				$ssh->set('cd '.$folder.' && sudo -u server'.$server['uid'].' fgrep '.$aData['value'].' banned_user.cfg | awk \'{print $3}\'');
-
-				if($aData['value'] != trim($ssh->get()))
-					$ssh->set('sudo -u server'.$server['uid'].' sh -c "echo \"banid 0.0 '.$aData['value'].'\" >> '.$folder.'/banned_user.cfg"');
-
-				sys::outjs(array('s' => 'ok'), $nmch);
-
-			// разбан	
-			}elseif(isset($url['action']) AND $url['action'] == 'unban'){
-				// Убираем запись из banned_user.cfg
-				$ssh->set('cd '.$folder.' && sudo -u server'.$server['uid'].' sh -c "cat banned_user.cfg | grep -v '.$aData['value'].' > temp_banned.cfg; echo "" >> temp_banned.cfg && cat temp_banned.cfg > banned_user.cfg; rm temp_banned.cfg"');
-
-				// Если включен sourcebans
-				if($aData['amxbans'])
-					$ssh->set("sudo -u server".$server['uid']." screen -p 0 -S s_".$server['uid']." -X eval 'stuff \"sm_unban ".$aData['value']."\"\015'");
-				else{
-					$ssh->set("sudo -u server".$server['uid']." screen -p 0 -S s_".$server['uid']." -X eval 'stuff \"removeid ".$aData['value']."\"\015'");
-					$ssh->set("sudo -u server".$server['uid']." screen -p 0 -S s_".$server['uid']." -X eval 'stuff \"writeid\"\015'");
-				}
-
-				sys::outjs(array('s' => 'ok'), $nmch);
-			// проверка
-			}else{
-				$ssh->set('cd '.$folder.' && sudo -u server'.$server['uid'].' fgrep '.$aData['value'].' banned_user.cfg | awk \'{print $3}\'');
-
-				if($aData['value'] == trim($ssh->get()))
-					sys::outjs(array('ban' => 'Данный SteamID <u>найден</u> в файле banned_user.cfg'), $nmch);
-
-				sys::outjs(array('unban' => 'Данный SteamID <u>не найден</u> в файле banned_user.cfg'), $nmch);
-			}
-		}else{
-			// бан
-			if(isset($url['action']) AND $url['action'] == 'ban')
-			{
-				// Если включен sourcebans
-				if($aData['amxbans'])
-					$ssh->set("sudo -u server".$server['uid']." screen -p 0 -S s_".$server['uid']." -X eval 'stuff \"sm_ban 0 ".$aData['value']." EGP\"\015'");
-				else
-					$ssh->set("sudo -u server".$server['uid']." screen -p 0 -S s_".$server['uid']." -X eval 'stuff \"addip 0.0 ".$aData['value']." EGP\"\015'");
-
-				$ssh->set('cd '.$folder.' && sudo -u server'.$server['uid'].' fgrep '.$aData['value'].' banned_ip.cfg | awk \'{print $3}\'');
-
-				if($aData['value'] != trim($ssh->get()))
-					$ssh->set('sudo -u server'.$server['uid'].' sh -c "echo \"addip 0.0 '.$aData['value'].'\" >> '.$folder.'/banned_ip.cfg"');
-
-				sys::outjs(array('s' => 'ok'), $nmch);
-
-			// разбан	
-			}elseif(isset($url['action']) AND $url['action'] == 'unban'){
-				// Убираем запись из banned_ip.cfg
-				$ssh->set('cd '.$folder.' && sudo -u server'.$server['uid'].' sh -c "cat banned_ip.cfg | grep -v '.$aData['value'].' > temp_listip.cfg; echo "" >> temp_listip.cfg && cat temp_listip.cfg > banned_ip.cfg; rm temp_listip.cfg"');
-
-				// Если включен sourcebans
-				if($aData['amxbans'])
-					$ssh->set("sudo -u server".$server['uid']." screen -p 0 -S s_".$server['uid']." -X eval 'stuff \"amx_unban ".$aData['value']."\"\015'");
-				else{
-					$ssh->set("sudo -u server".$server['uid']." screen -p 0 -S s_".$server['uid']." -X eval 'stuff \"removeip ".$aData['value']."\"\015'");
-					$ssh->set("sudo -u server".$server['uid']." screen -p 0 -S s_".$server['uid']." -X eval 'stuff \"writeip\"\015'");
-				}
-
-				sys::outjs(array('s' => 'ok'), $nmch);
-			// проверка
-			}else{
-				$ssh->set('cd '.$folder.' && sudo -u server'.$server['uid'].' fgrep '.$aData['value'].' banned_ip.cfg | awk \'{print $3}\'');
-
-				if($aData['value'] == trim($ssh->get()))
-					sys::outjs(array('ban' => 'Данный IP <u>найден</u> в файле banned_ip.cfg'), $nmch);
-
-				sys::outjs(array('unban' => 'Данный IP <u>не найден</u> в файле banned_ip.cfg'), $nmch);
-			}
-		}
-	}
-
-	// Содержимое banned_user.cfg
-	$ssh->set('cd '.$folder.' && cat banned_user.cfg | awk \'{print $3}\' | grep STEAM_');
-	$aBanned = explode("\n", $ssh->get());
-
-	// Содержимое banned_ip.cfg
-	$ssh->set('cd '.$folder.' && cat banned_ip.cfg | awk \'{print $3}\' | egrep "(25[0-5]|2[0-4][0-9]|[0-1][0-9]{2}|[0-9]{2}|[0-9])(\.(25[0-5]|2[0-4][0-9]|[0-1][0-9]{2}|[0-9]{2}|[0-9])){3}"');
-	$aListip = explode("\n", $ssh->get());
-
-	if(isset($aBanned[count($aBanned)-1]) AND $aBanned[count($aBanned)-1] == '')
-		unset($aBanned[count($aBanned)-1]);
-
-	if(isset($aListip[count($aListip)-1]) AND $aListip[count($aListip)-1] == '')
-		unset($aListip[count($aListip)-1]);
-
-	// Построение списка забаненых по steamid
-	foreach($aBanned as $line => $steam)
-	{
-		$html->get('bans_list', 'sections/control/servers/games/settings');
-
-			$html->set('value', trim($steam));
-
-		$html->pack('banned');
-	}
+    $sql->query('SELECT `address`, `passwd` FROM `control` WHERE `id`="'.$id.'" LIMIT 1');
+    $unit = $sql->get();
+
+    include(LIB.'ssh.php');
+
+    if(!$ssh->auth($unit['passwd'], $unit['address']))
+        sys::back($cfg['http'].'control/id/'.$id.'/server/'.$sid.'/section/settings');
+
+    // Путь к файлам (banned_user.cfg / banned_ip.cfg)
+    $folder = '/servers/'.$server['uid'].'/cstrike';
+
+    // Если бан/разбан/проверка
+    if($go)
+    {
+        $aData = array();
+        
+        $aData['value'] = isset($_POST['value']) ? trim($_POST['value']) : sys::outjs(array('e' => sys::text('servers', 'bans')), $nmch);
+        $aData['userid'] = isset($_POST['userid']) ? sys::int($_POST['userid']) : false;
+        $aData['amxbans'] = isset($_POST['amxbans']) ? true : false;
+
+        // Проверка входных данных
+        if(sys::valid($aData['value'], 'steamid') AND sys::valid($aData['value'], 'ip'))
+            sys::outjs(array('e' => sys::text('servers', 'bans')), $nmch);
+
+        // Если указан steamid
+        if(sys::valid($aData['value'], 'ip'))
+        {
+            // бан
+            if(isset($url['action']) AND $url['action'] == 'ban')
+            {
+                // Если включен sourcebans
+                if($aData['amxbans'] AND $aData['userid'])
+                    $ssh->set("sudo -u server".$server['uid']." screen -p 0 -S s_".$server['uid']." -X eval 'stuff \"sm_ban 0 ".$aData['userid']." EGP\"\015'");
+                else
+                    $ssh->set("sudo -u server".$server['uid']." screen -p 0 -S s_".$server['uid']." -X eval 'stuff \"banid 0.0 ".$aData['value']." kick\"\015'");
+
+                $ssh->set('cd '.$folder.' && sudo -u server'.$server['uid'].' fgrep '.$aData['value'].' banned_user.cfg | awk \'{print $3}\'');
+
+                if($aData['value'] != trim($ssh->get()))
+                    $ssh->set('sudo -u server'.$server['uid'].' sh -c "echo \"banid 0.0 '.$aData['value'].'\" >> '.$folder.'/banned_user.cfg"');
+
+                sys::outjs(array('s' => 'ok'), $nmch);
+
+            // разбан   
+            }elseif(isset($url['action']) AND $url['action'] == 'unban'){
+                // Убираем запись из banned_user.cfg
+                $ssh->set('cd '.$folder.' && sudo -u server'.$server['uid'].' sh -c "cat banned_user.cfg | grep -v '.$aData['value'].' > temp_banned.cfg; echo "" >> temp_banned.cfg && cat temp_banned.cfg > banned_user.cfg; rm temp_banned.cfg"');
+
+                // Если включен sourcebans
+                if($aData['amxbans'])
+                    $ssh->set("sudo -u server".$server['uid']." screen -p 0 -S s_".$server['uid']." -X eval 'stuff \"sm_unban ".$aData['value']."\"\015'");
+                else{
+                    $ssh->set("sudo -u server".$server['uid']." screen -p 0 -S s_".$server['uid']." -X eval 'stuff \"removeid ".$aData['value']."\"\015'");
+                    $ssh->set("sudo -u server".$server['uid']." screen -p 0 -S s_".$server['uid']." -X eval 'stuff \"writeid\"\015'");
+                }
+
+                sys::outjs(array('s' => 'ok'), $nmch);
+            // проверка
+            }else{
+                $ssh->set('cd '.$folder.' && sudo -u server'.$server['uid'].' fgrep '.$aData['value'].' banned_user.cfg | awk \'{print $3}\'');
+
+                if($aData['value'] == trim($ssh->get()))
+                    sys::outjs(array('ban' => 'Данный SteamID <u>найден</u> в файле banned_user.cfg'), $nmch);
+
+                sys::outjs(array('unban' => 'Данный SteamID <u>не найден</u> в файле banned_user.cfg'), $nmch);
+            }
+        }else{
+            // бан
+            if(isset($url['action']) AND $url['action'] == 'ban')
+            {
+                // Если включен sourcebans
+                if($aData['amxbans'])
+                    $ssh->set("sudo -u server".$server['uid']." screen -p 0 -S s_".$server['uid']." -X eval 'stuff \"sm_ban 0 ".$aData['value']." EGP\"\015'");
+                else
+                    $ssh->set("sudo -u server".$server['uid']." screen -p 0 -S s_".$server['uid']." -X eval 'stuff \"addip 0.0 ".$aData['value']." EGP\"\015'");
+
+                $ssh->set('cd '.$folder.' && sudo -u server'.$server['uid'].' fgrep '.$aData['value'].' banned_ip.cfg | awk \'{print $3}\'');
+
+                if($aData['value'] != trim($ssh->get()))
+                    $ssh->set('sudo -u server'.$server['uid'].' sh -c "echo \"addip 0.0 '.$aData['value'].'\" >> '.$folder.'/banned_ip.cfg"');
+
+                sys::outjs(array('s' => 'ok'), $nmch);
+
+            // разбан   
+            }elseif(isset($url['action']) AND $url['action'] == 'unban'){
+                // Убираем запись из banned_ip.cfg
+                $ssh->set('cd '.$folder.' && sudo -u server'.$server['uid'].' sh -c "cat banned_ip.cfg | grep -v '.$aData['value'].' > temp_listip.cfg; echo "" >> temp_listip.cfg && cat temp_listip.cfg > banned_ip.cfg; rm temp_listip.cfg"');
+
+                // Если включен sourcebans
+                if($aData['amxbans'])
+                    $ssh->set("sudo -u server".$server['uid']." screen -p 0 -S s_".$server['uid']." -X eval 'stuff \"amx_unban ".$aData['value']."\"\015'");
+                else{
+                    $ssh->set("sudo -u server".$server['uid']." screen -p 0 -S s_".$server['uid']." -X eval 'stuff \"removeip ".$aData['value']."\"\015'");
+                    $ssh->set("sudo -u server".$server['uid']." screen -p 0 -S s_".$server['uid']." -X eval 'stuff \"writeip\"\015'");
+                }
+
+                sys::outjs(array('s' => 'ok'), $nmch);
+            // проверка
+            }else{
+                $ssh->set('cd '.$folder.' && sudo -u server'.$server['uid'].' fgrep '.$aData['value'].' banned_ip.cfg | awk \'{print $3}\'');
+
+                if($aData['value'] == trim($ssh->get()))
+                    sys::outjs(array('ban' => 'Данный IP <u>найден</u> в файле banned_ip.cfg'), $nmch);
+
+                sys::outjs(array('unban' => 'Данный IP <u>не найден</u> в файле banned_ip.cfg'), $nmch);
+            }
+        }
+    }
+
+    // Содержимое banned_user.cfg
+    $ssh->set('cd '.$folder.' && cat banned_user.cfg | awk \'{print $3}\' | grep STEAM_');
+    $aBanned = explode("\n", $ssh->get());
+
+    // Содержимое banned_ip.cfg
+    $ssh->set('cd '.$folder.' && cat banned_ip.cfg | awk \'{print $3}\' | egrep "(25[0-5]|2[0-4][0-9]|[0-1][0-9]{2}|[0-9]{2}|[0-9])(\.(25[0-5]|2[0-4][0-9]|[0-1][0-9]{2}|[0-9]{2}|[0-9])){3}"');
+    $aListip = explode("\n", $ssh->get());
+
+    if(isset($aBanned[count($aBanned)-1]) AND $aBanned[count($aBanned)-1] == '')
+        unset($aBanned[count($aBanned)-1]);
+
+    if(isset($aListip[count($aListip)-1]) AND $aListip[count($aListip)-1] == '')
+        unset($aListip[count($aListip)-1]);
+
+    // Построение списка забаненых по steamid
+    foreach($aBanned as $line => $steam)
+    {
+        $html->get('bans_list', 'sections/control/servers/games/settings');
+
+            $html->set('value', trim($steam));
+
+        $html->pack('banned');
+    }
 
-	// Построение списка забаненых по ip
-	foreach($aListip as $line => $ip)
-	{
-		$html->get('bans_list', 'sections/control/servers/games/settings');
+    // Построение списка забаненых по ip
+    foreach($aListip as $line => $ip)
+    {
+        $html->get('bans_list', 'sections/control/servers/games/settings');
 
-			$html->set('value', trim($ip));
-
-		$html->pack('listip');
-	}
-
-	$html->get('bans', 'sections/control/servers/'.$server['game'].'/settings');
-
-		$html->set('id', $id);
-		$html->set('server', $sid);
-		$html->set('banned', isset($html->arr['banned']) ? $html->arr['banned'] : '');
-		$html->set('listip', isset($html->arr['listip']) ? $html->arr['listip'] : '');
-
-	$html->pack('main');
+            $html->set('value', trim($ip));
+
+        $html->pack('listip');
+    }
+
+    $html->get('bans', 'sections/control/servers/'.$server['game'].'/settings');
+
+        $html->set('id', $id);
+        $html->set('server', $sid);
+        $html->set('banned', isset($html->arr['banned']) ? $html->arr['banned'] : '');
+        $html->set('listip', isset($html->arr['listip']) ? $html->arr['listip'] : '');
+
+    $html->pack('main');
 ?>

+ 12 - 12
system/sections/control/servers/cssold/settings/debug.php

@@ -1,25 +1,25 @@
 <?php
     if(!DEFINED('EGP'))
-		exit(header('Refresh: 0; URL=http://'.$_SERVER['SERVER_NAME'].'/404'));
+        exit(header('Refresh: 0; URL=http://'.$_SERVER['SERVER_NAME'].'/404'));
 
     $html->nav('Отладочный лог');
 
-	$sql->query('SELECT `address`, `passwd` FROM `control` WHERE `id`="'.$id.'" LIMIT 1');
-	$unit = $sql->get();
+    $sql->query('SELECT `address`, `passwd` FROM `control` WHERE `id`="'.$id.'" LIMIT 1');
+    $unit = $sql->get();
 
-	include(LIB.'ssh.php');
+    include(LIB.'ssh.php');
 
-	if(!$ssh->auth($unit['passwd'], $unit['address']))
-		sys::back($cfg['http'].'control/id/'.$id.'/server/'.$sid.'/section/settings');
+    if(!$ssh->auth($unit['passwd'], $unit['address']))
+        sys::back($cfg['http'].'control/id/'.$id.'/server/'.$sid.'/section/settings');
 
-	// Чтение файла - oldstart.log
-	$file = '/servers/'.$server['uid'].'/debug.log';
+    // Чтение файла - oldstart.log
+    $file = '/servers/'.$server['uid'].'/debug.log';
 
-	$ssh->set('echo "" >> '.$file.' && cat '.$file.' | grep "CRASH: " | grep -ve "^#\|^[[:space:]]*$"');
+    $ssh->set('echo "" >> '.$file.' && cat '.$file.' | grep "CRASH: " | grep -ve "^#\|^[[:space:]]*$"');
 
-	$html->get('debug', 'sections/control/servers/games/settings');
+    $html->get('debug', 'sections/control/servers/games/settings');
 
-		$html->set('log', htmlspecialchars($ssh->get(), NULL, ''));
+        $html->set('log', htmlspecialchars($ssh->get(), NULL, ''));
 
-	$html->pack('main');
+    $html->pack('main');
 ?>

+ 60 - 60
system/sections/control/servers/cssold/settings/logs.php

@@ -1,89 +1,89 @@
 <?php
     if(!DEFINED('EGP'))
-		exit(header('Refresh: 0; URL=http://'.$_SERVER['SERVER_NAME'].'/404'));
+        exit(header('Refresh: 0; URL=http://'.$_SERVER['SERVER_NAME'].'/404'));
 
     $html->nav('Логи');
 
-	$sql->query('SELECT `address`, `passwd` FROM `control` WHERE `id`="'.$id.'" LIMIT 1');
-	$unit = $sql->get();
+    $sql->query('SELECT `address`, `passwd` FROM `control` WHERE `id`="'.$id.'" LIMIT 1');
+    $unit = $sql->get();
 
-	include(LIB.'ssh.php');
+    include(LIB.'ssh.php');
 
-	if(!$ssh->auth($unit['passwd'], $unit['address']))
-		sys::back($cfg['http'].'control/id/'.$id.'/server/'.$sid.'/section/settings');
+    if(!$ssh->auth($unit['passwd'], $unit['address']))
+        sys::back($cfg['http'].'control/id/'.$id.'/server/'.$sid.'/section/settings');
 
-	// Путь к логам
-	$folder = '/servers/'.$server['uid'].'/cstrike/logs';
+    // Путь к логам
+    $folder = '/servers/'.$server['uid'].'/cstrike/logs';
 
-	// Если выбран лог
-	if(isset($url['log']))
-	{
-		if(sys::valid($url['log'], 'other', $aValid['cslogs']))
-			sys::back($cfg['http'].'control/id/'.$id.'/server/'.$sid.'/section/settings/subsection/logs');
+    // Если выбран лог
+    if(isset($url['log']))
+    {
+        if(sys::valid($url['log'], 'other', $aValid['cslogs']))
+            sys::back($cfg['http'].'control/id/'.$id.'/server/'.$sid.'/section/settings/subsection/logs');
 
-		$ssh->set('sudo -u server'.$server['uid'].' cat '.$folder.'/'.$url['log']);
+        $ssh->set('sudo -u server'.$server['uid'].' cat '.$folder.'/'.$url['log']);
 
-		$html->get('view', 'sections/control/servers/games/settings/logs');
+        $html->get('view', 'sections/control/servers/games/settings/logs');
 
-				$html->set('id', $id);
-				$html->set('server', $sid);
-				$html->set('name', $url['log']);
-				$html->set('log', htmlspecialchars($ssh->get(), NULL, ''));
-				$html->set('uri', 'logs');
+                $html->set('id', $id);
+                $html->set('server', $sid);
+                $html->set('name', $url['log']);
+                $html->set('log', htmlspecialchars($ssh->get(), NULL, ''));
+                $html->set('uri', 'logs');
 
-		$html->pack('main');
-	}else{
-		if(isset($url['delall']))
-		{
-			$ssh->set('cd '.$folder.' && rm *.log');
+        $html->pack('main');
+    }else{
+        if(isset($url['delall']))
+        {
+            $ssh->set('cd '.$folder.' && rm *.log');
 
-			sys::back($cfg['http'].'control/id/'.$id.'/server/'.$sid.'/section/settings/subsection/logs');
-		}
+            sys::back($cfg['http'].'control/id/'.$id.'/server/'.$sid.'/section/settings/subsection/logs');
+        }
 
-		$ssh->set('cd '.$folder.' && du -ab --time | grep -e .log$ | awk \'{print $2" "$3"@"$1"@"$4}\' | sort -Mr');
+        $ssh->set('cd '.$folder.' && du -ab --time | grep -e .log$ | awk \'{print $2" "$3"@"$1"@"$4}\' | sort -Mr');
 
-		// Массив данных
-		$aData = explode("\n", $ssh->get());
+        // Массив данных
+        $aData = explode("\n", $ssh->get());
 
-		if(isset($aData[count($aData)-1]))
-			unset($aData[count($aData)-1]);
+        if(isset($aData[count($aData)-1]))
+            unset($aData[count($aData)-1]);
 
-		// Построение списка
-		foreach($aData as $line => $log)
-		{
-			$aLog = explode('@', $log);
+        // Построение списка
+        foreach($aData as $line => $log)
+        {
+            $aLog = explode('@', $log);
 
-			// Название
-			$name = explode('/', $aLog[2]);
+            // Название
+            $name = explode('/', $aLog[2]);
 
-			if(count($name) > 2)
-				continue;
+            if(count($name) > 2)
+                continue;
 
-			// Дата
-			$date = sys::unidate($aLog[0]);
+            // Дата
+            $date = sys::unidate($aLog[0]);
 
-			// Вес
-			$size = sys::size($aLog[1]);
+            // Вес
+            $size = sys::size($aLog[1]);
 
-			$html->get('list', 'sections/control/servers/games/settings/logs');
+            $html->get('list', 'sections/control/servers/games/settings/logs');
 
-				$html->set('id', $id);
-				$html->set('server', $sid);
-				$html->set('name', end($name));
-				$html->set('uri', 'logs/log/'.end($name));
-				$html->set('date', $date);
-				$html->set('size', $size);
+                $html->set('id', $id);
+                $html->set('server', $sid);
+                $html->set('name', end($name));
+                $html->set('uri', 'logs/log/'.end($name));
+                $html->set('date', $date);
+                $html->set('size', $size);
 
-			$html->pack('logs');
-		}
+            $html->pack('logs');
+        }
 
-		$html->get('logs', 'sections/control/servers/games/settings');
+        $html->get('logs', 'sections/control/servers/games/settings');
 
-			$html->set('id', $id);
-			$html->set('server', $sid);
-			$html->set('uri', '');
-			$html->set('logs', isset($html->arr['logs']) ? $html->arr['logs'] : '');
+            $html->set('id', $id);
+            $html->set('server', $sid);
+            $html->set('uri', '');
+            $html->set('logs', isset($html->arr['logs']) ? $html->arr['logs'] : '');
 
-		$html->pack('main');
-	}
+        $html->pack('main');
+    }
 ?>

+ 79 - 79
system/sections/control/servers/cssold/settings/server.php

@@ -1,116 +1,116 @@
 <?php
     if(!DEFINED('EGP'))
-		exit(header('Refresh: 0; URL=http://'.$_SERVER['SERVER_NAME'].'/404'));
+        exit(header('Refresh: 0; URL=http://'.$_SERVER['SERVER_NAME'].'/404'));
 
     $html->nav('Параметры server.cfg');
 
-	$sql->query('SELECT `address`, `passwd` FROM `control` WHERE `id`="'.$id.'" LIMIT 1');
-	$unit = $sql->get();
+    $sql->query('SELECT `address`, `passwd` FROM `control` WHERE `id`="'.$id.'" LIMIT 1');
+    $unit = $sql->get();
 
-	include(LIB.'ssh.php');
-	
-	if(!$ssh->auth($unit['passwd'], $unit['address']))
-	{
-		if($go)
-			sys::outjs(array('e' => sys::text('error', 'ssh')), $nmch);
-		
-		sys::back($cfg['http'].'control/id/'.$id.'/server/'.$sid.'/section/settings');
-	}
-	
-	include(DATA.'scfg/'.$server['game'].'.php');
+    include(LIB.'ssh.php');
+    
+    if(!$ssh->auth($unit['passwd'], $unit['address']))
+    {
+        if($go)
+            sys::outjs(array('e' => sys::text('error', 'ssh')), $nmch);
+        
+        sys::back($cfg['http'].'control/id/'.$id.'/server/'.$sid.'/section/settings');
+    }
+    
+    include(DATA.'scfg/'.$server['game'].'.php');
 
-	$file = '/servers/'.$server['uid'].'/cstrike/cfg/server.cfg';
+    $file = '/servers/'.$server['uid'].'/cstrike/cfg/server.cfg';
 
-	// Сохранение изменений
-	if($go)
-	{
-		$servercfg = isset($_POST['config']) ? $_POST['config'] : '';
+    // Сохранение изменений
+    if($go)
+    {
+        $servercfg = isset($_POST['config']) ? $_POST['config'] : '';
 
-		$config = '';
+        $config = '';
 
-		$config_end = $servercfg['\'other\''];
+        $config_end = $servercfg['\'other\''];
 
-		unset($servercfg['\'other\'']);
+        unset($servercfg['\'other\'']);
 
-		foreach($servercfg as $cvar => $val)
-			if($val != '')
-				$config .= str_replace("'", '', $cvar).' "'.$val.'"'."\n";
+        foreach($servercfg as $cvar => $val)
+            if($val != '')
+                $config .= str_replace("'", '', $cvar).' "'.$val.'"'."\n";
 
-		// Временый файл
-		$temp = sys::temp($config.$config_end);
+        // Временый файл
+        $temp = sys::temp($config.$config_end);
 
-		$ssh->setfile($temp, $file, 0644);
+        $ssh->setfile($temp, $file, 0644);
 
-		$ssh->set('chown server'.$server['uid'].':servers '.$file);
+        $ssh->set('chown server'.$server['uid'].':servers '.$file);
 
-		unlink($temp);
+        unlink($temp);
 
-		$ssh->set('sudo -u server'.$server['uid'].' screen -p 0 -S s_'.$server['uid'].' -X eval \'stuff "exec server.cfg"\015\';');
+        $ssh->set('sudo -u server'.$server['uid'].' screen -p 0 -S s_'.$server['uid'].' -X eval \'stuff "exec server.cfg"\015\';');
 
-		sys::outjs(array('s' => 'ok'), $nmch);
-	}
+        sys::outjs(array('s' => 'ok'), $nmch);
+    }
 
-	$ssh->set('echo "" >> '.$file.' && cat '.$file.' | grep -ve "^#\|^[[:space:]]*$"');
+    $ssh->set('echo "" >> '.$file.' && cat '.$file.' | grep -ve "^#\|^[[:space:]]*$"');
 
-	$fScfg = explode("\n", strip_tags($ssh->get()));
+    $fScfg = explode("\n", strip_tags($ssh->get()));
 
-	$servercfg = array();
-	$other = '';
+    $servercfg = array();
+    $other = '';
 
-	// Убираем пробелы и генерируем массив
-	foreach($fScfg as $line)
-	{
-		// имя квара
-		$cvar = sys::first(explode(' ', $line));
+    // Убираем пробелы и генерируем массив
+    foreach($fScfg as $line)
+    {
+        // имя квара
+        $cvar = sys::first(explode(' ', $line));
 
-		if($cvar == '')
-			continue;
+        if($cvar == '')
+            continue;
 
-		// убираем имя квара и оставляем только значение
-		$value = str_replace($cvar.' ', "", $line);
+        // убираем имя квара и оставляем только значение
+        $value = str_replace($cvar.' ', "", $line);
 
-		// выбираем только то, что нам нужно
-		preg_match_all('~([^"]+)~', $value, $cvar_value, PREG_SET_ORDER);
+        // выбираем только то, что нам нужно
+        preg_match_all('~([^"]+)~', $value, $cvar_value, PREG_SET_ORDER);
 
-		// Исключаем комментарии
-		if($cvar == '//')
-			continue;
+        // Исключаем комментарии
+        if($cvar == '//')
+            continue;
 
-		$val = sys::first(explode(' //', $cvar_value[0][1]));
+        $val = sys::first(explode(' //', $cvar_value[0][1]));
 
-		// Добавляем данные в массив
-		if(array_key_exists($cvar, $aScfg))
-			$servercfg[$cvar] = trim($val);
-		else
-			$other .= $line."\n";
-	}
+        // Добавляем данные в массив
+        if(array_key_exists($cvar, $aScfg))
+            $servercfg[$cvar] = trim($val);
+        else
+            $other .= $line."\n";
+    }
 
-	foreach($aScfg as $name => $desc)
-	{
-		if(!isset($servercfg[$name]))
-			$servercfg[$name] = '';
+    foreach($aScfg as $name => $desc)
+    {
+        if(!isset($servercfg[$name]))
+            $servercfg[$name] = '';
 
-		// Формирование формы
-		if(strpos($aScfg_form[$name], 'select'))
-			$form = str_replace('value="'.$servercfg[$name].'"', 'value="'.$servercfg[$name].'" selected="select"', $aScfg_form[$name]);
-		else
-			$form = str_replace('['.$name.']', $servercfg[$name], $aScfg_form[$name]);
+        // Формирование формы
+        if(strpos($aScfg_form[$name], 'select'))
+            $form = str_replace('value="'.$servercfg[$name].'"', 'value="'.$servercfg[$name].'" selected="select"', $aScfg_form[$name]);
+        else
+            $form = str_replace('['.$name.']', $servercfg[$name], $aScfg_form[$name]);
 
-		$html->get('servercfg_list', 'sections/control/servers/games/settings');
+        $html->get('servercfg_list', 'sections/control/servers/games/settings');
 
-			$html->set('name', $name);
-			$html->set('desc', $desc);
-			$html->set('form', $form);
+            $html->set('name', $name);
+            $html->set('desc', $desc);
+            $html->set('form', $form);
 
-		$html->pack('list');
-	}
+        $html->pack('list');
+    }
 
-	$html->get('servercfg', 'sections/control/servers/'.$server['game'].'/settings');
+    $html->get('servercfg', 'sections/control/servers/'.$server['game'].'/settings');
 
-		$html->set('id', $id);
-		$html->set('server', $sid);
-		$html->set('cfg', $html->arr['list']);
-		$html->set('other', $other);
+        $html->set('id', $id);
+        $html->set('server', $sid);
+        $html->set('cfg', $html->arr['list']);
+        $html->set('other', $other);
 
-	$html->pack('main');
+    $html->pack('main');
 ?>

+ 60 - 60
system/sections/control/servers/cssold/settings/smlogs.php

@@ -1,89 +1,89 @@
 <?php
     if(!DEFINED('EGP'))
-		exit(header('Refresh: 0; URL=http://'.$_SERVER['SERVER_NAME'].'/404'));
+        exit(header('Refresh: 0; URL=http://'.$_SERVER['SERVER_NAME'].'/404'));
 
     $html->nav('Логи SourceMod');
 
-	$sql->query('SELECT `address`, `passwd` FROM `control` WHERE `id`="'.$id.'" LIMIT 1');
-	$unit = $sql->get();
+    $sql->query('SELECT `address`, `passwd` FROM `control` WHERE `id`="'.$id.'" LIMIT 1');
+    $unit = $sql->get();
 
-	include(LIB.'ssh.php');
+    include(LIB.'ssh.php');
 
-	if(!$ssh->auth($unit['passwd'], $unit['address']))
-		sys::back($cfg['http'].'control/id/'.$id.'/server/'.$sid.'/section/settings');
+    if(!$ssh->auth($unit['passwd'], $unit['address']))
+        sys::back($cfg['http'].'control/id/'.$id.'/server/'.$sid.'/section/settings');
 
-	// Путь к логам
-	$folder = '/servers/'.$server['uid'].'/cstrike/addons/sourcemod/logs';
+    // Путь к логам
+    $folder = '/servers/'.$server['uid'].'/cstrike/addons/sourcemod/logs';
 
-	// Если выбран лог
-	if(isset($url['log']))
-	{
-		if(sys::valid($url['log'], 'other', $aValid['csssmlogs']))
-			sys::back($cfg['http'].'control/id/'.$id.'/server/'.$sid.'/section/settings/subsection/smlogs');
+    // Если выбран лог
+    if(isset($url['log']))
+    {
+        if(sys::valid($url['log'], 'other', $aValid['csssmlogs']))
+            sys::back($cfg['http'].'control/id/'.$id.'/server/'.$sid.'/section/settings/subsection/smlogs');
 
-		$ssh->set('sudo -u server'.$server['uid'].' cat '.$folder.'/'.$url['log']);
+        $ssh->set('sudo -u server'.$server['uid'].' cat '.$folder.'/'.$url['log']);
 
-		$html->get('view', 'sections/control/servers/games/settings/logs');
+        $html->get('view', 'sections/control/servers/games/settings/logs');
 
-				$html->set('id', $id);
-				$html->set('server', $sid);
-				$html->set('name', $url['log']);
-				$html->set('log', htmlspecialchars($ssh->get()));
-				$html->set('uri', 'smlogs');
+                $html->set('id', $id);
+                $html->set('server', $sid);
+                $html->set('name', $url['log']);
+                $html->set('log', htmlspecialchars($ssh->get()));
+                $html->set('uri', 'smlogs');
 
-		$html->pack('main');
-	}else{
-		if(isset($url['delall']))
-		{
-			$ssh->set('cd '.$folder.' && rm *.log');
+        $html->pack('main');
+    }else{
+        if(isset($url['delall']))
+        {
+            $ssh->set('cd '.$folder.' && rm *.log');
 
-			sys::back($cfg['http'].'control/id/'.$id.'/server/'.$sid.'/section/settings/subsection/smlogs');
-		}
+            sys::back($cfg['http'].'control/id/'.$id.'/server/'.$sid.'/section/settings/subsection/smlogs');
+        }
 
-		$ssh->set('cd '.$folder.' && du -ab --time | grep -e .log$ | awk \'{print $2" "$3"@"$1"@"$4}\' | sort -Mr');
+        $ssh->set('cd '.$folder.' && du -ab --time | grep -e .log$ | awk \'{print $2" "$3"@"$1"@"$4}\' | sort -Mr');
 
-		// Массив данных
-		$aData = explode("\n", $ssh->get());
+        // Массив данных
+        $aData = explode("\n", $ssh->get());
 
-		if(isset($aData[count($aData)-1]))
-			unset($aData[count($aData)-1]);
+        if(isset($aData[count($aData)-1]))
+            unset($aData[count($aData)-1]);
 
-		// Построение списка
-		foreach($aData as $line => $log)
-		{
-			$aLog = explode('@', $log);
+        // Построение списка
+        foreach($aData as $line => $log)
+        {
+            $aLog = explode('@', $log);
 
-			// Название
-			$name = explode('/', $aLog[2]);
+            // Название
+            $name = explode('/', $aLog[2]);
 
-			if(count($name) > 2)
-				continue;
+            if(count($name) > 2)
+                continue;
 
-			// Дата
-			$date = sys::unidate($aLog[0]);
+            // Дата
+            $date = sys::unidate($aLog[0]);
 
-			// Вес
-			$size = sys::size($aLog[1]);
+            // Вес
+            $size = sys::size($aLog[1]);
 
-			$html->get('list', 'sections/control/servers/games/settings/logs');
+            $html->get('list', 'sections/control/servers/games/settings/logs');
 
-				$html->set('id', $id);
-				$html->set('server', $sid);
-				$html->set('name', end($name));
-				$html->set('uri', 'smlogs/log/'.end($name));
-				$html->set('date', $date);
-				$html->set('size', $size);
+                $html->set('id', $id);
+                $html->set('server', $sid);
+                $html->set('name', end($name));
+                $html->set('uri', 'smlogs/log/'.end($name));
+                $html->set('date', $date);
+                $html->set('size', $size);
 
-			$html->pack('logs');
-		}
+            $html->pack('logs');
+        }
 
-		$html->get('logs', 'sections/control/servers/games/settings');
+        $html->get('logs', 'sections/control/servers/games/settings');
 
-			$html->set('id', $id);
-			$html->set('server', $sid);
-			$html->set('uri', 'sm');
-			$html->set('logs', isset($html->arr['logs']) ? $html->arr['logs'] : '');
+            $html->set('id', $id);
+            $html->set('server', $sid);
+            $html->set('uri', 'sm');
+            $html->set('logs', isset($html->arr['logs']) ? $html->arr['logs'] : '');
 
-		$html->pack('main');
-	}
+        $html->pack('main');
+    }
 ?>

+ 133 - 133
system/sections/control/servers/cssold/settings/start.php

@@ -1,186 +1,186 @@
 <?php
     if(!DEFINED('EGP'))
-		exit(header('Refresh: 0; URL=http://'.$_SERVER['SERVER_NAME'].'/404'));
+        exit(header('Refresh: 0; URL=http://'.$_SERVER['SERVER_NAME'].'/404'));
 
-	$sql->query('SELECT `uid`, `slots`, `map_start`, `vac`, `fastdl`, `autorestart`, `fps`, `tickrate`, `core_fix` FROM `control_servers` WHERE `id`="'.$sid.'" LIMIT 1');
-	$server = array_merge($server, $sql->get());
-	
-	$sql->query('SELECT `address`, `passwd` FROM `control` WHERE `id`="'.$id.'" LIMIT 1');
-	$unit = $sql->get();
+    $sql->query('SELECT `uid`, `slots`, `map_start`, `vac`, `fastdl`, `autorestart`, `fps`, `tickrate`, `core_fix` FROM `control_servers` WHERE `id`="'.$sid.'" LIMIT 1');
+    $server = array_merge($server, $sql->get());
+    
+    $sql->query('SELECT `address`, `passwd` FROM `control` WHERE `id`="'.$id.'" LIMIT 1');
+    $unit = $sql->get();
 
-	include(LIB.'games/games.php');
+    include(LIB.'games/games.php');
 
-	// Вывод списка карт
-	if(isset($url['maps']))
-		games::maplist($sid, $unit, '/servers/'.$server['uid'].'/cstrike/maps', $server['map_start'], false);
+    // Вывод списка карт
+    if(isset($url['maps']))
+        games::maplist($sid, $unit, '/servers/'.$server['uid'].'/cstrike/maps', $server['map_start'], false);
 
-	// Вывод списка потоков
-	if(isset($url['core']))
-		ctrl::cpulist($unit, $server['core_fix']);
+    // Вывод списка потоков
+    if(isset($url['core']))
+        ctrl::cpulist($unit, $server['core_fix']);
 
-	// Сохранение
-	if($go AND $url['save'])
-	{
-		$value = isset($url['value']) ? sys::int($url['value']) : sys::outjs(array('s' => 'ok'), $nmch);
-		
-		switch($url['save'])
-		{
-			case 'map':
-				$map = isset($url['value']) ? trim($url['value']) : sys::outjs(array('s' => 'ok'), $nmch);
+    // Сохранение
+    if($go AND $url['save'])
+    {
+        $value = isset($url['value']) ? sys::int($url['value']) : sys::outjs(array('s' => 'ok'), $nmch);
+        
+        switch($url['save'])
+        {
+            case 'map':
+                $map = isset($url['value']) ? trim($url['value']) : sys::outjs(array('s' => 'ok'), $nmch);
 
-				if($map != $server['map_start'])
-					games::maplist($sid, $unit, '/servers/'.$server['uid'].'/cstrike/maps', $map, true, $nmch, true);
+                if($map != $server['map_start'])
+                    games::maplist($sid, $unit, '/servers/'.$server['uid'].'/cstrike/maps', $map, true, $nmch, true);
 
-				$mcache->delete('ctrl_server_settings_'.$sid);
-				sys::outjs(array('s' => 'ok'), $nmch);
+                $mcache->delete('ctrl_server_settings_'.$sid);
+                sys::outjs(array('s' => 'ok'), $nmch);
 
-			case 'address':
-				if($server['status'] != 'off')
-					sys::outjs(array('e' => 'Необходимо выключить игровой сервер'), $nmch);
+            case 'address':
+                if($server['status'] != 'off')
+                    sys::outjs(array('e' => 'Необходимо выключить игровой сервер'), $nmch);
 
-				$address = isset($_POST['address']) ? trim($_POST['address']) : $server['address'];
+                $address = isset($_POST['address']) ? trim($_POST['address']) : $server['address'];
 
-				if(sys::valid($address, 'other', $aValid['address']))
-					sys::outjs(array('e' => 'Адрес игрового сервера имеет неверный формат'), $nmch);
+                if(sys::valid($address, 'other', $aValid['address']))
+                    sys::outjs(array('e' => 'Адрес игрового сервера имеет неверный формат'), $nmch);
 
-				$sql->query('SELECT `id` FROM `control_servers` WHERE `unit`="'.$id.'" AND `address`="'.$address.'" LIMIT 1');
-				if($sql->num())
-					sys::outjs(array('e' => 'Данный адрес занят другим сервером'), $nmch);
+                $sql->query('SELECT `id` FROM `control_servers` WHERE `unit`="'.$id.'" AND `address`="'.$address.'" LIMIT 1');
+                if($sql->num())
+                    sys::outjs(array('e' => 'Данный адрес занят другим сервером'), $nmch);
 
-				if($address != $server['address'])
-					$sql->query('UPDATE `control_servers` set `address`="'.$address.'" WHERE `id`="'.$sid.'" LIMIT 1');
+                if($address != $server['address'])
+                    $sql->query('UPDATE `control_servers` set `address`="'.$address.'" WHERE `id`="'.$sid.'" LIMIT 1');
 
-				$mcache->delete('ctrl_server_settings_'.$sid);
-				sys::outjs(array('s' => 'ok'), $nmch);
+                $mcache->delete('ctrl_server_settings_'.$sid);
+                sys::outjs(array('s' => 'ok'), $nmch);
 
-			case 'vac':
-				if($value != $server['vac'])
-					$sql->query('UPDATE `control_servers` set `vac`="'.$value.'" WHERE `id`="'.$sid.'" LIMIT 1');
+            case 'vac':
+                if($value != $server['vac'])
+                    $sql->query('UPDATE `control_servers` set `vac`="'.$value.'" WHERE `id`="'.$sid.'" LIMIT 1');
 
-				$mcache->delete('ctrl_server_settings_'.$sid);
-				sys::outjs(array('s' => 'ok'), $nmch);
+                $mcache->delete('ctrl_server_settings_'.$sid);
+                sys::outjs(array('s' => 'ok'), $nmch);
 
-			case 'core_fix':
-				$n = ctrl::cpulist($unit, $server['core_fix'], true);
+            case 'core_fix':
+                $n = ctrl::cpulist($unit, $server['core_fix'], true);
 
-				if($value > $n)
-					sys::outjs(array('e' => 'На физическом сервере нет такого ядра/потока'), $nmch);
+                if($value > $n)
+                    sys::outjs(array('e' => 'На физическом сервере нет такого ядра/потока'), $nmch);
 
-				if($value < 0)
-					$value = 0;
+                if($value < 0)
+                    $value = 0;
 
-				if($value != $server['core_fix'])
-					$sql->query('UPDATE `control_servers` set `core_fix`="'.$value.'" WHERE `id`="'.$sid.'" LIMIT 1');
+                if($value != $server['core_fix'])
+                    $sql->query('UPDATE `control_servers` set `core_fix`="'.$value.'" WHERE `id`="'.$sid.'" LIMIT 1');
 
-				$mcache->delete('ctrl_server_settings_'.$sid);
-				sys::outjs(array('s' => 'ok'), $nmch);
+                $mcache->delete('ctrl_server_settings_'.$sid);
+                sys::outjs(array('s' => 'ok'), $nmch);
 
-			case 'slots':
-				$slots = $value > 64 ? 64 : $value;
-				$slots = $value < 2 ? 2 : $slots;
+            case 'slots':
+                $slots = $value > 64 ? 64 : $value;
+                $slots = $value < 2 ? 2 : $slots;
 
-				if($slots != $server['slots'])
-					$sql->query('UPDATE `control_servers` set `slots`="'.$slots.'" WHERE `id`="'.$sid.'" LIMIT 1');
+                if($slots != $server['slots'])
+                    $sql->query('UPDATE `control_servers` set `slots`="'.$slots.'" WHERE `id`="'.$sid.'" LIMIT 1');
 
-				$mcache->delete('ctrl_server_settings_'.$sid);
-				sys::outjs(array('s' => 'ok'), $nmch);
+                $mcache->delete('ctrl_server_settings_'.$sid);
+                sys::outjs(array('s' => 'ok'), $nmch);
 
-			case 'autorestart':
-				if($value != $server['autorestart'])
-					$sql->query('UPDATE `control_servers` set `autorestart`="'.$value.'" WHERE `id`="'.$sid.'" LIMIT 1');
+            case 'autorestart':
+                if($value != $server['autorestart'])
+                    $sql->query('UPDATE `control_servers` set `autorestart`="'.$value.'" WHERE `id`="'.$sid.'" LIMIT 1');
 
-				$mcache->delete('ctrl_server_settings_'.$sid);
-				sys::outjs(array('s' => 'ok'), $nmch);
+                $mcache->delete('ctrl_server_settings_'.$sid);
+                sys::outjs(array('s' => 'ok'), $nmch);
 
-			case 'fps':
-				if(in_array($value, array('300', '500', '1100')))
-					$sql->query('UPDATE `control_servers` set `fps`="'.$value.'" WHERE `id`="'.$sid.'" LIMIT 1');
+            case 'fps':
+                if(in_array($value, array('300', '500', '1100')))
+                    $sql->query('UPDATE `control_servers` set `fps`="'.$value.'" WHERE `id`="'.$sid.'" LIMIT 1');
 
-				$mcache->delete('ctrl_server_settings_'.$sid);
-				sys::outjs(array('s' => 'ok'), $nmch);
+                $mcache->delete('ctrl_server_settings_'.$sid);
+                sys::outjs(array('s' => 'ok'), $nmch);
 
-			case 'tickrate':
-				if(in_array($value, array('33', '66', '100')))
-					$sql->query('UPDATE `control_servers` set `tickrate`="'.$value.'" WHERE `id`="'.$sid.'" LIMIT 1');
+            case 'tickrate':
+                if(in_array($value, array('33', '66', '100')))
+                    $sql->query('UPDATE `control_servers` set `tickrate`="'.$value.'" WHERE `id`="'.$sid.'" LIMIT 1');
 
-				$mcache->delete('ctrl_server_settings_'.$sid);
-				sys::outjs(array('s' => 'ok'), $nmch);
+                $mcache->delete('ctrl_server_settings_'.$sid);
+                sys::outjs(array('s' => 'ok'), $nmch);
 
-			case 'fastdl':
-				include(LIB.'ssh.php');
+            case 'fastdl':
+                include(LIB.'ssh.php');
 
-				if(!$ssh->auth($unit['passwd'], $unit['address']))
-					sys::outjs(array('e' => sys::text('error', 'ssh')), $nmch);
+                if(!$ssh->auth($unit['passwd'], $unit['address']))
+                    sys::outjs(array('e' => sys::text('error', 'ssh')), $nmch);
 
-				if($value)
-				{
-					$fastdl = 'sv_downloadurl "http://'.$unit['address'].':8080/fast_'.$server['uid'].'"'.PHP_EOL
-							.'sv_consistency 1'.PHP_EOL
-							.'sv_allowupload 1'.PHP_EOL
-							.'sv_allowdownload 1';
+                if($value)
+                {
+                    $fastdl = 'sv_downloadurl "http://'.$unit['address'].':8080/fast_'.$server['uid'].'"'.PHP_EOL
+                            .'sv_consistency 1'.PHP_EOL
+                            .'sv_allowupload 1'.PHP_EOL
+                            .'sv_allowdownload 1';
 
-					// Временый файл
-					$temp = sys::temp($fastdl);
+                    // Временый файл
+                    $temp = sys::temp($fastdl);
 
-					$ssh->setfile($temp, '/servers/'.$server['uid'].'/cstrike/cfg/fastdl.cfg', 0644);
+                    $ssh->setfile($temp, '/servers/'.$server['uid'].'/cstrike/cfg/fastdl.cfg', 0644);
 
-					$ssh->set('chown server'.$server['uid'].':servers /servers/'.$server['uid'].'/cstrike/cfg/fastdl.cfg;'
-							.'ln -s /servers/'.$server['uid'].'/cstrike /var/nginx/fast_'.$server['uid'].';'
-							.'sed -i '."'s/exec fastdl.cfg//g'".' /servers/'.$server['uid'].'/cstrike/cfg/server.cfg;'
-							.'echo "exec fastdl.cfg" >> /servers/'.$server['uid'].'/cstrike/cfg/server.cfg');
+                    $ssh->set('chown server'.$server['uid'].':servers /servers/'.$server['uid'].'/cstrike/cfg/fastdl.cfg;'
+                            .'ln -s /servers/'.$server['uid'].'/cstrike /var/nginx/fast_'.$server['uid'].';'
+                            .'sed -i '."'s/exec fastdl.cfg//g'".' /servers/'.$server['uid'].'/cstrike/cfg/server.cfg;'
+                            .'echo "exec fastdl.cfg" >> /servers/'.$server['uid'].'/cstrike/cfg/server.cfg');
 
-					unlink($temp);
-				}else
-					$ssh->set('sed -i '."'s/exec fastdl.cfg//g'".' /servers/'.$server['uid'].'/cstrike/cfg/server.cfg;'
-							.'rm /servers/'.$server['uid'].'/cstrike/cfg/fastdl.cfg; rm /var/nginx/fast_'.$server['uid']);
+                    unlink($temp);
+                }else
+                    $ssh->set('sed -i '."'s/exec fastdl.cfg//g'".' /servers/'.$server['uid'].'/cstrike/cfg/server.cfg;'
+                            .'rm /servers/'.$server['uid'].'/cstrike/cfg/fastdl.cfg; rm /var/nginx/fast_'.$server['uid']);
 
-				$sql->query('UPDATE `control_servers` set `fastdl`="'.$value.'" WHERE `id`="'.$sid.'" LIMIT 1');
+                $sql->query('UPDATE `control_servers` set `fastdl`="'.$value.'" WHERE `id`="'.$sid.'" LIMIT 1');
 
-				$mcache->delete('ctrl_server_settings_'.$sid);
-				sys::outjs(array('s' => 'ok'), $nmch);
-		}
-	}
-	
-	// Генерация списка слот
-	$slots = '';
+                $mcache->delete('ctrl_server_settings_'.$sid);
+                sys::outjs(array('s' => 'ok'), $nmch);
+        }
+    }
+    
+    // Генерация списка слот
+    $slots = '';
 
-	for($slot = 2; $slot <= 64; $slot+=1)
-		$slots .= '<option value="'.$slot.'">'.$slot.' шт.</option>';
+    for($slot = 2; $slot <= 64; $slot+=1)
+        $slots .= '<option value="'.$slot.'">'.$slot.' шт.</option>';
 
-	// Античит VAC
-	$vac = $server['vac'] ? '<option value="1">Включен</option><option value="0">Выключен</option>' : '<option value="0">Выключен</option><option value="1">Включен</option>';
+    // Античит VAC
+    $vac = $server['vac'] ? '<option value="1">Включен</option><option value="0">Выключен</option>' : '<option value="0">Выключен</option><option value="1">Включен</option>';
 
-	// Быстрая скачака
-	$fastdl = $server['fastdl'] ? '<option value="1">Включен</option><option value="0">Выключен</option>' : '<option value="0">Выключен</option><option value="1">Включен</option>';
+    // Быстрая скачака
+    $fastdl = $server['fastdl'] ? '<option value="1">Включен</option><option value="0">Выключен</option>' : '<option value="0">Выключен</option><option value="1">Включен</option>';
 
-	// Авторестарт при зависании
-	$autorestart = $server['autorestart'] ? '<option value="1">Включен</option><option value="0">Выключен</option>' : '<option value="0">Выключен</option><option value="1">Включен</option>';
+    // Авторестарт при зависании
+    $autorestart = $server['autorestart'] ? '<option value="1">Включен</option><option value="0">Выключен</option>' : '<option value="0">Выключен</option><option value="1">Включен</option>';
 
-	$fps = '';
+    $fps = '';
 
-	foreach(array('300', '500', '1100') as $value)
-		$fps .= '<option value="'.$value.'">'.$value.' FPS</option>';
+    foreach(array('300', '500', '1100') as $value)
+        $fps .= '<option value="'.$value.'">'.$value.' FPS</option>';
 
-	$tickrate = '';
+    $tickrate = '';
 
-	foreach(array('33', '66', '100') as $value)
-		$tickrate .= '<option value="'.$value.'">'.$value.' TickRate</option>';
+    foreach(array('33', '66', '100') as $value)
+        $tickrate .= '<option value="'.$value.'">'.$value.' TickRate</option>';
 
-	$core_fix = $server['core_fix'] ? '<option value="1">1 ядро/поток</option>' : '<option value="0">Автоматическое определение</option>';
+    $core_fix = $server['core_fix'] ? '<option value="1">1 ядро/поток</option>' : '<option value="0">Автоматическое определение</option>';
 
-	$html->get('start', 'sections/control/servers/'.$server['game'].'/settings');
+    $html->get('start', 'sections/control/servers/'.$server['game'].'/settings');
 
-		$html->set('id', $id);
-		$html->set('server', $sid);
-		$html->set('map', $server['map_start']);
-		$html->set('address', $server['address']);
-		$html->set('vac', $vac);
-		$html->set('fastdl', $fastdl);
-		$html->set('autorestart', $autorestart);
-		$html->set('core_fix', $core_fix);
-		$html->set('slots', str_replace('"'.$server['slots'].'"', '"'.$server['slots'].'" selected="select"', $slots));
-		$html->set('tickrate', str_replace($server['tickrate'].'"', $server['tickrate'].'" selected="select"', $tickrate));
-		$html->set('fps', str_replace($server['fps'].'"', $server['fps'].'" selected="select"', $fps));
+        $html->set('id', $id);
+        $html->set('server', $sid);
+        $html->set('map', $server['map_start']);
+        $html->set('address', $server['address']);
+        $html->set('vac', $vac);
+        $html->set('fastdl', $fastdl);
+        $html->set('autorestart', $autorestart);
+        $html->set('core_fix', $core_fix);
+        $html->set('slots', str_replace('"'.$server['slots'].'"', '"'.$server['slots'].'" selected="select"', $slots));
+        $html->set('tickrate', str_replace($server['tickrate'].'"', $server['tickrate'].'" selected="select"', $tickrate));
+        $html->set('fps', str_replace($server['fps'].'"', $server['fps'].'" selected="select"', $fps));
 
-	$html->pack('start');
+    $html->pack('start');
 ?>

+ 128 - 128
system/sections/control/servers/cssold/start.php

@@ -1,179 +1,179 @@
 <?php
     if(!DEFINED('EGP'))
-		exit(header('Refresh: 0; URL=http://'.$_SERVER['SERVER_NAME'].'/404'));
+        exit(header('Refresh: 0; URL=http://'.$_SERVER['SERVER_NAME'].'/404'));
 
-	$sql->query('SELECT `uid`, `slots`, `map_start`, `vac`, `fastdl`, `autorestart`, `fps`, `tickrate`, `core_fix` FROM `control_servers` WHERE `id`="'.$sid.'" LIMIT 1');
-	$server = array_merge($server, $sql->get());
-	
-	$sql->query('SELECT `address`, `passwd` FROM `control` WHERE `id`="'.$id.'" LIMIT 1');
-	$unit = $sql->get();
+    $sql->query('SELECT `uid`, `slots`, `map_start`, `vac`, `fastdl`, `autorestart`, `fps`, `tickrate`, `core_fix` FROM `control_servers` WHERE `id`="'.$sid.'" LIMIT 1');
+    $server = array_merge($server, $sql->get());
+    
+    $sql->query('SELECT `address`, `passwd` FROM `control` WHERE `id`="'.$id.'" LIMIT 1');
+    $unit = $sql->get();
 
-	include(LIB.'games/games.php');
+    include(LIB.'games/games.php');
 
-	// Вывод списка карт
-	if(isset($url['maps']))
-		games::maplist($sid, $unit, '/servers/'.$server['uid'].'/cstrike/maps', $server['map_start'], false);
+    // Вывод списка карт
+    if(isset($url['maps']))
+        games::maplist($sid, $unit, '/servers/'.$server['uid'].'/cstrike/maps', $server['map_start'], false);
 
-	// Вывод списка потоков
-	if(isset($url['core']))
-		ctrl::cpulist($unit, $server['core_fix']);
+    // Вывод списка потоков
+    if(isset($url['core']))
+        ctrl::cpulist($unit, $server['core_fix']);
 
-	// Сохранение
-	if($go AND $url['save'])
-	{
-		$value = isset($url['value']) ? sys::int($url['value']) : sys::outjs(array('s' => 'ok'), $nmch);
-		
-		switch($url['save'])
-		{
-			case 'map':
-				$map = isset($url['value']) ? trim($url['value']) : sys::outjs(array('s' => 'ok'), $nmch);
+    // Сохранение
+    if($go AND $url['save'])
+    {
+        $value = isset($url['value']) ? sys::int($url['value']) : sys::outjs(array('s' => 'ok'), $nmch);
+        
+        switch($url['save'])
+        {
+            case 'map':
+                $map = isset($url['value']) ? trim($url['value']) : sys::outjs(array('s' => 'ok'), $nmch);
 
-				if($map != $server['map_start'])
-					games::maplist($sid, $unit, '/servers/'.$server['uid'].'/cstrike/maps', $map, true, $nmch, true);
+                if($map != $server['map_start'])
+                    games::maplist($sid, $unit, '/servers/'.$server['uid'].'/cstrike/maps', $map, true, $nmch, true);
 
-				$mcache->delete('ctrl_server_settings_'.$sid);
-				sys::outjs(array('s' => 'ok'), $nmch);
+                $mcache->delete('ctrl_server_settings_'.$sid);
+                sys::outjs(array('s' => 'ok'), $nmch);
 
-			case 'address':
-				if($server['status'] != 'off')
-					sys::outjs(array('e' => 'Необходимо выключить игровой сервер'), $nmch);
+            case 'address':
+                if($server['status'] != 'off')
+                    sys::outjs(array('e' => 'Необходимо выключить игровой сервер'), $nmch);
 
-				$address = isset($_POST['address']) ? trim($_POST['address']) : $server['address'];
+                $address = isset($_POST['address']) ? trim($_POST['address']) : $server['address'];
 
-				if(sys::valid($address, 'other', $aValid['address']))
-					sys::outjs(array('e' => 'Адрес игрового сервера имеет неверный формат'), $nmch);
+                if(sys::valid($address, 'other', $aValid['address']))
+                    sys::outjs(array('e' => 'Адрес игрового сервера имеет неверный формат'), $nmch);
 
-				$sql->query('SELECT `id` FROM `control_servers` WHERE `unit`="'.$id.'" AND `address`="'.$address.'" LIMIT 1');
-				if($sql->num())
-					sys::outjs(array('e' => 'Данный адрес занят другим сервером'), $nmch);
+                $sql->query('SELECT `id` FROM `control_servers` WHERE `unit`="'.$id.'" AND `address`="'.$address.'" LIMIT 1');
+                if($sql->num())
+                    sys::outjs(array('e' => 'Данный адрес занят другим сервером'), $nmch);
 
-				if($address != $server['address'])
-					$sql->query('UPDATE `control_servers` set `address`="'.$address.'" WHERE `id`="'.$sid.'" LIMIT 1');
+                if($address != $server['address'])
+                    $sql->query('UPDATE `control_servers` set `address`="'.$address.'" WHERE `id`="'.$sid.'" LIMIT 1');
 
-				$mcache->delete('ctrl_server_settings_'.$sid);
-				sys::outjs(array('s' => 'ok'), $nmch);
+                $mcache->delete('ctrl_server_settings_'.$sid);
+                sys::outjs(array('s' => 'ok'), $nmch);
 
-			case 'vac':
-				if($value != $server['vac'])
-					$sql->query('UPDATE `control_servers` set `vac`="'.$value.'" WHERE `id`="'.$sid.'" LIMIT 1');
+            case 'vac':
+                if($value != $server['vac'])
+                    $sql->query('UPDATE `control_servers` set `vac`="'.$value.'" WHERE `id`="'.$sid.'" LIMIT 1');
 
-				$mcache->delete('ctrl_server_settings_'.$sid);
-				sys::outjs(array('s' => 'ok'), $nmch);
+                $mcache->delete('ctrl_server_settings_'.$sid);
+                sys::outjs(array('s' => 'ok'), $nmch);
 
-			case 'core_fix':
-				$n = ctrl::cpulist($unit, $server['core_fix'], true);
+            case 'core_fix':
+                $n = ctrl::cpulist($unit, $server['core_fix'], true);
 
-				if($value > $n)
-					sys::outjs(array('e' => 'На физическом сервере нет такого ядра/потока'), $nmch);
+                if($value > $n)
+                    sys::outjs(array('e' => 'На физическом сервере нет такого ядра/потока'), $nmch);
 
-				if($value < 0)
-					$value = 0;
+                if($value < 0)
+                    $value = 0;
 
-				if($value != $server['core_fix'])
-					$sql->query('UPDATE `control_servers` set `core_fix`="'.$value.'" WHERE `id`="'.$sid.'" LIMIT 1');
+                if($value != $server['core_fix'])
+                    $sql->query('UPDATE `control_servers` set `core_fix`="'.$value.'" WHERE `id`="'.$sid.'" LIMIT 1');
 
-				$mcache->delete('ctrl_server_settings_'.$sid);
-				sys::outjs(array('s' => 'ok'), $nmch);
+                $mcache->delete('ctrl_server_settings_'.$sid);
+                sys::outjs(array('s' => 'ok'), $nmch);
 
-			case 'slots':
-				$slots = $value > 64 ? 64 : $value;
-				$slots = $value < 2 ? 2 : $slots;
+            case 'slots':
+                $slots = $value > 64 ? 64 : $value;
+                $slots = $value < 2 ? 2 : $slots;
 
-				if($slots != $server['slots'])
-					$sql->query('UPDATE `control_servers` set `slots`="'.$slots.'" WHERE `id`="'.$sid.'" LIMIT 1');
+                if($slots != $server['slots'])
+                    $sql->query('UPDATE `control_servers` set `slots`="'.$slots.'" WHERE `id`="'.$sid.'" LIMIT 1');
 
-				$mcache->delete('ctrl_server_settings_'.$sid);
-				sys::outjs(array('s' => 'ok'), $nmch);
+                $mcache->delete('ctrl_server_settings_'.$sid);
+                sys::outjs(array('s' => 'ok'), $nmch);
 
-			case 'autorestart':
-				if($value != $server['autorestart'])
-					$sql->query('UPDATE `control_servers` set `autorestart`="'.$value.'" WHERE `id`="'.$sid.'" LIMIT 1');
+            case 'autorestart':
+                if($value != $server['autorestart'])
+                    $sql->query('UPDATE `control_servers` set `autorestart`="'.$value.'" WHERE `id`="'.$sid.'" LIMIT 1');
 
-				$mcache->delete('ctrl_server_settings_'.$sid);
-				sys::outjs(array('s' => 'ok'), $nmch);
+                $mcache->delete('ctrl_server_settings_'.$sid);
+                sys::outjs(array('s' => 'ok'), $nmch);
 
-			case 'tickrate':
-				if(in_array($value, array('66', '100')))
-					$sql->query('UPDATE `control_servers` set `tickrate`="'.$value.'" WHERE `id`="'.$sid.'" LIMIT 1');
+            case 'tickrate':
+                if(in_array($value, array('66', '100')))
+                    $sql->query('UPDATE `control_servers` set `tickrate`="'.$value.'" WHERE `id`="'.$sid.'" LIMIT 1');
 
-				$mcache->delete('ctrl_server_settings_'.$sid);
-				sys::outjs(array('s' => 'ok'), $nmch);
+                $mcache->delete('ctrl_server_settings_'.$sid);
+                sys::outjs(array('s' => 'ok'), $nmch);
 
-			case 'fastdl':
-				include(LIB.'ssh.php');
+            case 'fastdl':
+                include(LIB.'ssh.php');
 
-				if(!$ssh->auth($unit['passwd'], $unit['address']))
-					sys::outjs(array('e' => sys::text('error', 'ssh')), $nmch);
+                if(!$ssh->auth($unit['passwd'], $unit['address']))
+                    sys::outjs(array('e' => sys::text('error', 'ssh')), $nmch);
 
-				if($value)
-				{
-					$fastdl = 'sv_downloadurl "http://'.$unit['address'].':8080/fast_'.$server['uid'].'"'.PHP_EOL
-							.'sv_consistency 1'.PHP_EOL
-							.'sv_allowupload 1'.PHP_EOL
-							.'sv_allowdownload 1';
+                if($value)
+                {
+                    $fastdl = 'sv_downloadurl "http://'.$unit['address'].':8080/fast_'.$server['uid'].'"'.PHP_EOL
+                            .'sv_consistency 1'.PHP_EOL
+                            .'sv_allowupload 1'.PHP_EOL
+                            .'sv_allowdownload 1';
 
-					// Временый файл
-					$temp = sys::temp($fastdl);
+                    // Временый файл
+                    $temp = sys::temp($fastdl);
 
-					$ssh->setfile($temp, '/servers/'.$server['uid'].'/cstrike/cfg/fastdl.cfg', 0644);
+                    $ssh->setfile($temp, '/servers/'.$server['uid'].'/cstrike/cfg/fastdl.cfg', 0644);
 
-					$ssh->set('chown server'.$server['uid'].':servers /servers/'.$server['uid'].'/cstrike/cfg/fastdl.cfg;'
-							.'ln -s /servers/'.$server['uid'].'/cstrike /var/nginx/fast_'.$server['uid'].';'
-							.'sed -i '."'s/exec fastdl.cfg//g'".' /servers/'.$server['uid'].'/cstrike/cfg/server.cfg;'
-							.'echo "exec fastdl.cfg" >> /servers/'.$server['uid'].'/cstrike/cfg/server.cfg');
+                    $ssh->set('chown server'.$server['uid'].':servers /servers/'.$server['uid'].'/cstrike/cfg/fastdl.cfg;'
+                            .'ln -s /servers/'.$server['uid'].'/cstrike /var/nginx/fast_'.$server['uid'].';'
+                            .'sed -i '."'s/exec fastdl.cfg//g'".' /servers/'.$server['uid'].'/cstrike/cfg/server.cfg;'
+                            .'echo "exec fastdl.cfg" >> /servers/'.$server['uid'].'/cstrike/cfg/server.cfg');
 
-					unlink($temp);
-				}else
-					$ssh->set('sed -i '."'s/exec fastdl.cfg//g'".' /servers/'.$server['uid'].'/cstrike/cfg/server.cfg;'
-							.'rm /servers/'.$server['uid'].'/cstrike/cfg/fastdl.cfg; rm /var/nginx/fast_'.$server['uid']);
+                    unlink($temp);
+                }else
+                    $ssh->set('sed -i '."'s/exec fastdl.cfg//g'".' /servers/'.$server['uid'].'/cstrike/cfg/server.cfg;'
+                            .'rm /servers/'.$server['uid'].'/cstrike/cfg/fastdl.cfg; rm /var/nginx/fast_'.$server['uid']);
 
-				$sql->query('UPDATE `control_servers` set `fastdl`="'.$value.'" WHERE `id`="'.$sid.'" LIMIT 1');
+                $sql->query('UPDATE `control_servers` set `fastdl`="'.$value.'" WHERE `id`="'.$sid.'" LIMIT 1');
 
-				$mcache->delete('ctrl_server_settings_'.$sid);
-				sys::outjs(array('s' => 'ok'), $nmch);
-		}
-	}
-	
-	// Генерация списка слот
-	$slots = '';
+                $mcache->delete('ctrl_server_settings_'.$sid);
+                sys::outjs(array('s' => 'ok'), $nmch);
+        }
+    }
+    
+    // Генерация списка слот
+    $slots = '';
 
-	for($slot = 2; $slot <= 64; $slot+=1)
-		$slots .= '<option value="'.$slot.'">'.$slot.' шт.</option>';
+    for($slot = 2; $slot <= 64; $slot+=1)
+        $slots .= '<option value="'.$slot.'">'.$slot.' шт.</option>';
 
-	// Античит VAC
-	$vac = $server['vac'] ? '<option value="1">Включен</option><option value="0">Выключен</option>' : '<option value="0">Выключен</option><option value="1">Включен</option>';
+    // Античит VAC
+    $vac = $server['vac'] ? '<option value="1">Включен</option><option value="0">Выключен</option>' : '<option value="0">Выключен</option><option value="1">Включен</option>';
 
-	// Быстрая скачака
-	$fastdl = $server['fastdl'] ? '<option value="1">Включен</option><option value="0">Выключен</option>' : '<option value="0">Выключен</option><option value="1">Включен</option>';
+    // Быстрая скачака
+    $fastdl = $server['fastdl'] ? '<option value="1">Включен</option><option value="0">Выключен</option>' : '<option value="0">Выключен</option><option value="1">Включен</option>';
 
-	// Авторестарт при зависании
-	$autorestart = $server['autorestart'] ? '<option value="1">Включен</option><option value="0">Выключен</option>' : '<option value="0">Выключен</option><option value="1">Включен</option>';
+    // Авторестарт при зависании
+    $autorestart = $server['autorestart'] ? '<option value="1">Включен</option><option value="0">Выключен</option>' : '<option value="0">Выключен</option><option value="1">Включен</option>';
 
-	$tickrate = '';
+    $tickrate = '';
 
-	foreach(array('66', '100') as $value)
-		$tickrate .= '<option value="'.$value.'">'.$value.' TickRate</option>';
+    foreach(array('66', '100') as $value)
+        $tickrate .= '<option value="'.$value.'">'.$value.' TickRate</option>';
 
-	$fps = '';
+    $fps = '';
 
-	foreach(array('300', '500', '1100') as $value)
-		$fps .= '<option value="'.$value.'">'.$value.' FPS</option>';
+    foreach(array('300', '500', '1100') as $value)
+        $fps .= '<option value="'.$value.'">'.$value.' FPS</option>';
 
-	$core_fix = $server['core_fix'] ? '<option value="1">1 ядро/поток</option>' : '<option value="0">Автоматическое определение</option>';
+    $core_fix = $server['core_fix'] ? '<option value="1">1 ядро/поток</option>' : '<option value="0">Автоматическое определение</option>';
 
-	$html->get('start', 'sections/control/servers/'.$server['game'].'/settings');
+    $html->get('start', 'sections/control/servers/'.$server['game'].'/settings');
 
-		$html->set('id', $id);
-		$html->set('server', $sid);
-		$html->set('map', $server['map_start']);
-		$html->set('address', $server['address']);
-		$html->set('vac', $vac);
-		$html->set('fastdl', $fastdl);
-		$html->set('autorestart', $autorestart);
-		$html->set('core_fix', $core_fix);
-		$html->set('slots', str_replace('"'.$server['slots'].'"', '"'.$server['slots'].'" selected="select"', $slots));
-		$html->set('tickrate', str_replace($server['tickrate'].'"', $server['tickrate'].'" selected="select"', $tickrate));
-		$html->set('fps', str_replace($server['fps'].'"', $server['fps'].'" selected="select"', $fps));
+        $html->set('id', $id);
+        $html->set('server', $sid);
+        $html->set('map', $server['map_start']);
+        $html->set('address', $server['address']);
+        $html->set('vac', $vac);
+        $html->set('fastdl', $fastdl);
+        $html->set('autorestart', $autorestart);
+        $html->set('core_fix', $core_fix);
+        $html->set('slots', str_replace('"'.$server['slots'].'"', '"'.$server['slots'].'" selected="select"', $slots));
+        $html->set('tickrate', str_replace($server['tickrate'].'"', $server['tickrate'].'" selected="select"', $tickrate));
+        $html->set('fps', str_replace($server['fps'].'"', $server['fps'].'" selected="select"', $fps));
 
-	$html->pack('start');
+    $html->pack('start');
 ?>

+ 140 - 140
system/sections/control/servers/filetp.php

@@ -1,204 +1,204 @@
 <?php
-	if(!DEFINED('EGP'))
-		exit(header('Refresh: 0; URL=http://'.$_SERVER['SERVER_NAME'].'/404'));
+    if(!DEFINED('EGP'))
+        exit(header('Refresh: 0; URL=http://'.$_SERVER['SERVER_NAME'].'/404'));
 
-	$sql->query('SELECT `uid`, `address`, `game`, `status` FROM `control_servers` WHERE `id`="'.$sid.'" LIMIT 1');
-	$server = $sql->get();
+    $sql->query('SELECT `uid`, `address`, `game`, `status` FROM `control_servers` WHERE `id`="'.$sid.'" LIMIT 1');
+    $server = $sql->get();
 
-	ctrl::nav($server, $id, $sid, 'filetp');
+    ctrl::nav($server, $id, $sid, 'filetp');
 
-	$frouter = explode('/', ctrl::route($server, 'filetp', $go));
+    $frouter = explode('/', ctrl::route($server, 'filetp', $go));
 
-	if(end($frouter) == 'noaccess.php')
-		include(SEC.'control/servers/noaccess.php');
-	else{
-		$sql->query('SELECT `uid`, `ftp`, `ftp_passwd` FROM `control_servers` WHERE `id`="'.$sid.'" LIMIT 1');
-		$server = array_merge($server, $sql->get());
+    if(end($frouter) == 'noaccess.php')
+        include(SEC.'control/servers/noaccess.php');
+    else{
+        $sql->query('SELECT `uid`, `ftp`, `ftp_passwd` FROM `control_servers` WHERE `id`="'.$sid.'" LIMIT 1');
+        $server = array_merge($server, $sql->get());
 
-		$sql->query('SELECT `address` FROM `control` WHERE `id`="'.$id.'" LIMIT 1');
-		$unit = $sql->get();
-		$ip = sys::first(explode(':', $unit['address']));
+        $sql->query('SELECT `address` FROM `control` WHERE `id`="'.$id.'" LIMIT 1');
+        $unit = $sql->get();
+        $ip = sys::first(explode(':', $unit['address']));
 
-		$html->nav('Список подключенных серверов', $cfg['http'].'control');
-		$html->nav('Список игровых серверов #'.$id, $cfg['http'].'control/id/'.$id);
-		$html->nav($server['address'], $cfg['http'].'control/id/'.$id.'/server/'.$sid);
-		$html->nav('FileTP');
+        $html->nav('Список подключенных серверов', $cfg['http'].'control');
+        $html->nav('Список игровых серверов #'.$id, $cfg['http'].'control/id/'.$id);
+        $html->nav($server['address'], $cfg['http'].'control/id/'.$id.'/server/'.$sid);
+        $html->nav('FileTP');
 
-		// Путь для Proftpd
-		$homedir = '/servers/'.$server['uid'];
+        // Путь для Proftpd
+        $homedir = '/servers/'.$server['uid'];
 
-		// Путь для файлового менеджера
-		$dir = '/';
+        // Путь для файлового менеджера
+        $dir = '/';
 
-		$aData = array(
-			'root' => $dir,
-			'host' => $ip,
-			'login' => $server['uid'],
-			'passwd' => $server['ftp_passwd']
-		);
+        $aData = array(
+            'root' => $dir,
+            'host' => $ip,
+            'login' => $server['uid'],
+            'passwd' => $server['ftp_passwd']
+        );
 
-		if($go)
-		{
-			if(isset($url['action']) AND in_array($url['action'], array('on', 'off', 'change', 'logs')))
-			{
-				$sql->query('SELECT `passwd`, `sql_login`, `sql_passwd`, `sql_port`, `sql_ftp` FROM `control` WHERE `id`="'.$id.'" LIMIT 1');
-				$unit = array_merge($unit, $sql->get());
+        if($go)
+        {
+            if(isset($url['action']) AND in_array($url['action'], array('on', 'off', 'change', 'logs')))
+            {
+                $sql->query('SELECT `passwd`, `sql_login`, `sql_passwd`, `sql_port`, `sql_ftp` FROM `control` WHERE `id`="'.$id.'" LIMIT 1');
+                $unit = array_merge($unit, $sql->get());
 
-				include(LIB.'ssh.php');
+                include(LIB.'ssh.php');
 
-				// Проверка соединения с ssh сервером
-				if(!$ssh->auth($unit['passwd'], $unit['address']))
-					sys::back($cfg['http'].'control/id/'.$id.'/server/'.$sid.'/section/filetp');
-			}else{
-				include(LIB.'ftp.php');
+                // Проверка соединения с ssh сервером
+                if(!$ssh->auth($unit['passwd'], $unit['address']))
+                    sys::back($cfg['http'].'control/id/'.$id.'/server/'.$sid.'/section/filetp');
+            }else{
+                include(LIB.'ftp.php');
 
-				$ftp = new ftp;
+                $ftp = new ftp;
 
-				// Проверка соединения с ftp сервером
-				if(!$ftp->auth($aData['host'], $aData['login'], $aData['passwd']))
-				{
-					if(isset($url['action']))
-					{
-						if($url['action'] == 'search')
-								sys::out('Не удалось соединиться с ftp-сервером.');
+                // Проверка соединения с ftp сервером
+                if(!$ftp->auth($aData['host'], $aData['login'], $aData['passwd']))
+                {
+                    if(isset($url['action']))
+                    {
+                        if($url['action'] == 'search')
+                                sys::out('Не удалось соединиться с ftp-сервером.');
 
-						sys::outjs(array('e' => 'Не удалось соединиться с ftp-сервером.'));
-					}
+                        sys::outjs(array('e' => 'Не удалось соединиться с ftp-сервером.'));
+                    }
 
-					sys::out();
-				}
-			}
+                    sys::out();
+                }
+            }
 
-			// Выполнение операций
-			if(isset($url['action']))
-				switch($url['action'])
-				{
-					case 'on':
-						if($server['ftp'])
-							sys::back($cfg['http'].'control/id/'.$id.'/server/'.$sid.'/section/filetp');
+            // Выполнение операций
+            if(isset($url['action']))
+                switch($url['action'])
+                {
+                    case 'on':
+                        if($server['ftp'])
+                            sys::back($cfg['http'].'control/id/'.$id.'/server/'.$sid.'/section/filetp');
 
-						$used = sys::int($ssh->get('cd /servers/'.$server['uid'].' && du -b | tail -1'));
+                        $used = sys::int($ssh->get('cd /servers/'.$server['uid'].' && du -b | tail -1'));
 
-						if($used < 1)
-							sys::back($cfg['http'].'help/action/create');
+                        if($used < 1)
+                            sys::back($cfg['http'].'help/action/create');
 
-						$bytes = $server['hdd']*1048576;
+                        $bytes = $server['hdd']*1048576;
 
-						$server['ftp_passwd'] = isset($server['ftp_passwd']{1}) ? $server['ftp_passwd'] : sys::passwd(8);
+                        $server['ftp_passwd'] = isset($server['ftp_passwd'][1]) ? $server['ftp_passwd'] : sys::passwd(8);
 
-						$qSql = 'DELETE FROM users WHERE username=\''.$server['uid'].'\';'
-								.'INSERT INTO users set username=\''.$server['uid'].'\', password=\''.$server['ftp_passwd'].'\', uid=\''.$server['uid'].'\', gid=\'1000\', homedir=\''.$homedir.'\', shell=\'/bin/false\';';
+                        $qSql = 'DELETE FROM users WHERE username=\''.$server['uid'].'\';'
+                                .'INSERT INTO users set username=\''.$server['uid'].'\', password=\''.$server['ftp_passwd'].'\', uid=\''.$server['uid'].'\', gid=\'1000\', homedir=\''.$homedir.'\', shell=\'/bin/false\';';
 
-						$ssh->set('screen -dmS ftp'.$server['uid'].' mysql -P '.$unit['sql_port'].' -u'.$unit['sql_login'].' -p'.$unit['sql_passwd'].' --database '.$unit['sql_ftp'].' -e "'.$qSql.'"');
+                        $ssh->set('screen -dmS ftp'.$server['uid'].' mysql -P '.$unit['sql_port'].' -u'.$unit['sql_login'].' -p'.$unit['sql_passwd'].' --database '.$unit['sql_ftp'].' -e "'.$qSql.'"');
 
-						$sql->query('UPDATE `control_servers` SET `ftp`="1", `ftp_passwd`="'.$server['ftp_passwd'].'" WHERE `id`="'.$sid.'" LIMIT 1');
+                        $sql->query('UPDATE `control_servers` SET `ftp`="1", `ftp_passwd`="'.$server['ftp_passwd'].'" WHERE `id`="'.$sid.'" LIMIT 1');
 
-						$mcache->delete('ctrl_server_filetp_'.$sid);
+                        $mcache->delete('ctrl_server_filetp_'.$sid);
 
-						sys::back($cfg['http'].'control/id/'.$id.'/server/'.$sid.'/section/filetp');
+                        sys::back($cfg['http'].'control/id/'.$id.'/server/'.$sid.'/section/filetp');
 
-					case 'change':
-						if(!$server['ftp'])
-							sys::back($cfg['http'].'control/id/'.$id.'/server/'.$sid.'/section/filetp');
+                    case 'change':
+                        if(!$server['ftp'])
+                            sys::back($cfg['http'].'control/id/'.$id.'/server/'.$sid.'/section/filetp');
 
-						$passwd = sys::passwd(8);
+                        $passwd = sys::passwd(8);
 
-						$qSql = "UPDATE users set password='".$passwd."' WHERE username='".$server['uid']."' LIMIT 1";
+                        $qSql = "UPDATE users set password='".$passwd."' WHERE username='".$server['uid']."' LIMIT 1";
 
-						$ssh->set('screen -dmS ftp'.$server['uid'].' mysql -P '.$unit['sql_port'].' -u'.$unit['sql_login'].' -p'.$unit['sql_passwd'].' --database '.$unit['sql_ftp'].' -e '.'"'.$qSql.'"');
+                        $ssh->set('screen -dmS ftp'.$server['uid'].' mysql -P '.$unit['sql_port'].' -u'.$unit['sql_login'].' -p'.$unit['sql_passwd'].' --database '.$unit['sql_ftp'].' -e '.'"'.$qSql.'"');
 
-						$sql->query('UPDATE `control_servers` SET `ftp_passwd`="'.$passwd.'" WHERE `id`="'.$sid.'" LIMIT 1');
+                        $sql->query('UPDATE `control_servers` SET `ftp_passwd`="'.$passwd.'" WHERE `id`="'.$sid.'" LIMIT 1');
 
-						$mcache->delete('ctrl_server_filetp_'.$sid);
+                        $mcache->delete('ctrl_server_filetp_'.$sid);
 
-						sys::back($cfg['http'].'control/id/'.$id.'/server/'.$sid.'/section/filetp');
+                        sys::back($cfg['http'].'control/id/'.$id.'/server/'.$sid.'/section/filetp');
 
-					case 'off':
-						if(!$server['ftp'])
-							sys::back($cfg['http'].'control/id/'.$id.'/server/'.$sid.'/section/filetp');
+                    case 'off':
+                        if(!$server['ftp'])
+                            sys::back($cfg['http'].'control/id/'.$id.'/server/'.$sid.'/section/filetp');
 
-						$qSql = 'DELETE FROM users WHERE username=\''.$server['uid'].'\';';
+                        $qSql = 'DELETE FROM users WHERE username=\''.$server['uid'].'\';';
 
-						$ssh->set('screen -dmS ftp'.$server['uid'].' mysql -P '.$unit['sql_port'].' -u'.$unit['sql_login'].' -p'.$unit['sql_passwd'].' --database '.$unit['sql_ftp'].' -e "'.$qSql.'"');
+                        $ssh->set('screen -dmS ftp'.$server['uid'].' mysql -P '.$unit['sql_port'].' -u'.$unit['sql_login'].' -p'.$unit['sql_passwd'].' --database '.$unit['sql_ftp'].' -e "'.$qSql.'"');
 
-						$sql->query('UPDATE `control_servers` SET `ftp`="0" WHERE `id`="'.$sid.'" LIMIT 1');
+                        $sql->query('UPDATE `control_servers` SET `ftp`="0" WHERE `id`="'.$sid.'" LIMIT 1');
 
-						$mcache->delete('ctrl_server_filetp_'.$sid);
+                        $mcache->delete('ctrl_server_filetp_'.$sid);
 
-						sys::back($cfg['http'].'control/id/'.$id.'/server/'.$sid.'/section/filetp');
+                        sys::back($cfg['http'].'control/id/'.$id.'/server/'.$sid.'/section/filetp');
 
-					case 'rename':
-						$ftp->rename(json_decode($_POST['path']), json_decode($_POST['name']), json_decode($_POST['newname']));
+                    case 'rename':
+                        $ftp->rename(json_decode($_POST['path']), json_decode($_POST['name']), json_decode($_POST['newname']));
 
-					case 'edit':
-						$ftp->edit_file(json_decode($_POST['path']), json_decode($_POST['name']));
+                    case 'edit':
+                        $ftp->edit_file(json_decode($_POST['path']), json_decode($_POST['name']));
 
-					case 'create':
-						if(isset($url['folder']))
-							$ftp->mkdir(json_decode($_POST['path']), json_decode($_POST['name']));
+                    case 'create':
+                        if(isset($url['folder']))
+                            $ftp->mkdir(json_decode($_POST['path']), json_decode($_POST['name']));
 
-						$ftp->touch(json_decode($_POST['path']), json_decode($_POST['name']), json_decode($_POST['text']));
+                        $ftp->touch(json_decode($_POST['path']), json_decode($_POST['name']), json_decode($_POST['text']));
 
-					case 'delete':
-						if(isset($url['folder']))
-							$ftp->rmdir(json_decode($_POST['path']), json_decode($_POST['name']));
+                    case 'delete':
+                        if(isset($url['folder']))
+                            $ftp->rmdir(json_decode($_POST['path']), json_decode($_POST['name']));
 
-						$ftp->rmfile(json_decode($_POST['path']).'/'.json_decode($_POST['name']));
+                        $ftp->rmfile(json_decode($_POST['path']).'/'.json_decode($_POST['name']));
 
-					case 'chmod':
-						$ftp->chmod(json_decode($_POST['path']), json_decode($_POST['name']), sys::int($_POST['chmod']));
+                    case 'chmod':
+                        $ftp->chmod(json_decode($_POST['path']), json_decode($_POST['name']), sys::int($_POST['chmod']));
 
-					case 'search':
-						$text = isset($_POST['find']) ? sys::first(explode('.', json_decode($_POST['find']))) : sys::out();
+                    case 'search':
+                        $text = isset($_POST['find']) ? sys::first(explode('.', json_decode($_POST['find']))) : sys::out();
 
-						if(!isset($text{2}))
-							sys::out('Для выполнения поиска, необходимо больше данных');
+                        if(!isset($text[2]))
+                            sys::out('Для выполнения поиска, необходимо больше данных');
 
-						$ftp->search($text, $id);
+                        $ftp->search($text, $id);
 
-					case 'logs':
-						$logs = $mcache->get('ctrl_filetp_logs_'.$sid);
+                    case 'logs':
+                        $logs = $mcache->get('ctrl_filetp_logs_'.$sid);
 
-						if(!$logs)
-						{
-							include(LIB.'ftp.php');
+                        if(!$logs)
+                        {
+                            include(LIB.'ftp.php');
 
-							$ftp = new ftp;
+                            $ftp = new ftp;
 
-							$logs = $ftp->logs($ssh->get('cat /var/log/proftpd/xferlog | grep "/'.$server['uid'].'/" | awk \'{print $2"\\\"$3"\\\"$4"\\\"$5"\\\"$7"\\\"$8"\\\"$9"\\\"$12}\' | tail -50'), $server['uid']);
+                            $logs = $ftp->logs($ssh->get('cat /var/log/proftpd/xferlog | grep "/'.$server['uid'].'/" | awk \'{print $2"\\\"$3"\\\"$4"\\\"$5"\\\"$7"\\\"$8"\\\"$9"\\\"$12}\' | tail -50'), $server['uid']);
 
-							$mcache->set('ctrl_filetp_logs_'.$sid, $logs, false, 300);
-						}
+                            $mcache->set('ctrl_filetp_logs_'.$sid, $logs, false, 300);
+                        }
 
-						sys::out($logs);
-				}
+                        sys::out($logs);
+                }
 
-			if(!isset($_POST['path'])) $_POST['path'] = json_encode($aData['root']);
+            if(!isset($_POST['path'])) $_POST['path'] = json_encode($aData['root']);
 
-			sys::out($ftp->view($ftp->read(json_decode($_POST['path'])), $sid));
-		}
+            sys::out($ftp->view($ftp->read(json_decode($_POST['path'])), $sid));
+        }
 
-		if($mcache->get('ctrl_server_filetp_'.$sid) != '')
-			$html->arr['main'] = $mcache->get('ctrl_server_filetp_'.$sid);
-		else{
-			if($server['ftp'])
-			{
-				$html->get('filetp_on', 'sections/control/servers/games/filetp');
+        if($mcache->get('ctrl_server_filetp_'.$sid) != '')
+            $html->arr['main'] = $mcache->get('ctrl_server_filetp_'.$sid);
+        else{
+            if($server['ftp'])
+            {
+                $html->get('filetp_on', 'sections/control/servers/games/filetp');
 
-					$html->set('address', 'ftp://'.$aData['login'].':'.$aData['passwd'].'@'.$aData['host']);
-					$html->set('server', $aData['host']);
-					$html->set('login', $aData['login']);
-					$html->set('passwd', $aData['passwd']);
-					$html->set('path', $aData['root']);
-			}else
-				$html->get('filetp_off', 'sections/control/servers/games/filetp');
+                    $html->set('address', 'ftp://'.$aData['login'].':'.$aData['passwd'].'@'.$aData['host']);
+                    $html->set('server', $aData['host']);
+                    $html->set('login', $aData['login']);
+                    $html->set('passwd', $aData['passwd']);
+                    $html->set('path', $aData['root']);
+            }else
+                $html->get('filetp_off', 'sections/control/servers/games/filetp');
 
-					$html->set('id', $id);
-					$html->set('server', $sid);
+                    $html->set('id', $id);
+                    $html->set('server', $sid);
 
-			$html->pack('main');
+            $html->pack('main');
 
-			$mcache->set('ctrl_server_filetp_'.$sid, $html->arr['main'], false, 10);
-		}
-	}
+            $mcache->set('ctrl_server_filetp_'.$sid, $html->arr['main'], false, 10);
+        }
+    }
 ?>

+ 16 - 16
system/sections/control/servers/games/copy/check.php

@@ -1,26 +1,26 @@
 <?php
     if(!DEFINED('EGP'))
-		exit(header('Refresh: 0; URL=http://'.$_SERVER['SERVER_NAME'].'/404'));
+        exit(header('Refresh: 0; URL=http://'.$_SERVER['SERVER_NAME'].'/404'));
 
-	$nmch = 'ctrl_server_copy_check_'.$sid;
+    $nmch = 'ctrl_server_copy_check_'.$sid;
 
-	if($mcache->get($nmch))
-		sys::outjs(array('e' => sys::text('other', 'mcache')));
+    if($mcache->get($nmch))
+        sys::outjs(array('e' => sys::text('other', 'mcache')));
 
-	$mcache->set($nmch, true, false, 10);
+    $mcache->set($nmch, true, false, 10);
 
-	$copys = $sql->query('SELECT `id` FROM `control_copy` WHERE `user`="'.$ctrl['user'].'_'.$id.'" AND `status`="0"');
-	if(!$sql->num($copys))
-		sys::outjs(array('e' => 'no find'), $nmch);
+    $copys = $sql->query('SELECT `id` FROM `control_copy` WHERE `user`="'.$ctrl['user'].'_'.$id.'" AND `status`="0"');
+    if(!$sql->num($copys))
+        sys::outjs(array('e' => 'no find'), $nmch);
 
-	while($copy = $sql->get($copys))
-	{
-		if(!sys::int($ssh->get('ps aux | grep copy_'.$server['uid'].' | grep -v grep | awk \'{print $2}\'')))
-			$sql->query('UPDATE `control_copy` set `status`="1" WHERE `id`="'.$copy['id'].'" LIMIT 1');
-	}
+    while($copy = $sql->get($copys))
+    {
+        if(!sys::int($ssh->get('ps aux | grep copy_'.$server['uid'].' | grep -v grep | awk \'{print $2}\'')))
+            $sql->query('UPDATE `control_copy` set `status`="1" WHERE `id`="'.$copy['id'].'" LIMIT 1');
+    }
 
-	// Очистка кеша
-	$mcache->delete('ctrl_server_copy_'.$sid);
+    // Очистка кеша
+    $mcache->delete('ctrl_server_copy_'.$sid);
 
-	sys::outjs(array('s' => 'ok'), $nmch);
+    sys::outjs(array('s' => 'ok'), $nmch);
 ?>

+ 35 - 35
system/sections/control/servers/games/copy/create.php

@@ -1,54 +1,54 @@
 <?php
     if(!DEFINED('EGP'))
-		exit(header('Refresh: 0; URL=http://'.$_SERVER['SERVER_NAME'].'/404'));
+        exit(header('Refresh: 0; URL=http://'.$_SERVER['SERVER_NAME'].'/404'));
 
-	$sql->query('SELECT `id` FROM `control_copy` WHERE `server`="'.$sid.'" ORDER BY `id` DESC LIMIT 5');
-	if($sql->num() > 4)
-		sys::outjs(array('e' => 'Для создания новой копии необходимо удалить старые.'), $nmch);
+    $sql->query('SELECT `id` FROM `control_copy` WHERE `server`="'.$sid.'" ORDER BY `id` DESC LIMIT 5');
+    if($sql->num() > 4)
+        sys::outjs(array('e' => 'Для создания новой копии необходимо удалить старые.'), $nmch);
 
-	$sql->query('SELECT `id` FROM `control_copy` WHERE `server`="'.$sid.'" AND `status`="0" LIMIT 1');
-	if($sql->num())
-		sys::outjs(array('e' => 'Для создания новой копии дождитесь создания предыдущей.'), $nmch);
+    $sql->query('SELECT `id` FROM `control_copy` WHERE `server`="'.$sid.'" AND `status`="0" LIMIT 1');
+    if($sql->num())
+        sys::outjs(array('e' => 'Для создания новой копии дождитесь создания предыдущей.'), $nmch);
 
-	$aSel = array();
+    $aSel = array();
 
-	$aData = isset($_POST['copy']) ? $_POST['copy'] : sys::outjs(array('e' => 'Для создания копии необходимо выбрать директории/файлы.'), $nmch);
+    $aData = isset($_POST['copy']) ? $_POST['copy'] : sys::outjs(array('e' => 'Для создания копии необходимо выбрать директории/файлы.'), $nmch);
 
-	foreach(params::$section_copy[$server['game']]['aCopy'] as $name => $info)
-	{
-		if(!isset($aData['\''.$name.'\'']))
-			continue;
+    foreach(params::$section_copy[$server['game']]['aCopy'] as $name => $info)
+    {
+        if(!isset($aData['\''.$name.'\'']))
+            continue;
 
-		$aSel[] = $name;
-	}
+        $aSel[] = $name;
+    }
 
-	if(!count($aSel))
-		sys::outjs(array('e' => 'Для создания копии необходимо выбрать директории/файлы.'), $nmch);
+    if(!count($aSel))
+        sys::outjs(array('e' => 'Для создания копии необходимо выбрать директории/файлы.'), $nmch);
 
-	$copy = '';
-	$info = '';
-	$plugins = '';
+    $copy = '';
+    $info = '';
+    $plugins = '';
 
-	foreach($aSel as $name)
-	{
-		$copy .= isset(params::$section_copy[$server['game']]['aCopyDir'][$name]) ? params::$section_copy[$server['game']]['aCopyDir'][$name].' ' : '';
-		$copy .= isset(params::$section_copy[$server['game']]['aCopyFile'][$name]) ? params::$section_copy[$server['game']]['aCopyFile'][$name].' ' : '';
+    foreach($aSel as $name)
+    {
+        $copy .= isset(params::$section_copy[$server['game']]['aCopyDir'][$name]) ? params::$section_copy[$server['game']]['aCopyDir'][$name].' ' : '';
+        $copy .= isset(params::$section_copy[$server['game']]['aCopyFile'][$name]) ? params::$section_copy[$server['game']]['aCopyFile'][$name].' ' : '';
 
-		$info .= $name.', ';
-	}
+        $info .= $name.', ';
+    }
 
-	$name_copy = md5($start_point.$id.$server['game']);
+    $name_copy = md5($start_point.$id.$server['game']);
 
-	$ssh->set('cd /servers/'.$server['uid'].' && screen -dmS copy_'.$server['uid'].' sh -c "tar -cf '.$name_copy.'.tar '.$copy.'; mv '.$name_copy.'.tar /copy"');
+    $ssh->set('cd /servers/'.$server['uid'].' && screen -dmS copy_'.$server['uid'].' sh -c "tar -cf '.$name_copy.'.tar '.$copy.'; mv '.$name_copy.'.tar /copy"');
 
-	$sql->query('SELECT `plugin`, `upd` FROM `control_plugins_install` WHERE `server`="'.$sid.'"');
-	while($plugin = $sql->get())
-		$plugins .= $plugin['plugin'].'.'.$plugin['upd'].',';
+    $sql->query('SELECT `plugin`, `upd` FROM `control_plugins_install` WHERE `server`="'.$sid.'"');
+    while($plugin = $sql->get())
+        $plugins .= $plugin['plugin'].'.'.$plugin['upd'].',';
 
-	$sql->query('INSERT INTO `control_copy` set `user`="'.$ctrl['user'].'_'.$id.'", `game`="'.$server['game'].'", `server`="'.$sid.'", `pack`="'.$server['pack'].'", `name`="'.$name_copy.'", `info`="'.substr($info, 0, -2).'",  `plugins`="'.substr($plugins, 0, -1).'", `date`="'.$start_point.'", `status`="0"');
+    $sql->query('INSERT INTO `control_copy` set `user`="'.$ctrl['user'].'_'.$id.'", `game`="'.$server['game'].'", `server`="'.$sid.'", `pack`="'.$server['pack'].'", `name`="'.$name_copy.'", `info`="'.substr($info, 0, -2).'",  `plugins`="'.substr($plugins, 0, -1).'", `date`="'.$start_point.'", `status`="0"');
 
-	// Очистка кеша
-	$mcache->delete('ctrl_server_copy_'.$sid);
+    // Очистка кеша
+    $mcache->delete('ctrl_server_copy_'.$sid);
 
-	sys::outjs(array('s' => 'ok'), $nmch);
+    sys::outjs(array('s' => 'ok'), $nmch);
 ?>

+ 14 - 14
system/sections/control/servers/games/copy/fullcopy.php

@@ -1,25 +1,25 @@
 <?php
     if(!DEFINED('EGP'))
-		exit(header('Refresh: 0; URL=http://'.$_SERVER['SERVER_NAME'].'/404'));
+        exit(header('Refresh: 0; URL=http://'.$_SERVER['SERVER_NAME'].'/404'));
 
-	$sql->query('SELECT `id` FROM `control_copy` WHERE `server`="'.$sid.'" AND `info`="'.params::$section_copy[$server['game']]['CopyFull'].'" LIMIT 1');
-	if($sql->num())
-		sys::outjs(array('e' => 'Для создания новой копии необходимо удалить старую.'), $nmch);
+    $sql->query('SELECT `id` FROM `control_copy` WHERE `server`="'.$sid.'" AND `info`="'.params::$section_copy[$server['game']]['CopyFull'].'" LIMIT 1');
+    if($sql->num())
+        sys::outjs(array('e' => 'Для создания новой копии необходимо удалить старую.'), $nmch);
 
-	$name_copy = md5($id.$start_point.$sid.$server['game']);
+    $name_copy = md5($id.$start_point.$sid.$server['game']);
 
-	$ssh->set('cd /servers/'.$server['uid'].' && screen -dmS copy_'.$server['uid'].' sh -c "tar -cf '.$name_copy.'.tar '.params::$section_copy[$server['game']]['CopyFull'].'; mv '.$name_copy.'.tar /copy"');
+    $ssh->set('cd /servers/'.$server['uid'].' && screen -dmS copy_'.$server['uid'].' sh -c "tar -cf '.$name_copy.'.tar '.params::$section_copy[$server['game']]['CopyFull'].'; mv '.$name_copy.'.tar /copy"');
 
-	$plugins = '';
+    $plugins = '';
 
-	$sql->query('SELECT `plugin`, `upd` FROM `control_plugins_install` WHERE `server`="'.$sid.'"');
-	while($plugin = $sql->get())
-		$plugins .= $plugin['plugin'].'.'.$plugin['upd'].',';
+    $sql->query('SELECT `plugin`, `upd` FROM `control_plugins_install` WHERE `server`="'.$sid.'"');
+    while($plugin = $sql->get())
+        $plugins .= $plugin['plugin'].'.'.$plugin['upd'].',';
 
-	$sql->query('INSERT INTO `control_copy` set `user`="'.$ctrl['user'].'_'.$id.'", `game`="'.$server['game'].'", `server`="'.$sid.'", `pack`="'.$server['pack'].'", `name`="'.$name_copy.'", `info`="'.params::$section_copy[$server['game']]['CopyFull'].'",  `plugins`="'.substr($plugins, 0, -1).'", `date`="'.$start_point.'", `status`="0"');
+    $sql->query('INSERT INTO `control_copy` set `user`="'.$ctrl['user'].'_'.$id.'", `game`="'.$server['game'].'", `server`="'.$sid.'", `pack`="'.$server['pack'].'", `name`="'.$name_copy.'", `info`="'.params::$section_copy[$server['game']]['CopyFull'].'",  `plugins`="'.substr($plugins, 0, -1).'", `date`="'.$start_point.'", `status`="0"');
 
-	// Очистка кеша
-	$mcache->delete('ctrl_server_copy_'.$sid);
+    // Очистка кеша
+    $mcache->delete('ctrl_server_copy_'.$sid);
 
-	sys::outjs(array('s' => 'ok'), $nmch);
+    sys::outjs(array('s' => 'ok'), $nmch);
 ?>

+ 51 - 51
system/sections/control/servers/games/copy/recfull.php

@@ -1,76 +1,76 @@
 <?php
     if(!DEFINED('EGP'))
-		exit(header('Refresh: 0; URL=http://'.$_SERVER['SERVER_NAME'].'/404'));
+        exit(header('Refresh: 0; URL=http://'.$_SERVER['SERVER_NAME'].'/404'));
 
-	$cid = isset($url['cid']) ? sys::int($url['cid']) : sys::outjs(array('e' => 'Выбранная копия не найдена.'), $nmch);
+    $cid = isset($url['cid']) ? sys::int($url['cid']) : sys::outjs(array('e' => 'Выбранная копия не найдена.'), $nmch);
 
-	$sql->query('SELECT `id`, `pack`, `name`, `info`, `plugins`, `date`, `status` FROM `control_copy` WHERE `id`="'.$cid.'" AND `user`="'.$ctrl['user'].'_'.$id.'" AND `game`="'.$server['game'].'" LIMIT 1');
-	if(!$sql->num())
-		sys::outjs(array('e' => 'Выбранная копия не найдена.'), $nmch);
+    $sql->query('SELECT `id`, `pack`, `name`, `info`, `plugins`, `date`, `status` FROM `control_copy` WHERE `id`="'.$cid.'" AND `user`="'.$ctrl['user'].'_'.$id.'" AND `game`="'.$server['game'].'" LIMIT 1');
+    if(!$sql->num())
+        sys::outjs(array('e' => 'Выбранная копия не найдена.'), $nmch);
 
-	$copy = $sql->get();
+    $copy = $sql->get();
 
-	if(!$copy['status'])
-		sys::outjs(array('e' => 'Дождитесь создания резервной копии.'), $nmch);
+    if(!$copy['status'])
+        sys::outjs(array('e' => 'Дождитесь создания резервной копии.'), $nmch);
 
-	if($copy['pack'] != $server['pack'])
-	{
-		$aPack = $cfg['control_packs'][$server['game']];
+    if($copy['pack'] != $server['pack'])
+    {
+        $aPack = $cfg['control_packs'][$server['game']];
 
-		sys::outjs(array('e' => 'Для восстановления необходимо установить сборку: '.$aPack[$copy['pack']].'.'), $nmch);
-	}
+        sys::outjs(array('e' => 'Для восстановления необходимо установить сборку: '.$aPack[$copy['pack']].'.'), $nmch);
+    }
 
-	if(params::$section_copy[$server['game']]['CopyFull'] == $copy['info'])
-		$rm = 'rm -r '.$copy['info'];
-	else{
-		$rm = '';
+    if(params::$section_copy[$server['game']]['CopyFull'] == $copy['info'])
+        $rm = 'rm -r '.$copy['info'];
+    else{
+        $rm = '';
 
-		$aInfo = explode(', ', $copy['info']);
+        $aInfo = explode(', ', $copy['info']);
 
-		foreach($aInfo as $name)
-		{
-			$rm .= isset(params::$section_copy[$server['game']]['aCopyDir'][$name]) ? 'rm -r '.params::$section_copy[$server['game']]['aCopyDir'][$name].' ' : '';
-			$rm .= isset(params::$section_copy[$server['game']]['aCopyFile'][$name]) ? 'rm '.params::$section_copy[$server['game']]['aCopyFile'][$name].' ' : '';
-		}
+        foreach($aInfo as $name)
+        {
+            $rm .= isset(params::$section_copy[$server['game']]['aCopyDir'][$name]) ? 'rm -r '.params::$section_copy[$server['game']]['aCopyDir'][$name].' ' : '';
+            $rm .= isset(params::$section_copy[$server['game']]['aCopyFile'][$name]) ? 'rm '.params::$section_copy[$server['game']]['aCopyFile'][$name].' ' : '';
+        }
 
-	}
+    }
 
-	$ssh->set('cd /servers/'.$server['uid'].' && screen -dmS rec_'.$server['uid'].' sh -c "'
-		.$rm.'; cp /copy/'.$copy['name'].'.tar . && tar -xf '.$copy['name'].'.tar; rm '.$copy['name'].'.tar;'
-		.'find . -type d -exec chmod 700 {} \;;'
-		.'find . -type f -exec chmod 600 {} \;;'
-		.'chmod 500 '.params::$aFileGame[$server['game']].';'
-		.'chown -R servers'.$server['uid'].':servers ."');
+    $ssh->set('cd /servers/'.$server['uid'].' && screen -dmS rec_'.$server['uid'].' sh -c "'
+        .$rm.'; cp /copy/'.$copy['name'].'.tar . && tar -xf '.$copy['name'].'.tar; rm '.$copy['name'].'.tar;'
+        .'find . -type d -exec chmod 700 {} \;;'
+        .'find . -type f -exec chmod 600 {} \;;'
+        .'chmod 500 '.params::$aFileGame[$server['game']].';'
+        .'chown -R servers'.$server['uid'].':servers ."');
 
-	// Удаление плагинов
-	$sql->query('DELETE FROM `control_plugins_install` WHERE `server`="'.$sid.'"');
+    // Удаление плагинов
+    $sql->query('DELETE FROM `control_plugins_install` WHERE `server`="'.$sid.'"');
 
-	// Установка плагинов (имитирование)
-	$aPlugins = explode(',', $copy['plugins']);
+    // Установка плагинов (имитирование)
+    $aPlugins = explode(',', $copy['plugins']);
 
-	foreach($aPlugins as $plugin)
-	{
-		$aPlugin = explode('.', $plugin);
+    foreach($aPlugins as $plugin)
+    {
+        $aPlugin = explode('.', $plugin);
 
-		if(!count($aPlugin != 2))
-			continue;
+        if(!count($aPlugin != 2))
+            continue;
 
-		if(!$aPlugin[0])
-			continue;
+        if(!$aPlugin[0])
+            continue;
 
-		$sql->query('SELECT `id` FROM `control_plugins_install` WHERE `plugin`="'.$aPlugin[0].'" AND `server`="'.$sid.'" LIMIT 1');
+        $sql->query('SELECT `id` FROM `control_plugins_install` WHERE `plugin`="'.$aPlugin[0].'" AND `server`="'.$sid.'" LIMIT 1');
 
-		if(!$aPlugin[1])
-			$aPlugin[1] = 0;
+        if(!$aPlugin[1])
+            $aPlugin[1] = 0;
 
-		if(!$sql->num())
-			$sql->query('INSERT INTO `control_plugins_install` set `server`="'.$sid.'", `plugin`="'.$aPlugin[0].'", `upd`="'.$aPlugin[1].'", `time`="'.$copy['date'].'"');
-	}
+        if(!$sql->num())
+            $sql->query('INSERT INTO `control_plugins_install` set `server`="'.$sid.'", `plugin`="'.$aPlugin[0].'", `upd`="'.$aPlugin[1].'", `time`="'.$copy['date'].'"');
+    }
 
-	// Очистка кеша
-	$mcache->delete('ctrl_server_plugins_'.$sid);
+    // Очистка кеша
+    $mcache->delete('ctrl_server_plugins_'.$sid);
 
-	$sql->query('UPDATE `control_servers` set `status`="recovery" WHERE `id`="'.$sid.'" LIMIT 1');
+    $sql->query('UPDATE `control_servers` set `status`="recovery" WHERE `id`="'.$sid.'" LIMIT 1');
 
-	sys::outjs(array('s' => 'ok'), $nmch);
+    sys::outjs(array('s' => 'ok'), $nmch);
 ?>

+ 33 - 33
system/sections/control/servers/games/copy/recpart.php

@@ -1,50 +1,50 @@
 <?php
     if(!DEFINED('EGP'))
-		exit(header('Refresh: 0; URL=http://'.$_SERVER['SERVER_NAME'].'/404'));
+        exit(header('Refresh: 0; URL=http://'.$_SERVER['SERVER_NAME'].'/404'));
 
-	$cid = isset($url['cid']) ? sys::int($url['cid']) : sys::outjs(array('e' => 'Выбранная копия не найдена.'), $nmch);
+    $cid = isset($url['cid']) ? sys::int($url['cid']) : sys::outjs(array('e' => 'Выбранная копия не найдена.'), $nmch);
 
-	$sql->query('SELECT `id`, `pack`, `name`, `plugins`, `date`, `status` FROM `control_copy` WHERE `id`="'.$cid.'" AND `user`="'.$ctrl['user'].'_'.$id.'" AND `game`="'.$server['game'].'" LIMIT 1');
-	if(!$sql->num())
-		sys::outjs(array('e' => 'Выбранная копия не найдена.'), $nmch);
+    $sql->query('SELECT `id`, `pack`, `name`, `plugins`, `date`, `status` FROM `control_copy` WHERE `id`="'.$cid.'" AND `user`="'.$ctrl['user'].'_'.$id.'" AND `game`="'.$server['game'].'" LIMIT 1');
+    if(!$sql->num())
+        sys::outjs(array('e' => 'Выбранная копия не найдена.'), $nmch);
 
-	$copy = $sql->get();
+    $copy = $sql->get();
 
-	if(!$copy['status'])
-		sys::outjs(array('e' => 'Дождитесь создания резервной копии.'), $nmch);
+    if(!$copy['status'])
+        sys::outjs(array('e' => 'Дождитесь создания резервной копии.'), $nmch);
 
-	if($copy['pack'] != $server['pack'])
-	{
-		$aPack = $cfg['control_packs'][$server['game']];
+    if($copy['pack'] != $server['pack'])
+    {
+        $aPack = $cfg['control_packs'][$server['game']];
 
-		sys::outjs(array('e' => 'Для восстановления необходимо установить сборку: '.$aPack[$copy['pack']].'.'), $nmch);
-	}
+        sys::outjs(array('e' => 'Для восстановления необходимо установить сборку: '.$aPack[$copy['pack']].'.'), $nmch);
+    }
 
-	$ssh->set('cd /servers/'.$server['uid'].' && screen -dmS rec_'.$server['uid'].' sh -c "'
-		.'cp /copy/'.$copy['name'].'.tar . && tar -xf '.$copy['name'].'.tar; rm '.$copy['name'].'.tar;'
-		.'find . -type d -exec chmod 700 {} \;;'
-		.'find . -type f -exec chmod 600 {} \;;'
-		.'chmod 500 '.params::$aFileGame[$server['game']].';'
-		.'chown -R servers'.$server['uid'].':servers ."');
+    $ssh->set('cd /servers/'.$server['uid'].' && screen -dmS rec_'.$server['uid'].' sh -c "'
+        .'cp /copy/'.$copy['name'].'.tar . && tar -xf '.$copy['name'].'.tar; rm '.$copy['name'].'.tar;'
+        .'find . -type d -exec chmod 700 {} \;;'
+        .'find . -type f -exec chmod 600 {} \;;'
+        .'chmod 500 '.params::$aFileGame[$server['game']].';'
+        .'chown -R servers'.$server['uid'].':servers ."');
 
-	// Установка плагинов (имитирование)
-	$aPlugin = explode(',', $copy['plugins']);
+    // Установка плагинов (имитирование)
+    $aPlugin = explode(',', $copy['plugins']);
 
-	foreach($aPlugin as $plugin)
-	{
-		if(!$plugin)
-			continue;
+    foreach($aPlugin as $plugin)
+    {
+        if(!$plugin)
+            continue;
 
-		$sql->query('SELECT `id` FROM `control_plugins_install` WHERE `plugin`="'.$plugin.'" AND `server`="'.$sid.'" LIMIT 1');
+        $sql->query('SELECT `id` FROM `control_plugins_install` WHERE `plugin`="'.$plugin.'" AND `server`="'.$sid.'" LIMIT 1');
 
-		if(!$sql->num())
-			$sql->query('INSERT INTO `control_plugins_install` set `server`="'.$sid.'", `plugin`="'.$plugin.'", `time`="'.$copy['date'].'"');
-	}
+        if(!$sql->num())
+            $sql->query('INSERT INTO `control_plugins_install` set `server`="'.$sid.'", `plugin`="'.$plugin.'", `time`="'.$copy['date'].'"');
+    }
 
-	// Очистка кеша
-	$mcache->delete('ctrl_server_plugins_'.$sid);
+    // Очистка кеша
+    $mcache->delete('ctrl_server_plugins_'.$sid);
 
-	$sql->query('UPDATE `control_servers` set `status`="recovery" WHERE `id`="'.$sid.'" LIMIT 1');
+    $sql->query('UPDATE `control_servers` set `status`="recovery" WHERE `id`="'.$sid.'" LIMIT 1');
 
-	sys::outjs(array('s' => 'ok'), $nmch);
+    sys::outjs(array('s' => 'ok'), $nmch);
 ?>

+ 13 - 13
system/sections/control/servers/games/copy/remove.php

@@ -1,24 +1,24 @@
 <?php
     if(!DEFINED('EGP'))
-		exit(header('Refresh: 0; URL=http://'.$_SERVER['SERVER_NAME'].'/404'));
+        exit(header('Refresh: 0; URL=http://'.$_SERVER['SERVER_NAME'].'/404'));
 
-	$cid = isset($url['cid']) ? sys::int($url['cid']) : sys::outjs(array('e' => 'Выбранная копия не найдена.'), $nmch);
+    $cid = isset($url['cid']) ? sys::int($url['cid']) : sys::outjs(array('e' => 'Выбранная копия не найдена.'), $nmch);
 
-	$sql->query('SELECT `name`, `status` FROM `control_copy` WHERE `id`="'.$cid.'" AND `user`="'.$ctrl['user'].'_'.$id.'" AND `game`="'.$server['game'].'" LIMIT 1');
-	if(!$sql->num())
-		sys::outjs(array('e' => 'Выбранная копия не найдена.'), $nmch);
+    $sql->query('SELECT `name`, `status` FROM `control_copy` WHERE `id`="'.$cid.'" AND `user`="'.$ctrl['user'].'_'.$id.'" AND `game`="'.$server['game'].'" LIMIT 1');
+    if(!$sql->num())
+        sys::outjs(array('e' => 'Выбранная копия не найдена.'), $nmch);
 
-	$copy = $sql->get();
+    $copy = $sql->get();
 
-	if(!$copy['status'])
-		sys::outjs(array('e' => 'Дождитесь создания резервной копии.'), $nmch);
+    if(!$copy['status'])
+        sys::outjs(array('e' => 'Дождитесь создания резервной копии.'), $nmch);
 
-	$ssh->set('screen -dmS rem_copy_'.$cid.' rm /copy/'.$copy['name'].'.tar');
+    $ssh->set('screen -dmS rem_copy_'.$cid.' rm /copy/'.$copy['name'].'.tar');
 
-	$sql->query('DELETE FROM `control_copy` WHERE `id`="'.$cid.'" LIMIT 1');
+    $sql->query('DELETE FROM `control_copy` WHERE `id`="'.$cid.'" LIMIT 1');
 
-	// Очистка кеша
-	$mcache->delete('ctrl_server_copy_'.$sid);
+    // Очистка кеша
+    $mcache->delete('ctrl_server_copy_'.$sid);
 
-	sys::outjs(array('s' => 'ok'), $nmch);
+    sys::outjs(array('s' => 'ok'), $nmch);
 ?>

+ 53 - 53
system/sections/control/servers/games/plugins/config.php

@@ -1,83 +1,83 @@
 <?php
     if(!DEFINED('EGP'))
-		exit(header('Refresh: 0; URL=http://'.$_SERVER['SERVER_NAME'].'/404'));
+        exit(header('Refresh: 0; URL=http://'.$_SERVER['SERVER_NAME'].'/404'));
 
-	$fid = isset($url['file']) ? sys::int($url['file']) : sys::back($cfg['http'].'servers/id/'.$id.'/section/plugins');
+    $fid = isset($url['file']) ? sys::int($url['file']) : sys::back($cfg['http'].'servers/id/'.$id.'/section/plugins');
 
-	$sql->query('SELECT `plugin`, `update`, `file` FROM `plugins_config` WHERE `id`="'.$fid.'" LIMIT 1');
+    $sql->query('SELECT `plugin`, `update`, `file` FROM `plugins_config` WHERE `id`="'.$fid.'" LIMIT 1');
 
-	if(!$sql->num())
-		sys::back($cfg['http'].'servers/id/'.$id.'/section/plugins');
+    if(!$sql->num())
+        sys::back($cfg['http'].'servers/id/'.$id.'/section/plugins');
 
-	$config = $sql->get();
+    $config = $sql->get();
 
-	$sql->query('SELECT `id` FROM `plugins_install` WHERE `server`="'.$id.'" AND `plugin`="'.$config['plugin'].'" LIMIT 1');
+    $sql->query('SELECT `id` FROM `plugins_install` WHERE `server`="'.$id.'" AND `plugin`="'.$config['plugin'].'" LIMIT 1');
 
-	if(!$sql->num())
-		sys::back($cfg['http'].'servers/id/'.$id.'/section/plugins');
+    if(!$sql->num())
+        sys::back($cfg['http'].'servers/id/'.$id.'/section/plugins');
 
-	// Если обновленный плагин
-	if($config['update'])
-		$sql->query('SELECT `name` FROM `plugins_update` WHERE `id`="'.$config['update'].'" LIMIT 1');
-	else
-		$sql->query('SELECT `name` FROM `plugins` WHERE `id`="'.$config['plugin'].'" LIMIT 1');
+    // Если обновленный плагин
+    if($config['update'])
+        $sql->query('SELECT `name` FROM `plugins_update` WHERE `id`="'.$config['update'].'" LIMIT 1');
+    else
+        $sql->query('SELECT `name` FROM `plugins` WHERE `id`="'.$config['plugin'].'" LIMIT 1');
 
-	$plugin = $sql->get();
+    $plugin = $sql->get();
 
-	$sql->query('SELECT `address`, `passwd` FROM `control` WHERE `id`="'.$server['unit'].'" LIMIT 1');
-	$unit = $sql->get();
+    $sql->query('SELECT `address`, `passwd` FROM `control` WHERE `id`="'.$server['unit'].'" LIMIT 1');
+    $unit = $sql->get();
 
-	if(!isset($ssh))
-		include(LIB.'ssh.php');
+    if(!isset($ssh))
+        include(LIB.'ssh.php');
 
-	if(!$ssh->auth($unit['passwd'], $unit['address']))
-	{
-		if($go)
-			sys::outjs(array('e' => sys::text('error', 'ssh')), $nmch);
+    if(!$ssh->auth($unit['passwd'], $unit['address']))
+    {
+        if($go)
+            sys::outjs(array('e' => sys::text('error', 'ssh')), $nmch);
 
-		sys::back($cfg['http'].'servers/id/'.$id.'/section/settings');
-	}
+        sys::back($cfg['http'].'servers/id/'.$id.'/section/settings');
+    }
 
-	$sql->query('SELECT `install` FROM `tarifs` WHERE `id`="'.$server['tarif'].'" LIMIT 1');
-	$tarif = $sql->get();
+    $sql->query('SELECT `install` FROM `tarifs` WHERE `id`="'.$server['tarif'].'" LIMIT 1');
+    $tarif = $sql->get();
 
-	// Данные файла
-	$file = explode('/', $config['file']);
+    // Данные файла
+    $file = explode('/', $config['file']);
 
-	// Полный путь файла
-	$path = $tarif['install'].$server['uid'].'/'.$config['file'];
+    // Полный путь файла
+    $path = $tarif['install'].$server['uid'].'/'.$config['file'];
 
-	// Сохранение
-	if($go)
-	{
-		$data = isset($_POST['data']) ? $_POST['data'] : '';
+    // Сохранение
+    if($go)
+    {
+        $data = isset($_POST['data']) ? $_POST['data'] : '';
 
-		$temp = sys::temp($data);
+        $temp = sys::temp($data);
 
-		// Отправление файла на сервер
-		$ssh->setfile($temp, $path, 0644);
+        // Отправление файла на сервер
+        $ssh->setfile($temp, $path, 0644);
 
-		// Смена владельца/группы файла
-		$ssh->set('chown server'.$server['uid'].':servers '.$path);
+        // Смена владельца/группы файла
+        $ssh->set('chown server'.$server['uid'].':servers '.$path);
 
-		unlink($temp);
+        unlink($temp);
 
-		sys::outjs(array('s' => 'ok'), $nmch);
-	}
+        sys::outjs(array('s' => 'ok'), $nmch);
+    }
 
-	$ssh->set('sudo -u server'.$server['uid'].' sh -c "touch '.$path.'; cat '.$path.'"');
+    $ssh->set('sudo -u server'.$server['uid'].' sh -c "touch '.$path.'; cat '.$path.'"');
 
-	$html->nav('Плагины', $cfg['http'].'servers/id/'.$id.'/section/plugins');
-	$html->nav($plugin['name'], $cfg['http'].'servers/id/'.$id.'/section/plugins/subsection/plugin/plugin/'.$config['plugin']);
+    $html->nav('Плагины', $cfg['http'].'servers/id/'.$id.'/section/plugins');
+    $html->nav($plugin['name'], $cfg['http'].'servers/id/'.$id.'/section/plugins/subsection/plugin/plugin/'.$config['plugin']);
 
-	$html->get('config', 'sections/servers/games/plugins');
+    $html->get('config', 'sections/servers/games/plugins');
 
-		$html->set('id', $id);
-		$html->set('file', $fid);
-		$html->set('plugin', $config['plugin']);
-		$html->set('name', end($file));
-		$html->set('data', htmlspecialchars($ssh->get()));
+        $html->set('id', $id);
+        $html->set('file', $fid);
+        $html->set('plugin', $config['plugin']);
+        $html->set('name', end($file));
+        $html->set('data', htmlspecialchars($ssh->get()));
 
-	$html->pack('main');
+    $html->pack('main');
 
 ?>

+ 60 - 60
system/sections/control/servers/games/plugins/delete.php

@@ -1,84 +1,84 @@
 <?php
     if(!DEFINED('EGP'))
-		exit(header('Refresh: 0; URL=http://'.$_SERVER['SERVER_NAME'].'/404'));
+        exit(header('Refresh: 0; URL=http://'.$_SERVER['SERVER_NAME'].'/404'));
 
-	if(!$go)
-		exit;
+    if(!$go)
+        exit;
 
-	$pid = isset($url['plugin']) ? sys::int($url['plugin']) : exit;
+    $pid = isset($url['plugin']) ? sys::int($url['plugin']) : exit;
 
-	// Проверка установки плагина
-	$sql->query('SELECT `id`, `upd` FROM `control_plugins_install` WHERE `server`="'.$sid.'" AND `plugin`="'.$pid.'" LIMIT 1');
-	if(!$sql->num())
-		sys::outjs(array('e' => 'Данный плагин не установлен'));
+    // Проверка установки плагина
+    $sql->query('SELECT `id`, `upd` FROM `control_plugins_install` WHERE `server`="'.$sid.'" AND `plugin`="'.$pid.'" LIMIT 1');
+    if(!$sql->num())
+        sys::outjs(array('e' => 'Данный плагин не установлен'));
 
-	$plugin = $sql->get();
+    $plugin = $sql->get();
 
-	$sql->query('SELECT `address`, `passwd` FROM `control` WHERE `id`="'.$id.'" LIMIT 1');
-	$unit = $sql->get();
+    $sql->query('SELECT `address`, `passwd` FROM `control` WHERE `id`="'.$id.'" LIMIT 1');
+    $unit = $sql->get();
 
-	if(!isset($ssh))
-		include(LIB.'ssh.php');
+    if(!isset($ssh))
+        include(LIB.'ssh.php');
 
-	if(!$ssh->auth($unit['passwd'], $unit['address']))
-		sys::outjs(array('e' => sys::text('error', 'ssh')), $nmch);
+    if(!$ssh->auth($unit['passwd'], $unit['address']))
+        sys::outjs(array('e' => sys::text('error', 'ssh')), $nmch);
 
-	// Директория игр. сервера
-	$dir = '/servers/'.$server['uid'].'/';
+    // Директория игр. сервера
+    $dir = '/servers/'.$server['uid'].'/';
 
-	// Имя исполняемого файла
-	if($plugin['upd'])
-	{
-		$qsql = 'WHERE `update`="'.$plugin['upd'].'" ORDER BY `id` ASC';
-		$frm = 'u'.$plugin['upd'];
-	}else{
-		$qsql = 'WHERE `plugin`="'.$pid.'" AND `update`="0" ORDER BY `id` ASC';
-		$frm = $pid;
-	}
+    // Имя исполняемого файла
+    if($plugin['upd'])
+    {
+        $qsql = 'WHERE `update`="'.$plugin['upd'].'" ORDER BY `id` ASC';
+        $frm = 'u'.$plugin['upd'];
+    }else{
+        $qsql = 'WHERE `plugin`="'.$pid.'" AND `update`="0" ORDER BY `id` ASC';
+        $frm = $pid;
+    }
 
-	// Удаление и установка файлов
-	$ssh->set('cd '.$dir.' && screen -dmS delete_upd_'.$start_point.' '
-		.'sudo -u server'.$server['uid'].' sh -c "'
-		.'wget --no-check-certificate '.$cfg['plugins'].'delete/'.$frm.'.rm && '
-		.'chmod 755 '.$frm.'.rm; ./'.$frm.'.rm; rm '.$frm.'.rm"');
+    // Удаление и установка файлов
+    $ssh->set('cd '.$dir.' && screen -dmS delete_upd_'.$start_point.' '
+        .'sudo -u server'.$server['uid'].' sh -c "'
+        .'wget --no-check-certificate '.$cfg['plugins'].'delete/'.$frm.'.rm && '
+        .'chmod 755 '.$frm.'.rm; ./'.$frm.'.rm; rm '.$frm.'.rm"');
 
-	include(LIB.'control/plugins.php');
+    include(LIB.'control/plugins.php');
 
-	// Удаление добавленного при установке текста в файлах
-	$sql->query('SELECT `text`, `file` FROM `plugins_write` '.$qsql);
-	while($clear = $sql->get())
-		plugins::clear($clear, $server['uid'], $dir);
+    // Удаление добавленного при установке текста в файлах
+    $sql->query('SELECT `text`, `file` FROM `plugins_write` '.$qsql);
+    while($clear = $sql->get())
+        plugins::clear($clear, $server['uid'], $dir);
 
-	unset($clear);
+    unset($clear);
 
-	// Добавление текста при удалении в файлы
-	$sql->query('SELECT `text`, `file`, `top` FROM `plugins_write_del` '.$qsql);
-	while($write = $sql->get())
-		plugins::write($write, $server['uid'], $dir);
+    // Добавление текста при удалении в файлы
+    $sql->query('SELECT `text`, `file`, `top` FROM `plugins_write_del` '.$qsql);
+    while($write = $sql->get())
+        plugins::write($write, $server['uid'], $dir);
 
-	// Удаление записи установленного плагина в базе
-	$sql->query('DELETE FROM `control_plugins_install` WHERE `server`="'.$sid.'" AND `plugin`="'.$pid.'"');
+    // Удаление записи установленного плагина в базе
+    $sql->query('DELETE FROM `control_plugins_install` WHERE `server`="'.$sid.'" AND `plugin`="'.$pid.'"');
 
-	// Очистка кеша
-	$mcache->delete('ctrl_server_plugins_'.$id);
+    // Очистка кеша
+    $mcache->delete('ctrl_server_plugins_'.$id);
 
-	if($plugin['upd'])
-		$sql->query('SELECT `install` FROM `plugins_delete_ins` WHERE `update`="'.$plugin['upd'].'" LIMIT 1');
-	else
-		$sql->query('SELECT `install` FROM `plugins_delete_ins` WHERE `plugin`="'.$pid.'" AND `update`="0" LIMIT 1');
+    if($plugin['upd'])
+        $sql->query('SELECT `install` FROM `plugins_delete_ins` WHERE `update`="'.$plugin['upd'].'" LIMIT 1');
+    else
+        $sql->query('SELECT `install` FROM `plugins_delete_ins` WHERE `plugin`="'.$pid.'" AND `update`="0" LIMIT 1');
 
-	if($sql->num())
-	{
-		$ins = $sql->get();
+    if($sql->num())
+    {
+        $ins = $sql->get();
 
-		$sql->query('SELECT `name` FROM `plugins` WHERE `id`="'.$ins['install'].'" LIMIT 1');
-		if($sql->num())
-		{
-			$plugin = $sql->get();
+        $sql->query('SELECT `name` FROM `plugins` WHERE `id`="'.$ins['install'].'" LIMIT 1');
+        if($sql->num())
+        {
+            $plugin = $sql->get();
 
-			sys::outjs(array('i' => $ins['install'], 'pname' => $plugin['name']), $nmch);
-		}
-	}
+            sys::outjs(array('i' => $ins['install'], 'pname' => $plugin['name']), $nmch);
+        }
+    }
 
-	sys::outjs(array('s' => 'ok'), $nmch);
+    sys::outjs(array('s' => 'ok'), $nmch);
 ?>

+ 130 - 130
system/sections/control/servers/games/plugins/install.php

@@ -1,133 +1,133 @@
 <?php
     if(!DEFINED('EGP'))
-		exit(header('Refresh: 0; URL=http://'.$_SERVER['SERVER_NAME'].'/404'));
-
-	if(!$go)
-		exit;
-
-	$pid = isset($url['plugin']) ? sys::int($url['plugin']) : exit;
-
-	$sql->query('SELECT `name`, `cfg`, `upd`, `incompatible`, `required`, `packs`, `price` FROM `plugins` WHERE `id`="'.$pid.'" AND `game`="'.$server['game'].'" LIMIT 1');
-
-	if(!$sql->num())
-		exit;
-
-	$plugin = $sql->get();
-
-	// Проверка установки плагина
-	$sql->query('SELECT `id` FROM `control_plugins_install` WHERE `server`="'.$sid.'" AND `plugin`="'.$pid.'" LIMIT 1');
-	if($sql->num())
-		sys::outjs(array('e' => 'Данный плагин уже установлен'));
-
-	$upd = false;
-
-	// Если есть более поздняя версия плагина
-	if($plugin['upd'])
-	{
-		$sql->query('SELECT `name`, `id`, `cfg`, `incompatible`, `required`, `packs`, `price` FROM `plugins_update` WHERE `plugin`="'.$pid.'" ORDER BY `id` DESC LIMIT 1');
-		if($sql->num())
-		{
-			$plugin = array_merge($plugin, $sql->get());
-
-			$upd = true;
-		}
-	}
-
-	$buy = false;
-
-	// Если платный плагин
-	if($plugin['price'])
-	{
-		// Проверка покупки
-		$sql->query('SELECT `id` FROM `control_plugins_buy` WHERE `plugin`="'.$pid.'" AND `server`="'.$sid.'" LIMIT 1');
-		if($sql->num())
-			$buy = true;
-		else{
-			// Проверка баланса
-			if($user['balance'] < $plugin['price'])
-				sys::outjs(array('e' => 'У вас не хватает '.(round($plugin['price']-$user['balance'], 2)).' '.$cfg['currency']), $name_mcache);
-		}
-	}
-
-	// Проверка на доступность плагина к установленной на сервере сборке
-	$packs = strpos($plugin['packs'], ':') ? explode(':',$plugin['packs']) : array($plugin['packs']);
-	if(!in_array($server['pack'], $packs) AND $plugin['packs'] != 'all')
-		exit;
-
-	include(LIB.'control/plugins.php');
-
-	// Проверка на наличие несовместимости с уже установленными плагинами
-	plugins::incompatible($sid, $plugin['incompatible'], $nmch);
-
-	// Проверка на наличие необходимых установленых плагинов для устанавливаемого дополнения
-	plugins::required($sid, $plugin['required'], $nmch);
-
-	$sql->query('SELECT `address`, `passwd` FROM `control` WHERE `id`="'.$id.'" LIMIT 1');
-	$unit = $sql->get();
-
-	if(!isset($ssh))
-		include(LIB.'ssh.php');
-
-	if(!$ssh->auth($unit['passwd'], $unit['address']))
-		sys::outjs(array('e' => sys::text('error', 'ssh')), $nmch);
-
-	if($upd)
-	{
-		$qsql = 'WHERE `update`="'.$plugin['id'].'" ORDER BY `id` ASC';
-		$fzip = 'u'.$plugin['id'];
-		$upd = $plugin['id'];
-	}else{
-		$qsql = 'WHERE `plugin`="'.$pid.'" AND `update`="0" ORDER BY `id` ASC';
-		$fzip = $pid;
-		$upd = 0;
-	}
-
-	// Директория игр. сервера
-	$dir = '/servers/'.$server['uid'].'/';
-
-	// Установка файлов на сервер
-	$ssh->set('cd '.$dir.' && screen -dmS install_'.$start_point.' sudo -u server'.$server['uid'].' sh -c "'
-		.'wget --no-check-certificate '.$cfg['plugins'].'install/'.$fzip.'.zip && unzip -o '.$fzip.'.zip; rm '.$fzip.'.zip;'
-		.'find . -type d -exec chmod 700 {} \;;'
-		.'find . -type f -exec chmod 600 {} \;;'
-		.'chmod 500 '.params::$aFileGame[$server['game']].'"');
-
-	// Удаление файлов
-	$sql->query('SELECT `file` FROM `plugins_delete` '.$qsql);
-	while($delete = $sql->get())
-		$ssh->set('sudo -u server'.$server['uid'].' rm '.$dir.$delete['file']);
-
-	// Удаление текста из файлов
-	$sql->query('SELECT `text`, `file`, `regex` FROM `plugins_clear` '.$qsql);
-	while($clear = $sql->get())
-		plugins::clear($clear, $server['uid'], $dir);
-
-	// Добавление текста в файлы
-	$sql->query('SELECT `text`, `file`, `top` FROM `plugins_write` '.$qsql);
-	while($write = $sql->get())
-		plugins::write($write, $server['uid'], $dir);
-
-	// Если платный плагин
-	if(!$buy AND $plugin['price'])
-	{
-		$sql->query('UPDATE `users` set `balance`=`balance`-"'.$plugin['price'].'" WHERE `id`="'.$user['id'].'" LIMIT 1');
-
-		$sql->query('INSERT INTO `control_plugins_buy` set `plugin`="'.$pid.'", `key`="'.md5(strip_tags($plugin['name'])).'", `server`="'.$sid.'", `price`="'.$plugin['price'].'", `time`="'.$start_point.'"');
-
-		// Запись логов
-		$sql->query('INSERT INTO `logs` set `user`="'.$user['id'].'", `text`="'.sys::updtext(sys::text('logs', 'ctrl_buy_plugin'),
-			array('plugin' => strip_tags($plugin['name']), 'money' => $plugin['price'], 'id' => $sid)).'", `date`="'.$start_point.'", `type`="buy", `money`="'.$plugin['price'].'"');
-	}
-
-	// Запись данных в базу
-	$sql->query('INSERT INTO `control_plugins_install` set `server`="'.$sid.'", `plugin`="'.$pid.'", `upd`="'.$upd.'", `time`="'.$start_point.'"');
-
-	// Очистка кеша
-	$mcache->delete('ctrl_server_plugins_'.$sid);
-
-	if($plugin['cfg'])
-		sys::outjs(array('s' => 'cfg'), $nmch);
-
-	sys::outjs(array('s' => 'ok'), $nmch);
-	
+        exit(header('Refresh: 0; URL=http://'.$_SERVER['SERVER_NAME'].'/404'));
+
+    if(!$go)
+        exit;
+
+    $pid = isset($url['plugin']) ? sys::int($url['plugin']) : exit;
+
+    $sql->query('SELECT `name`, `cfg`, `upd`, `incompatible`, `required`, `packs`, `price` FROM `plugins` WHERE `id`="'.$pid.'" AND `game`="'.$server['game'].'" LIMIT 1');
+
+    if(!$sql->num())
+        exit;
+
+    $plugin = $sql->get();
+
+    // Проверка установки плагина
+    $sql->query('SELECT `id` FROM `control_plugins_install` WHERE `server`="'.$sid.'" AND `plugin`="'.$pid.'" LIMIT 1');
+    if($sql->num())
+        sys::outjs(array('e' => 'Данный плагин уже установлен'));
+
+    $upd = false;
+
+    // Если есть более поздняя версия плагина
+    if($plugin['upd'])
+    {
+        $sql->query('SELECT `name`, `id`, `cfg`, `incompatible`, `required`, `packs`, `price` FROM `plugins_update` WHERE `plugin`="'.$pid.'" ORDER BY `id` DESC LIMIT 1');
+        if($sql->num())
+        {
+            $plugin = array_merge($plugin, $sql->get());
+
+            $upd = true;
+        }
+    }
+
+    $buy = false;
+
+    // Если платный плагин
+    if($plugin['price'])
+    {
+        // Проверка покупки
+        $sql->query('SELECT `id` FROM `control_plugins_buy` WHERE `plugin`="'.$pid.'" AND `server`="'.$sid.'" LIMIT 1');
+        if($sql->num())
+            $buy = true;
+        else{
+            // Проверка баланса
+            if($user['balance'] < $plugin['price'])
+                sys::outjs(array('e' => 'У вас не хватает '.(round($plugin['price']-$user['balance'], 2)).' '.$cfg['currency']), $name_mcache);
+        }
+    }
+
+    // Проверка на доступность плагина к установленной на сервере сборке
+    $packs = strpos($plugin['packs'], ':') ? explode(':',$plugin['packs']) : array($plugin['packs']);
+    if(!in_array($server['pack'], $packs) AND $plugin['packs'] != 'all')
+        exit;
+
+    include(LIB.'control/plugins.php');
+
+    // Проверка на наличие несовместимости с уже установленными плагинами
+    plugins::incompatible($sid, $plugin['incompatible'], $nmch);
+
+    // Проверка на наличие необходимых установленых плагинов для устанавливаемого дополнения
+    plugins::required($sid, $plugin['required'], $nmch);
+
+    $sql->query('SELECT `address`, `passwd` FROM `control` WHERE `id`="'.$id.'" LIMIT 1');
+    $unit = $sql->get();
+
+    if(!isset($ssh))
+        include(LIB.'ssh.php');
+
+    if(!$ssh->auth($unit['passwd'], $unit['address']))
+        sys::outjs(array('e' => sys::text('error', 'ssh')), $nmch);
+
+    if($upd)
+    {
+        $qsql = 'WHERE `update`="'.$plugin['id'].'" ORDER BY `id` ASC';
+        $fzip = 'u'.$plugin['id'];
+        $upd = $plugin['id'];
+    }else{
+        $qsql = 'WHERE `plugin`="'.$pid.'" AND `update`="0" ORDER BY `id` ASC';
+        $fzip = $pid;
+        $upd = 0;
+    }
+
+    // Директория игр. сервера
+    $dir = '/servers/'.$server['uid'].'/';
+
+    // Установка файлов на сервер
+    $ssh->set('cd '.$dir.' && screen -dmS install_'.$start_point.' sudo -u server'.$server['uid'].' sh -c "'
+        .'wget --no-check-certificate '.$cfg['plugins'].'install/'.$fzip.'.zip && unzip -o '.$fzip.'.zip; rm '.$fzip.'.zip;'
+        .'find . -type d -exec chmod 700 {} \;;'
+        .'find . -type f -exec chmod 600 {} \;;'
+        .'chmod 500 '.params::$aFileGame[$server['game']].'"');
+
+    // Удаление файлов
+    $sql->query('SELECT `file` FROM `plugins_delete` '.$qsql);
+    while($delete = $sql->get())
+        $ssh->set('sudo -u server'.$server['uid'].' rm '.$dir.$delete['file']);
+
+    // Удаление текста из файлов
+    $sql->query('SELECT `text`, `file`, `regex` FROM `plugins_clear` '.$qsql);
+    while($clear = $sql->get())
+        plugins::clear($clear, $server['uid'], $dir);
+
+    // Добавление текста в файлы
+    $sql->query('SELECT `text`, `file`, `top` FROM `plugins_write` '.$qsql);
+    while($write = $sql->get())
+        plugins::write($write, $server['uid'], $dir);
+
+    // Если платный плагин
+    if(!$buy AND $plugin['price'])
+    {
+        $sql->query('UPDATE `users` set `balance`=`balance`-"'.$plugin['price'].'" WHERE `id`="'.$user['id'].'" LIMIT 1');
+
+        $sql->query('INSERT INTO `control_plugins_buy` set `plugin`="'.$pid.'", `key`="'.md5(strip_tags($plugin['name'])).'", `server`="'.$sid.'", `price`="'.$plugin['price'].'", `time`="'.$start_point.'"');
+
+        // Запись логов
+        $sql->query('INSERT INTO `logs` set `user`="'.$user['id'].'", `text`="'.sys::updtext(sys::text('logs', 'ctrl_buy_plugin'),
+            array('plugin' => strip_tags($plugin['name']), 'money' => $plugin['price'], 'id' => $sid)).'", `date`="'.$start_point.'", `type`="buy", `money`="'.$plugin['price'].'"');
+    }
+
+    // Запись данных в базу
+    $sql->query('INSERT INTO `control_plugins_install` set `server`="'.$sid.'", `plugin`="'.$pid.'", `upd`="'.$upd.'", `time`="'.$start_point.'"');
+
+    // Очистка кеша
+    $mcache->delete('ctrl_server_plugins_'.$sid);
+
+    if($plugin['cfg'])
+        sys::outjs(array('s' => 'cfg'), $nmch);
+
+    sys::outjs(array('s' => 'ok'), $nmch);
+    
 ?>

+ 63 - 63
system/sections/control/servers/games/plugins/plugin.php

@@ -1,89 +1,89 @@
 <?php
     if(!DEFINED('EGP'))
-		exit(header('Refresh: 0; URL=http://'.$_SERVER['SERVER_NAME'].'/404'));
+        exit(header('Refresh: 0; URL=http://'.$_SERVER['SERVER_NAME'].'/404'));
 
-	$pid = isset($url['plugin']) ? sys::int($url['plugin']) : sys::back($cfg['http'].'control/id/'.$id.'/server/'.$sid.'/section/plugins');
+    $pid = isset($url['plugin']) ? sys::int($url['plugin']) : sys::back($cfg['http'].'control/id/'.$id.'/server/'.$sid.'/section/plugins');
 
-	$sql->query('SELECT `id`, `upd` FROM `control_plugins_install` WHERE `server`="'.$sid.'" AND `plugin`="'.$pid.'" LIMIT 1');
+    $sql->query('SELECT `id`, `upd` FROM `control_plugins_install` WHERE `server`="'.$sid.'" AND `plugin`="'.$pid.'" LIMIT 1');
 
-	if(!$sql->num())
-		sys::back($cfg['http'].'control/id/'.$id.'/server/'.$sid.'/section/plugins');
+    if(!$sql->num())
+        sys::back($cfg['http'].'control/id/'.$id.'/server/'.$sid.'/section/plugins');
 
-	$install = $sql->get();
+    $install = $sql->get();
 
-	// Если установленно обновление
-	if($install['upd'])
-		$sql->query('SELECT `name`, `info`, `images`, `upd` FROM `plugins_update` WHERE `id`="'.$install['upd'].'" LIMIT 1');
-	else
-		$sql->query('SELECT `name`, `info`, `images`, `upd` FROM `plugins` WHERE `id`="'.$pid.'" LIMIT 1');
+    // Если установленно обновление
+    if($install['upd'])
+        $sql->query('SELECT `name`, `info`, `images`, `upd` FROM `plugins_update` WHERE `id`="'.$install['upd'].'" LIMIT 1');
+    else
+        $sql->query('SELECT `name`, `info`, `images`, `upd` FROM `plugins` WHERE `id`="'.$pid.'" LIMIT 1');
 
-	if(!$sql->num())
-		sys::back($cfg['http'].'control/id/'.$id.'/server/'.$sid.'/section/plugins');
+    if(!$sql->num())
+        sys::back($cfg['http'].'control/id/'.$id.'/server/'.$sid.'/section/plugins');
 
-	$plugin = $sql->get();
+    $plugin = $sql->get();
 
-	$html->nav('Плагины', $cfg['http'].'control/id/'.$id.'/server/'.$sid.'/section/plugins');
-	$html->nav($plugin['name']);
+    $html->nav('Плагины', $cfg['http'].'control/id/'.$id.'/server/'.$sid.'/section/plugins');
+    $html->nav($plugin['name']);
 
-	// Если есть кеш
-	if($mcache->get('ctrl_server_plugin_'.$pid.$sid) != '')
-		$html->arr['main'] = $mcache->get('ctrl_server_plugin_'.$pid.$sid);
-	else{
-		include(LIB.'control/plugins.php');
+    // Если есть кеш
+    if($mcache->get('ctrl_server_plugin_'.$pid.$sid) != '')
+        $html->arr['main'] = $mcache->get('ctrl_server_plugin_'.$pid.$sid);
+    else{
+        include(LIB.'control/plugins.php');
 
-		// Построение списка редактируемых файлов
-		$aConf = array();
+        // Построение списка редактируемых файлов
+        $aConf = array();
 
-		$sql->query('SELECT `id`, `file` FROM `plugins_config` WHERE (`plugin`="'.$pid.'" AND `update`="0") OR (`plugin`="'.$pid.'" AND `update`="'.$install['upd'].'") ORDER BY `sort`, `id` ASC');
-		while($config = $sql->get())
-		{
-			// Исключить дублирование, путем проверки массива файлов
-			if(in_array($config['file'], $aConf))
-				continue;
+        $sql->query('SELECT `id`, `file` FROM `plugins_config` WHERE (`plugin`="'.$pid.'" AND `update`="0") OR (`plugin`="'.$pid.'" AND `update`="'.$install['upd'].'") ORDER BY `sort`, `id` ASC');
+        while($config = $sql->get())
+        {
+            // Исключить дублирование, путем проверки массива файлов
+            if(in_array($config['file'], $aConf))
+                continue;
 
-			$aConf[] = $config['file'];
+            $aConf[] = $config['file'];
 
-			// Данные файла
-			$file = explode('/', $config['file']);
+            // Данные файла
+            $file = explode('/', $config['file']);
 
-			$html->get('config_list', 'sections/control/servers/games/plugins');
+            $html->get('config_list', 'sections/control/servers/games/plugins');
 
-				$html->set('id', $id);
-				$html->set('server', $sid);
-				$html->set('fid', $config['id']);
-				$html->set('name', end($file));
-				$html->set('file', $config['file']);
+                $html->set('id', $id);
+                $html->set('server', $sid);
+                $html->set('fid', $config['id']);
+                $html->set('name', end($file));
+                $html->set('file', $config['file']);
 
-			$html->pack('configs');
-		}
+            $html->pack('configs');
+        }
 
-		$images = plugins::images($plugin['images'], $pid);
+        $images = plugins::images($plugin['images'], $pid);
 
-		$html->get('configs', 'sections/control/servers/games/plugins');
+        $html->get('configs', 'sections/control/servers/games/plugins');
 
-			$html->set('id', $id);
-			$html->set('server', $sid);
-			$html->set('name', $plugin['name']);
-			$html->set('info', htmlspecialchars_decode($plugin['info']));
+            $html->set('id', $id);
+            $html->set('server', $sid);
+            $html->set('name', $plugin['name']);
+            $html->set('info', htmlspecialchars_decode($plugin['info']));
 
-			// Картинки
-			if(!empty($images))
-			{
-				$html->unit('images', 1);
-				$html->set('images', $images);
-			}else
-				$html->unit('images');
+            // Картинки
+            if(!empty($images))
+            {
+                $html->unit('images', 1);
+                $html->set('images', $images);
+            }else
+                $html->unit('images');
 
-			// Редактируемые файлы
-			if(isset($html->arr['configs']))
-			{
-				$html->set('configs', $html->arr['configs']);
-				$html->unit('configs', 1);
-			}else
-				$html->unit('configs');
+            // Редактируемые файлы
+            if(isset($html->arr['configs']))
+            {
+                $html->set('configs', $html->arr['configs']);
+                $html->unit('configs', 1);
+            }else
+                $html->unit('configs');
 
-		$html->pack('main');
+        $html->pack('main');
 
-		$mcache->set('ctrl_server_plugin_'.$pid.$sid, $html->arr['main'], false, 60);
-	}
+        $mcache->set('ctrl_server_plugin_'.$pid.$sid, $html->arr['main'], false, 60);
+    }
 ?>

+ 198 - 198
system/sections/control/servers/games/plugins/search.php

@@ -1,201 +1,201 @@
 <?php
     if(!DEFINED('EGP'))
-		exit(header('Refresh: 0; URL=http://'.$_SERVER['SERVER_NAME'].'/404'));
-
-	if(!isset($nmch))
-		$nmch = false;
-
-	$text = isset($_POST['text']) ? $_POST['text'] : sys::outjs(array('none' => ''));
-
-	$mkey = md5($sid.$text.$id);
-
-	if($mcache->get($mkey) != '')
-		sys::outjs(array('s' => $mcache->get($mkey)));
-
-	if(!isset($text{2}))
-		sys::outjs(array('s' => 'Для выполнения поиска, необходимо больше данных', $nmch));
-
-	$sPlugins = array();
-	$sUpdate = array();
-
-	// Поиск по плагинам
-	$plugins = $sql->query('SELECT `id`, `packs` FROM `plugins` WHERE `game`="'.$server['game'].'" AND `name` LIKE FROM_BASE64(\''.base64_encode('%'.$text.'%').'\') OR `desc` LIKE FROM_BASE64(\''.base64_encode('%'.$text.'%').'\') LIMIT 5');
-
-	// Поиск по обновлениям
-	$update = false;
-
-	if(!$sql->num($plugins))
-	{
-		$plugins = $sql->query('SELECT `id`, `plugin`, `packs` FROM `plugins_update` WHERE `game`="'.$server['game'].'" AND (`name` LIKE FROM_BASE64(\''.base64_encode('%'.$text.'%').'\') OR `desc` LIKE FROM_BASE64(\''.base64_encode('%'.$text.'%').'\')) AND `upd`="0" LIMIT 5');
-		$update = true;
-	}
-
-	// Если нет ниодного совпадения по вводимому тексту
-	if(!$sql->num($plugins))
-	{
-		// Поиск по словам
-		if(strpos($text, ' '))
-		{
-			// Массив слов
-			$aText = explode(' ', $text);
-
-			// Метка, которая изменится в процессе, если будет найдено хоть одно совпадение
-			$sWord = false;
-
-			foreach($aText as $word)
-			{
-				if($word == '' || !isset($word{2}))
-					continue;
-
-				// Поиск по плагинам
-				$plugins = $sql->query('SELECT `id`, `packs` FROM `plugins` WHERE `name` LIKE FROM_BASE64(\''.base64_encode('%'.$word.'%').'\') OR `desc` LIKE FROM_BASE64(\''.base64_encode('%'.$word.'%').'\') LIMIT 5');
-
-				// Поиск по обновлениям
-				$update = false;
-
-				if(!$sql->num($plugins))
-				{
-					$plugins = $sql->query('SELECT `id`, `plugin`, `packs` FROM `plugins_update` WHERE (`name` LIKE FROM_BASE64(\''.base64_encode('%'.$word.'%').'\') OR `desc` LIKE FROM_BASE64(\''.base64_encode('%'.$word.'%').'\')) AND `upd`="0" LIMIT 5');
-					$update = true;
-				}
-				
-				if($sql->num($plugins))
-				{
-					if(!$sWord) $sWord = true;
-
-					$sPlugins[] = $plugins;
-					$sUpdate[] = $update;
-				}
-			}
-
-			// Если нет ниодного совпадения
-			if(!$sWord)
-			{
-				$mcache->set($mkey, 'По вашему запросу ничего не найдено', false, 15);
-
-				sys::outjs(array('s' => 'По вашему запросу ничего не найдено'));
-			}
-		}else{
-			$mcache->set($mkey, 'По вашему запросу ничего не найдено', false, 15);
-
-			sys::outjs(array('s' => 'По вашему запросу ничего не найдено'));
-		}
-	}else{
-		$sPlugins[] = $plugins;
-		$sUpdate[] = $update;
-	}
-
-	// Массив для исклуючения дублирования
-	$aPlugins = array();
-	
-	foreach($sPlugins as $index => $plugins)
-	{
-		while($plugin = $sql->get($plugins))
-		{
-			// Проверка дублирования
-			if(($sUpdate[$index] AND in_array($plugin['plugin'], $aPlugins)) || !$sUpdate[$index] AND in_array($plugin['id'], $aPlugins))
-				continue;
-
-			// Проверка на доступность плагина к установленной на сервере сборке
-			$packs = strpos($plugin['packs'], ':') ? explode(':', $plugin['packs']) : array($plugin['packs']);
-			if(!in_array($server['pack'], $packs) AND $plugin['packs'] != 'all')
-				continue;
-
-			$install = false; // не установлен плагин
-			$upd = false; // не обновлен плагин
-
-			if($sUpdate[$index])
-			{
-				$sql->query('SELECT `id`, `upd`, `time` FROM `control_plugins_install` WHERE `server`="'.$sid.'" AND `plugin`="'.$plugin['plugin'].'" LIMIT 1');
-
-				$aPlugins[] = $plugin['plugin'];
-			}else{
-				$sql->query('SELECT `id`, `upd`, `time` FROM `control_plugins_install` WHERE `server`="'.$sid.'" AND `plugin`="'.$plugin['id'].'" LIMIT 1');
-
-				$aPlugins[] = $plugin['id'];
-			}
-
-			// Проверка на установку
-			if($sql->num())
-			{
-				$install = $sql->get();
-
-				$upd = $install['upd'];
-				$time = sys::today($install['time']);
-
-				$install = true;
-			}
-
-			// Если установлен обновленный плагин
-			if($upd)
-				$sql->query('SELECT `name`, `desc`, `status`, `cfg`, `upd` FROM `plugins_update` WHERE `id`="'.$upd.'" LIMIT 1');
-			else
-				$sql->query('SELECT `name`, `desc`, `status`, `cfg`, `upd` FROM `plugins` WHERE `id`="'.$plugin['id'].'" LIMIT 1');
-
-			$plugin = array_merge($plugin, $sql->get());
-
-			$html->get('search', 'sections/control/servers/games/plugins');
-
-				// Если установлен
-				if($install)
-				{
-					// Если есть обновление
-					if($plugin['upd'] > $upd) $html->unit('update', 1); else $html->unit('update');
-
-					// Если есть редактируемые файлы
-					if($plugin['cfg']) $html->unit('config', 1); else $html->unit('config');
-
-					$html->unit('install', 1);
-					$html->unit('!install');
-				}else{
-					// Обновление данных на более позднею версию плагина
-					$sql->query('SELECT `name`, `desc`, `status`, `cfg` FROM `plugins_update` WHERE `plugin`="'.$plugin['id'].'" AND `upd`="0" LIMIT 1');
-					if($sql->num())
-					{
-						$upd = $sql->get();
-
-						$plugin['name'] = $upd['name'];
-						$plugin['desc'] = $upd['desc'];
-						$plugin['status'] = $upd['status'];
-						$plugin['cfg'] = $upd['cfg'];
-					}
-
-					$html->unit('install');
-					$html->unit('!install', 1);
-				}
-
-				if(!$plugin['status'])
-				{
-					$html->unit('unstable');
-					$html->unit('stable', 1);
-					$html->unit('testing');
-				}elseif($plugin['status'] == 2){
-					$html->unit('unstable');
-					$html->unit('stable');
-					$html->unit('testing', 1);
-				}else{
-					$html->unit('unstable', 1);
-					$html->unit('stable');
-					$html->unit('testing');
-				}
-
-				$html->set('id', $id);
-				$html->set('server', $sid);
-				$html->set('plugin', $plugin['id']);
-
-				if($install)
-					$html->set('time', $time);
-
-				$html->set('name', sys::find(htmlspecialchars_decode($plugin['name']), $text));
-				$html->set('desc', sys::find(htmlspecialchars_decode($plugin['desc']), $text));
-
-			$html->pack('plugins');
-		}
-	}
-
-	$html->arr['plugins'] = isset($html->arr['plugins']) ? $html->arr['plugins'] : '';
-
-	$mcache->set($mkey, $html->arr['plugins'], false, 15);
-
-	sys::outjs(array('s' => $html->arr['plugins']), $nmch);
+        exit(header('Refresh: 0; URL=http://'.$_SERVER['SERVER_NAME'].'/404'));
+
+    if(!isset($nmch))
+        $nmch = false;
+
+    $text = isset($_POST['text']) ? $_POST['text'] : sys::outjs(array('none' => ''));
+
+    $mkey = md5($sid.$text.$id);
+
+    if($mcache->get($mkey) != '')
+        sys::outjs(array('s' => $mcache->get($mkey)));
+
+    if(!isset($text[2]))
+        sys::outjs(array('s' => 'Для выполнения поиска, необходимо больше данных', $nmch));
+
+    $sPlugins = array();
+    $sUpdate = array();
+
+    // Поиск по плагинам
+    $plugins = $sql->query('SELECT `id`, `packs` FROM `plugins` WHERE `game`="'.$server['game'].'" AND `name` LIKE FROM_BASE64(\''.base64_encode('%'.$text.'%').'\') OR `desc` LIKE FROM_BASE64(\''.base64_encode('%'.$text.'%').'\') LIMIT 5');
+
+    // Поиск по обновлениям
+    $update = false;
+
+    if(!$sql->num($plugins))
+    {
+        $plugins = $sql->query('SELECT `id`, `plugin`, `packs` FROM `plugins_update` WHERE `game`="'.$server['game'].'" AND (`name` LIKE FROM_BASE64(\''.base64_encode('%'.$text.'%').'\') OR `desc` LIKE FROM_BASE64(\''.base64_encode('%'.$text.'%').'\')) AND `upd`="0" LIMIT 5');
+        $update = true;
+    }
+
+    // Если нет ниодного совпадения по вводимому тексту
+    if(!$sql->num($plugins))
+    {
+        // Поиск по словам
+        if(strpos($text, ' '))
+        {
+            // Массив слов
+            $aText = explode(' ', $text);
+
+            // Метка, которая изменится в процессе, если будет найдено хоть одно совпадение
+            $sWord = false;
+
+            foreach($aText as $word)
+            {
+                if($word == '' || !isset($word[2]))
+                    continue;
+
+                // Поиск по плагинам
+                $plugins = $sql->query('SELECT `id`, `packs` FROM `plugins` WHERE `name` LIKE FROM_BASE64(\''.base64_encode('%'.$word.'%').'\') OR `desc` LIKE FROM_BASE64(\''.base64_encode('%'.$word.'%').'\') LIMIT 5');
+
+                // Поиск по обновлениям
+                $update = false;
+
+                if(!$sql->num($plugins))
+                {
+                    $plugins = $sql->query('SELECT `id`, `plugin`, `packs` FROM `plugins_update` WHERE (`name` LIKE FROM_BASE64(\''.base64_encode('%'.$word.'%').'\') OR `desc` LIKE FROM_BASE64(\''.base64_encode('%'.$word.'%').'\')) AND `upd`="0" LIMIT 5');
+                    $update = true;
+                }
+                
+                if($sql->num($plugins))
+                {
+                    if(!$sWord) $sWord = true;
+
+                    $sPlugins[] = $plugins;
+                    $sUpdate[] = $update;
+                }
+            }
+
+            // Если нет ниодного совпадения
+            if(!$sWord)
+            {
+                $mcache->set($mkey, 'По вашему запросу ничего не найдено', false, 15);
+
+                sys::outjs(array('s' => 'По вашему запросу ничего не найдено'));
+            }
+        }else{
+            $mcache->set($mkey, 'По вашему запросу ничего не найдено', false, 15);
+
+            sys::outjs(array('s' => 'По вашему запросу ничего не найдено'));
+        }
+    }else{
+        $sPlugins[] = $plugins;
+        $sUpdate[] = $update;
+    }
+
+    // Массив для исклуючения дублирования
+    $aPlugins = array();
+    
+    foreach($sPlugins as $index => $plugins)
+    {
+        while($plugin = $sql->get($plugins))
+        {
+            // Проверка дублирования
+            if(($sUpdate[$index] AND in_array($plugin['plugin'], $aPlugins)) || !$sUpdate[$index] AND in_array($plugin['id'], $aPlugins))
+                continue;
+
+            // Проверка на доступность плагина к установленной на сервере сборке
+            $packs = strpos($plugin['packs'], ':') ? explode(':', $plugin['packs']) : array($plugin['packs']);
+            if(!in_array($server['pack'], $packs) AND $plugin['packs'] != 'all')
+                continue;
+
+            $install = false; // не установлен плагин
+            $upd = false; // не обновлен плагин
+
+            if($sUpdate[$index])
+            {
+                $sql->query('SELECT `id`, `upd`, `time` FROM `control_plugins_install` WHERE `server`="'.$sid.'" AND `plugin`="'.$plugin['plugin'].'" LIMIT 1');
+
+                $aPlugins[] = $plugin['plugin'];
+            }else{
+                $sql->query('SELECT `id`, `upd`, `time` FROM `control_plugins_install` WHERE `server`="'.$sid.'" AND `plugin`="'.$plugin['id'].'" LIMIT 1');
+
+                $aPlugins[] = $plugin['id'];
+            }
+
+            // Проверка на установку
+            if($sql->num())
+            {
+                $install = $sql->get();
+
+                $upd = $install['upd'];
+                $time = sys::today($install['time']);
+
+                $install = true;
+            }
+
+            // Если установлен обновленный плагин
+            if($upd)
+                $sql->query('SELECT `name`, `desc`, `status`, `cfg`, `upd` FROM `plugins_update` WHERE `id`="'.$upd.'" LIMIT 1');
+            else
+                $sql->query('SELECT `name`, `desc`, `status`, `cfg`, `upd` FROM `plugins` WHERE `id`="'.$plugin['id'].'" LIMIT 1');
+
+            $plugin = array_merge($plugin, $sql->get());
+
+            $html->get('search', 'sections/control/servers/games/plugins');
+
+                // Если установлен
+                if($install)
+                {
+                    // Если есть обновление
+                    if($plugin['upd'] > $upd) $html->unit('update', 1); else $html->unit('update');
+
+                    // Если есть редактируемые файлы
+                    if($plugin['cfg']) $html->unit('config', 1); else $html->unit('config');
+
+                    $html->unit('install', 1);
+                    $html->unit('!install');
+                }else{
+                    // Обновление данных на более позднею версию плагина
+                    $sql->query('SELECT `name`, `desc`, `status`, `cfg` FROM `plugins_update` WHERE `plugin`="'.$plugin['id'].'" AND `upd`="0" LIMIT 1');
+                    if($sql->num())
+                    {
+                        $upd = $sql->get();
+
+                        $plugin['name'] = $upd['name'];
+                        $plugin['desc'] = $upd['desc'];
+                        $plugin['status'] = $upd['status'];
+                        $plugin['cfg'] = $upd['cfg'];
+                    }
+
+                    $html->unit('install');
+                    $html->unit('!install', 1);
+                }
+
+                if(!$plugin['status'])
+                {
+                    $html->unit('unstable');
+                    $html->unit('stable', 1);
+                    $html->unit('testing');
+                }elseif($plugin['status'] == 2){
+                    $html->unit('unstable');
+                    $html->unit('stable');
+                    $html->unit('testing', 1);
+                }else{
+                    $html->unit('unstable', 1);
+                    $html->unit('stable');
+                    $html->unit('testing');
+                }
+
+                $html->set('id', $id);
+                $html->set('server', $sid);
+                $html->set('plugin', $plugin['id']);
+
+                if($install)
+                    $html->set('time', $time);
+
+                $html->set('name', sys::find(htmlspecialchars_decode($plugin['name']), $text));
+                $html->set('desc', sys::find(htmlspecialchars_decode($plugin['desc']), $text));
+
+            $html->pack('plugins');
+        }
+    }
+
+    $html->arr['plugins'] = isset($html->arr['plugins']) ? $html->arr['plugins'] : '';
+
+    $mcache->set($mkey, $html->arr['plugins'], false, 15);
+
+    sys::outjs(array('s' => $html->arr['plugins']), $nmch);
 ?>

+ 56 - 56
system/sections/control/servers/games/plugins/update.php

@@ -1,85 +1,85 @@
 <?php
     if(!DEFINED('EGP'))
-		exit(header('Refresh: 0; URL=http://'.$_SERVER['SERVER_NAME'].'/404'));
+        exit(header('Refresh: 0; URL=http://'.$_SERVER['SERVER_NAME'].'/404'));
 
-	if(!$go)
-		exit();
+    if(!$go)
+        exit();
 
-	$pid = isset($url['plugin']) ? sys::int($url['plugin']) : exit;
+    $pid = isset($url['plugin']) ? sys::int($url['plugin']) : exit;
 
-	$sql->query('SELECT `id` FROM `plugins_update` WHERE `plugin`="'.$pid.'" ORDER BY `id` DESC LIMIT 1');
+    $sql->query('SELECT `id` FROM `plugins_update` WHERE `plugin`="'.$pid.'" ORDER BY `id` DESC LIMIT 1');
 
-	if(!$sql->num())
-		exit();
+    if(!$sql->num())
+        exit();
 
-	$plugin = $sql->get();
+    $plugin = $sql->get();
 
-	// Проверка установки плагина
-	$sql->query('SELECT `id` FROM `control_plugins_install` WHERE `server`="'.$sid.'" AND `plugin`="'.$pid.'" LIMIT 1');
-	if(!$sql->num())
-		exit();
+    // Проверка установки плагина
+    $sql->query('SELECT `id` FROM `control_plugins_install` WHERE `server`="'.$sid.'" AND `plugin`="'.$pid.'" LIMIT 1');
+    if(!$sql->num())
+        exit();
 
-	// Проверка установки обновления плагина
-	$sql->query('SELECT `id` FROM `control_plugins_install` WHERE `server`="'.$sid.'" AND `plugin`="'.$pid.'" AND `upd`="'.$plugin['id'].'" LIMIT 1');
-	if($sql->num())
-		sys::outjs(array('e' => 'Данный плагин уже обновлен'));
+    // Проверка установки обновления плагина
+    $sql->query('SELECT `id` FROM `control_plugins_install` WHERE `server`="'.$sid.'" AND `plugin`="'.$pid.'" AND `upd`="'.$plugin['id'].'" LIMIT 1');
+    if($sql->num())
+        sys::outjs(array('e' => 'Данный плагин уже обновлен'));
 
-	// Данные обновления
-	$sql->query('SELECT `id`, `cfg`, `incompatible`, `required` FROM `plugins_update` WHERE `id`="'.$plugin['id'].'" LIMIT 1');
+    // Данные обновления
+    $sql->query('SELECT `id`, `cfg`, `incompatible`, `required` FROM `plugins_update` WHERE `id`="'.$plugin['id'].'" LIMIT 1');
 
-	$plugin = $sql->get();
+    $plugin = $sql->get();
 
-	include(LIB.'control/plugins.php');
+    include(LIB.'control/plugins.php');
 
-	// Проверка на наличие несовместимости с уже установленными плагинами
-	plugins::incompatible($sid, $plugin['incompatible'], $nmch);
+    // Проверка на наличие несовместимости с уже установленными плагинами
+    plugins::incompatible($sid, $plugin['incompatible'], $nmch);
 
-	// Проверка на наличие необходимых установленых плагинов для устанавливаемого плагина
-	plugins::required($sid, $plugin['required'], $nmch);
+    // Проверка на наличие необходимых установленых плагинов для устанавливаемого плагина
+    plugins::required($sid, $plugin['required'], $nmch);
 
-	$sql->query('SELECT `address`, `passwd` FROM `control` WHERE `id`="'.$id.'" LIMIT 1');
-	$unit = $sql->get();
+    $sql->query('SELECT `address`, `passwd` FROM `control` WHERE `id`="'.$id.'" LIMIT 1');
+    $unit = $sql->get();
 
-	if(!isset($ssh))
-		include(LIB.'ssh.php');
+    if(!isset($ssh))
+        include(LIB.'ssh.php');
 
-	if(!$ssh->auth($unit['passwd'], $unit['address']))
-		sys::outjs(array('e' => sys::text('error', 'ssh')), $nmch);
+    if(!$ssh->auth($unit['passwd'], $unit['address']))
+        sys::outjs(array('e' => sys::text('error', 'ssh')), $nmch);
 
-	// Директория игр. сервера
-	$dir = '/servers/'.$server['uid'].'/';
+    // Директория игр. сервера
+    $dir = '/servers/'.$server['uid'].'/';
 
-	// Установка файлов на сервер
-	$ssh->set('cd '.$dir.' && screen -dmS update_'.$start_point.' sudo -u server'.$server['uid'].' sh -c "wget --no-check-certificate '.$cfg['plugins'].'update/'.$plugin['id'].'.zip && unzip -o '.$plugin['id'].'.zip; rm '.$plugin['id'].'.zip"');
+    // Установка файлов на сервер
+    $ssh->set('cd '.$dir.' && screen -dmS update_'.$start_point.' sudo -u server'.$server['uid'].' sh -c "wget --no-check-certificate '.$cfg['plugins'].'update/'.$plugin['id'].'.zip && unzip -o '.$plugin['id'].'.zip; rm '.$plugin['id'].'.zip"');
 
-	// Удаление файлов
-	$sql->query('SELECT `file` FROM `plugins_delete` WHERE `update`="'.$plugin['id'].'"');
-	while($delete = $sql->get())
-		$ssh->set('sudo -u server'.$server['uid'].' rm '.$dir.$delete['file']);
+    // Удаление файлов
+    $sql->query('SELECT `file` FROM `plugins_delete` WHERE `update`="'.$plugin['id'].'"');
+    while($delete = $sql->get())
+        $ssh->set('sudo -u server'.$server['uid'].' rm '.$dir.$delete['file']);
 
-	unset($delete);
+    unset($delete);
 
-	// Удаление текста из файлов
-	$sql->query('SELECT `text`, `file`, `regex` FROM `plugins_clear` WHERE `update`="'.$plugin['id'].'"');
-	while($clear = $sql->get())
-		plugins::clear($clear, $server['uid'], $dir);
+    // Удаление текста из файлов
+    $sql->query('SELECT `text`, `file`, `regex` FROM `plugins_clear` WHERE `update`="'.$plugin['id'].'"');
+    while($clear = $sql->get())
+        plugins::clear($clear, $server['uid'], $dir);
 
-	unset($clear);
+    unset($clear);
 
-	// Добавление текста в файлы
-	$sql->query('SELECT `text`, `file`, `top` FROM `plugins_write` WHERE `update`="'.$plugin['id'].'" ORDER BY `id` ASC');
-	while($write = $sql->get())
-		plugins::write($write, $server['uid'], $dir);
+    // Добавление текста в файлы
+    $sql->query('SELECT `text`, `file`, `top` FROM `plugins_write` WHERE `update`="'.$plugin['id'].'" ORDER BY `id` ASC');
+    while($write = $sql->get())
+        plugins::write($write, $server['uid'], $dir);
 
-	// Обновление данных в базе
-	$sql->query('UPDATE `control_plugins_install` set `upd`="'.$plugin['id'].'", `time`="'.$start_point.'" WHERE `server`="'.$sid.'" AND `plugin`="'.$pid.'" LIMIT 1');
+    // Обновление данных в базе
+    $sql->query('UPDATE `control_plugins_install` set `upd`="'.$plugin['id'].'", `time`="'.$start_point.'" WHERE `server`="'.$sid.'" AND `plugin`="'.$pid.'" LIMIT 1');
 
-	// Очистка кеша
-	$mcache->delete('server_plugins_'.$id);
+    // Очистка кеша
+    $mcache->delete('server_plugins_'.$id);
 
-	if($plugin['cfg'])
-		sys::outjs(array('s' => 'cfg'), $nmch);
+    if($plugin['cfg'])
+        sys::outjs(array('s' => 'cfg'), $nmch);
 
-	sys::outjs(array('s' => 'ok'), $nmch);
-	
+    sys::outjs(array('s' => 'ok'), $nmch);
+    
 ?>

+ 75 - 75
system/sections/control/servers/games/settings/crontab.php

@@ -1,109 +1,109 @@
 <?php
     if(!DEFINED('EGP'))
-		exit(header('Refresh: 0; URL=http://'.$_SERVER['SERVER_NAME'].'/404'));
+        exit(header('Refresh: 0; URL=http://'.$_SERVER['SERVER_NAME'].'/404'));
 
     $html->nav('Планировщик задач');
 
-	if($go)
-	{
-		$sql->query('SELECT `address`, `passwd` FROM `panel` LIMIT 1');
-		$panel = $sql->get();
+    if($go)
+    {
+        $sql->query('SELECT `address`, `passwd` FROM `panel` LIMIT 1');
+        $panel = $sql->get();
 
-		include(LIB.'ssh.php');
+        include(LIB.'ssh.php');
 
-		if(!$ssh->auth($panel['passwd'], $panel['address']))
-			sys::outjs(array('e' => sys::text('error', 'ssh')), $nmch);
+        if(!$ssh->auth($panel['passwd'], $panel['address']))
+            sys::outjs(array('e' => sys::text('error', 'ssh')), $nmch);
 
-		// Удаление задания
-		if(isset($url['action']) AND $url['action'] == 'delete')
-		{
-			$task = isset($_POST['task']) ? sys::int($_POST['task']) : sys::outjs(array('s' => 'ok'), $nmch);
+        // Удаление задания
+        if(isset($url['action']) AND $url['action'] == 'delete')
+        {
+            $task = isset($_POST['task']) ? sys::int($_POST['task']) : sys::outjs(array('s' => 'ok'), $nmch);
 
-			$sql->query('SELECT `cron` FROM `control_crontab` WHERE `id`="'.$task.'" AND `server`="'.$sid.'" LIMIT 1');
-			if(!$sql->num())
-				$sys->outjs(array('s' => 'ok'), $nmch);
+            $sql->query('SELECT `cron` FROM `control_crontab` WHERE `id`="'.$task.'" AND `server`="'.$sid.'" LIMIT 1');
+            if(!$sql->num())
+                $sys->outjs(array('s' => 'ok'), $nmch);
 
-			$cron = $sql->get();
+            $cron = $sql->get();
 
-			$ssh->set('touch /etc/crontab; cat /etc/crontab');
-			$crontab = str_replace($cron['cron'], '', $ssh->get());
+            $ssh->set('touch /etc/crontab; cat /etc/crontab');
+            $crontab = str_replace($cron['cron'], '', $ssh->get());
 
-			// Временный файл
-			$temp = sys::temp($crontab);
+            // Временный файл
+            $temp = sys::temp($crontab);
 
-			$ssh->setfile($temp, '/etc/crontab', 0644);
+            $ssh->setfile($temp, '/etc/crontab', 0644);
 
-			$ssh->set("sed -i '/^$/d' /etc/crontab;"
-					.'crontab -u root /etc/crontab');
+            $ssh->set("sed -i '/^$/d' /etc/crontab;"
+                    .'crontab -u root /etc/crontab');
 
-			unlink($temp);
+            unlink($temp);
 
-			$sql->query('DELETE FROM `control_crontab` WHERE `id`="'.$task.'" LIMIT 1');
+            $sql->query('DELETE FROM `control_crontab` WHERE `id`="'.$task.'" LIMIT 1');
 
-			sys::outjs(array('s' => 'ok'), $nmch);
-		}
+            sys::outjs(array('s' => 'ok'), $nmch);
+        }
 
-		// Добавление задания
-		$sql->query('SELECT `id` FROM `control_crontab` WHERE `server`="'.$sid.'" LIMIT 5');
-		if($sql->num() == $cfg['crontabs'])
-			sys::outjs(array('e' => sys::text('servers', 'crontab')), $nmch);
+        // Добавление задания
+        $sql->query('SELECT `id` FROM `control_crontab` WHERE `server`="'.$sid.'" LIMIT 5');
+        if($sql->num() == $cfg['crontabs'])
+            sys::outjs(array('e' => sys::text('servers', 'crontab')), $nmch);
 
-		$data = array();
+        $data = array();
 
-		$data['task'] = isset($_POST['task']) ? $_POST['task'] : 'start';
+        $data['task'] = isset($_POST['task']) ? $_POST['task'] : 'start';
 
-		$task = in_array($server['game'], array('samp', 'crmp')) ? array('start', 'restart', 'stop') : array('start', 'restart', 'stop', 'console');
+        $task = in_array($server['game'], array('samp', 'crmp')) ? array('start', 'restart', 'stop') : array('start', 'restart', 'stop', 'console');
 
-		if(!in_array($data['task'], $task))
-			$data['task'] = 'start';
+        if(!in_array($data['task'], $task))
+            $data['task'] = 'start';
 
-		$data['commands'] = isset($_POST['commands']) ? base64_encode(htmlspecialchars($_POST['commands'])) : '';
-		$data['allhour'] = isset($_POST['allhour']) ? true : false;
-		$data['hour'] = isset($_POST['hour']) ? $_POST['hour'] : '00';
-		$data['minute'] = isset($_POST['minute']) ? $_POST['minute'] : '00';
-		$data['week'] = (isset($_POST['week']) AND is_array($_POST['week'])) ? $_POST['week'] : array();
+        $data['commands'] = isset($_POST['commands']) ? base64_encode(htmlspecialchars($_POST['commands'])) : '';
+        $data['allhour'] = isset($_POST['allhour']) ? true : false;
+        $data['hour'] = isset($_POST['hour']) ? $_POST['hour'] : '00';
+        $data['minute'] = isset($_POST['minute']) ? $_POST['minute'] : '00';
+        $data['week'] = (isset($_POST['week']) AND is_array($_POST['week'])) ? $_POST['week'] : array();
 
-		$sql->query('INSERT INTO `control_crontab` set `server`="'.$sid.'"');
-		$cid = $sql->id();
+        $sql->query('INSERT INTO `control_crontab` set `server`="'.$sid.'"');
+        $cid = $sql->id();
 
-		include(LIB.'games/games.php');
+        include(LIB.'games/games.php');
 
-		$cron_rule = ctrl::crontab($sid, $cid, $data);
+        $cron_rule = ctrl::crontab($sid, $cid, $data);
 
-		$ssh->set('echo "'.$cron_rule.'" >> /etc/crontab;'
-				."sed -i '/^$/d' /etc/crontab;"
-				.'crontab -u root /etc/crontab');
+        $ssh->set('echo "'.$cron_rule.'" >> /etc/crontab;'
+                ."sed -i '/^$/d' /etc/crontab;"
+                .'crontab -u root /etc/crontab');
 
-		$time = games::crontab_time($data['allhour'], $data['hour'], $data['minute']);
-		$week = games::crontab_week($data['week']);
+        $time = games::crontab_time($data['allhour'], $data['hour'], $data['minute']);
+        $week = games::crontab_week($data['week']);
 
-		$sql->query('UPDATE `control_crontab` set `server`="'.$sid.'", `task`="'.$data['task'].'", `cron`="'.$cron_rule.'", `week`="'.$week.'", `time`="'.$time.'", `commands`="'.$data['commands'].'" WHERE `id`="'.$cid.'" LIMIT 1');
+        $sql->query('UPDATE `control_crontab` set `server`="'.$sid.'", `task`="'.$data['task'].'", `cron`="'.$cron_rule.'", `week`="'.$week.'", `time`="'.$time.'", `commands`="'.$data['commands'].'" WHERE `id`="'.$cid.'" LIMIT 1');
 
-		sys::outjs(array('s' => 'ok'), $nmch);
-	}
+        sys::outjs(array('s' => 'ok'), $nmch);
+    }
 
-	$aTask = array(
-		'start' => 'Включение сервера',
-		'stop' => 'Выключение сервера',
-		'restart' => 'Перезагрузка сервера',
-		'console' => 'Отправка команд на сервер'
-	);
+    $aTask = array(
+        'start' => 'Включение сервера',
+        'stop' => 'Выключение сервера',
+        'restart' => 'Перезагрузка сервера',
+        'console' => 'Отправка команд на сервер'
+    );
 
-	$sql->query('SELECT `id`, `task`, `week`, `time` FROM `control_crontab` WHERE `server`="'.$sid.'" ORDER BY `id` ASC');
-	while($crontab = $sql->get())
-	{
-		$html->get('crontab_list', 'sections/control/servers/games/settings');
-			$html->set('id', $crontab['id']);
-			$html->set('task', $aTask[$crontab['task']]);
-			$html->set('week', $crontab['week']);
-			$html->set('time', $crontab['time']);
-		$html->pack('crontab');
-	}
+    $sql->query('SELECT `id`, `task`, `week`, `time` FROM `control_crontab` WHERE `server`="'.$sid.'" ORDER BY `id` ASC');
+    while($crontab = $sql->get())
+    {
+        $html->get('crontab_list', 'sections/control/servers/games/settings');
+            $html->set('id', $crontab['id']);
+            $html->set('task', $aTask[$crontab['task']]);
+            $html->set('week', $crontab['week']);
+            $html->set('time', $crontab['time']);
+        $html->pack('crontab');
+    }
 
-	$html->get('crontab', 'sections/control/servers/'.$server['game'].'/settings');
-		$html->set('id', $id);
-		$html->set('server', $sid);
-		$html->set('time', date('H:i:s', $start_point));
-		$html->set('crontab', isset($html->arr['crontab']) ? $html->arr['crontab'] : '');
-	$html->pack('main');
+    $html->get('crontab', 'sections/control/servers/'.$server['game'].'/settings');
+        $html->set('id', $id);
+        $html->set('server', $sid);
+        $html->set('time', date('H:i:s', $start_point));
+        $html->set('crontab', isset($html->arr['crontab']) ? $html->arr['crontab'] : '');
+    $html->pack('main');
 ?>

+ 36 - 36
system/sections/control/servers/games/settings/file.php

@@ -1,59 +1,59 @@
 <?php
     if(!DEFINED('EGP'))
-		exit(header('Refresh: 0; URL=http://'.$_SERVER['SERVER_NAME'].'/404'));
+        exit(header('Refresh: 0; URL=http://'.$_SERVER['SERVER_NAME'].'/404'));
 
-	// Редактируемый файл
-	$file = isset($url['file']) ? $url['file'] : sys::back($cfg['http'].'control/id/'.$id.'/server/'.$sid.'/section/settings');
+    // Редактируемый файл
+    $file = isset($url['file']) ? $url['file'] : sys::back($cfg['http'].'control/id/'.$id.'/server/'.$sid.'/section/settings');
 
-	include(DATA.'filedits.php');
+    include(DATA.'filedits.php');
 
-	// Проверка наличия в конфиге
-	if(!in_array($file, $aEdits[$server['game']]['all']['files']))
-		sys::back($cfg['http'].'control/id/'.$id.'/server/'.$sid.'/section/settings');
+    // Проверка наличия в конфиге
+    if(!in_array($file, $aEdits[$server['game']]['all']['files']))
+        sys::back($cfg['http'].'control/id/'.$id.'/server/'.$sid.'/section/settings');
 
     $html->nav('Редактирование файла: '.$file);
 
-	$sql->query('SELECT `address`, `passwd` FROM `control` WHERE `id`="'.$id.'" LIMIT 1');
-	$unit = $sql->get();
+    $sql->query('SELECT `address`, `passwd` FROM `control` WHERE `id`="'.$id.'" LIMIT 1');
+    $unit = $sql->get();
 
-	include(LIB.'ssh.php');
+    include(LIB.'ssh.php');
 
-	if(!$ssh->auth($unit['passwd'], $unit['address']))
-	{
-		if($go)
-			sys::outjs(array('e' => sys::text('error', 'ssh')), $nmch);
+    if(!$ssh->auth($unit['passwd'], $unit['address']))
+    {
+        if($go)
+            sys::outjs(array('e' => sys::text('error', 'ssh')), $nmch);
 
-		sys::back($cfg['http'].'control/id/'.$id.'/server/'.$sid.'/section/settings');
-	}
+        sys::back($cfg['http'].'control/id/'.$id.'/server/'.$sid.'/section/settings');
+    }
 
-	// Полный путь файла
-	$path = '/servers/'.$server['uid'].'/'.$aEdits[$server['game']]['all']['path'][$file].$file;
+    // Полный путь файла
+    $path = '/servers/'.$server['uid'].'/'.$aEdits[$server['game']]['all']['path'][$file].$file;
 
-	if($go)
-	{
-		$data = isset($_POST['data']) ? $_POST['data'] : '';
+    if($go)
+    {
+        $data = isset($_POST['data']) ? $_POST['data'] : '';
 
-		$temp = sys::temp($data);
+        $temp = sys::temp($data);
 
-		// Отправление файла на сервер
-		$ssh->setfile($temp, $path, 0644);
+        // Отправление файла на сервер
+        $ssh->setfile($temp, $path, 0644);
 
-		// Смена владельца/группы файла
-		$ssh->set('chown server'.$server['uid'].':servers '.$path);
+        // Смена владельца/группы файла
+        $ssh->set('chown server'.$server['uid'].':servers '.$path);
 
-		unlink($temp);
+        unlink($temp);
 
-		sys::outjs(array('s' => 'ok'), $nmch);
-	}
+        sys::outjs(array('s' => 'ok'), $nmch);
+    }
 
-	$ssh->set('sudo -u server'.$server['uid'].' sh -c "touch '.$path.'; cat '.$path.'"');
+    $ssh->set('sudo -u server'.$server['uid'].' sh -c "touch '.$path.'; cat '.$path.'"');
 
-	$html->get('file', 'sections/control/servers/games/settings');
+    $html->get('file', 'sections/control/servers/games/settings');
 
-		$html->set('id', $id);
-		$html->set('server', $sid);
-		$html->set('file', $file);
-		$html->set('data', htmlspecialchars($ssh->get()));
+        $html->set('id', $id);
+        $html->set('server', $sid);
+        $html->set('file', $file);
+        $html->set('data', htmlspecialchars($ssh->get()));
 
-	$html->pack('main');
+    $html->pack('main');
 ?>

+ 28 - 28
system/sections/control/servers/games/settings/firewall.php

@@ -1,39 +1,39 @@
 <?php
     if(!DEFINED('EGP'))
-		exit(header('Refresh: 0; URL=http://'.$_SERVER['SERVER_NAME'].'/404'));
+        exit(header('Refresh: 0; URL=http://'.$_SERVER['SERVER_NAME'].'/404'));
 
     $html->nav('Блокировка на оборудовании');
 
-	if(isset($url['action']))
-	{
-		include(LIB.'games/games.php');
+    if(isset($url['action']))
+    {
+        include(LIB.'games/games.php');
 
-		// Получение информации адреса
-		if($url['action'] == 'info')
-			games::iptables_whois($nmch);
+        // Получение информации адреса
+        if($url['action'] == 'info')
+            games::iptables_whois($nmch);
 
-		// Добавление / удаление правил
-		if($go && in_array($url['action'], array('block', 'unblock')))
-		{
-			$address = isset($_POST['address']) ? trim($_POST['address']) : sys::outjs(array('e' => sys::text('servers', 'firewall')), $nmch);
-			$snw = isset($_POST['subnetwork']) ? true : false;
+        // Добавление / удаление правил
+        if($go && in_array($url['action'], array('block', 'unblock')))
+        {
+            $address = isset($_POST['address']) ? trim($_POST['address']) : sys::outjs(array('e' => sys::text('servers', 'firewall')), $nmch);
+            $snw = isset($_POST['subnetwork']) ? true : false;
 
-			sys::outjs(ctrl::iptables($sid, $url['action'], $address, explode(':', $server['address']), $id, $snw), $nmch);
-		}
-	}
+            sys::outjs(ctrl::iptables($sid, $url['action'], $address, explode(':', $server['address']), $id, $snw), $nmch);
+        }
+    }
 
-	$sql->query('SELECT `id`, `sip` FROM `control_firewall` WHERE `server`="'.$sid.'" ORDER BY `id` ASC');
-	while($firewall = $sql->get())
-	{
-		$html->get('list', 'sections/control/servers/games/settings/firewall');
-			$html->set('id', $firewall['id']);
-			$html->set('address', $firewall['sip']);
-		$html->pack('firewall');
-	}
+    $sql->query('SELECT `id`, `sip` FROM `control_firewall` WHERE `server`="'.$sid.'" ORDER BY `id` ASC');
+    while($firewall = $sql->get())
+    {
+        $html->get('list', 'sections/control/servers/games/settings/firewall');
+            $html->set('id', $firewall['id']);
+            $html->set('address', $firewall['sip']);
+        $html->pack('firewall');
+    }
 
-	$html->get('firewall', 'sections/control/servers/games/settings');
-		$html->set('id', $id);
-		$html->set('server', $sid);
-		$html->set('firewall', isset($html->arr['firewall']) ? $html->arr['firewall'] : '');
-	$html->pack('main');
+    $html->get('firewall', 'sections/control/servers/games/settings');
+        $html->set('id', $id);
+        $html->set('server', $sid);
+        $html->set('firewall', isset($html->arr['firewall']) ? $html->arr['firewall'] : '');
+    $html->pack('main');
 ?>

+ 10 - 10
system/sections/control/servers/games/settings/pack.php

@@ -1,19 +1,19 @@
 <?php
     if(!DEFINED('EGP'))
-		exit(header('Refresh: 0; URL=http://'.$_SERVER['SERVER_NAME'].'/404'));
+        exit(header('Refresh: 0; URL=http://'.$_SERVER['SERVER_NAME'].'/404'));
 
-	$aPacks = $cfg['control_packs'][$server['game']];
+    $aPacks = $cfg['control_packs'][$server['game']];
 
-	$pack = isset($url['pack']) ? $url['pack'] : exit;
+    $pack = isset($url['pack']) ? $url['pack'] : exit;
 
-	if($pack == $server['pack'])
-		sys::outjs(array('s' => 'ok'));
+    if($pack == $server['pack'])
+        sys::outjs(array('s' => 'ok'));
 
-	// Проверка сборки
-	if(!array_key_exists($pack, $aPacks))
-		sys::outjs(array('e' => 'Сборка не найдена.'));
+    // Проверка сборки
+    if(!array_key_exists($pack, $aPacks))
+        sys::outjs(array('e' => 'Сборка не найдена.'));
 
-	$sql->query('UPDATE `control_servers` set `pack`="'.$pack.'" WHERE `id`="'.$sid.'" LIMIT 1');
+    $sql->query('UPDATE `control_servers` set `pack`="'.$pack.'" WHERE `id`="'.$sid.'" LIMIT 1');
 
-	sys::outjs(array('s' => 'ok'), 'ctrl_server_settings_'.$sid);
+    sys::outjs(array('s' => 'ok'), 'ctrl_server_settings_'.$sid);
 ?>

+ 67 - 67
system/sections/control/servers/games/settings/startlogs.php

@@ -1,93 +1,93 @@
 <?php
     if(!DEFINED('EGP'))
-		exit(header('Refresh: 0; URL=http://'.$_SERVER['SERVER_NAME'].'/404'));
+        exit(header('Refresh: 0; URL=http://'.$_SERVER['SERVER_NAME'].'/404'));
 
     $html->nav('Снимки консоли');
 
-	$sql->query('SELECT `ftp`, `ftp_root`, `ftp_passwd` FROM `servers` WHERE `id`="'.$sid.'" LIMIT 1');
-	$server = array_merge($server, $sql->get());
+    $sql->query('SELECT `ftp`, `ftp_root`, `ftp_passwd` FROM `servers` WHERE `id`="'.$sid.'" LIMIT 1');
+    $server = array_merge($server, $sql->get());
 
-	$sql->query('SELECT `address`, `passwd` FROM `control` WHERE `id`="'.$id.'" LIMIT 1');
-	$unit = $sql->get();
+    $sql->query('SELECT `address`, `passwd` FROM `control` WHERE `id`="'.$id.'" LIMIT 1');
+    $unit = $sql->get();
 
-	include(LIB.'ssh.php');
+    include(LIB.'ssh.php');
 
-	if(!$ssh->auth($unit['passwd'], $unit['address']))
-		sys::back($cfg['http'].'control/id/'.$id.'/server/'.$sid.'/section/settings');
+    if(!$ssh->auth($unit['passwd'], $unit['address']))
+        sys::back($cfg['http'].'control/id/'.$id.'/server/'.$sid.'/section/settings');
 
-	// Путь к логам
-	$folder = '/servers/'.$server['uid'].'/'.$aSLdir[$server['game']];
+    // Путь к логам
+    $folder = '/servers/'.$server['uid'].'/'.$aSLdir[$server['game']];
 
-	// Если выбран лог
-	if(isset($url['log']))
-	{
-		if(sys::valid($url['log'], 'other', $aValid['startlogs']))
-			sys::back($cfg['http'].'control/id/'.$id.'/server/'.$sid.'/section/settings/subsection/startlogs');
+    // Если выбран лог
+    if(isset($url['log']))
+    {
+        if(sys::valid($url['log'], 'other', $aValid['startlogs']))
+            sys::back($cfg['http'].'control/id/'.$id.'/server/'.$sid.'/section/settings/subsection/startlogs');
 
-		$ssh->set('sudo -u server'.$server['uid'].' cat '.$folder.'/'.$url['log']);
+        $ssh->set('sudo -u server'.$server['uid'].' cat '.$folder.'/'.$url['log']);
 
-		$html->get('view', 'sections/control/servers/games/settings/logs');
-				$html->set('id', $id);
-				$html->set('server', $sid);
-				$html->set('name', $url['log']);
-				$html->set('log', htmlspecialchars($ssh->get(), NULL, ''));
-				$html->set('uri', 'startlogs');
-		$html->pack('main');
-	}else{
-		if(isset($url['delall']))
-		{
-			$ssh->set('cd '.$folder.' && rm *.log');
+        $html->get('view', 'sections/control/servers/games/settings/logs');
+                $html->set('id', $id);
+                $html->set('server', $sid);
+                $html->set('name', $url['log']);
+                $html->set('log', htmlspecialchars($ssh->get(), NULL, ''));
+                $html->set('uri', 'startlogs');
+        $html->pack('main');
+    }else{
+        if(isset($url['delall']))
+        {
+            $ssh->set('cd '.$folder.' && rm *.log');
 
-			sys::back($cfg['http'].'control/id/'.$id.'/server/'.$sid.'/section/settings/subsection/startlogs');
-		}
+            sys::back($cfg['http'].'control/id/'.$id.'/server/'.$sid.'/section/settings/subsection/startlogs');
+        }
 
-		$ssh->set('cd '.$folder.' && du -ab --time | grep -e .log$ | awk \'{print $2" "$3"@"$1"@"$4}\' | sort -Mr');
+        $ssh->set('cd '.$folder.' && du -ab --time | grep -e .log$ | awk \'{print $2" "$3"@"$1"@"$4}\' | sort -Mr');
 
-		// Массив данных
-		$aData = explode("\n", $ssh->get());
+        // Массив данных
+        $aData = explode("\n", $ssh->get());
 
-		if(isset($aData[count($aData)-1]))
-			unset($aData[count($aData)-1]);
+        if(isset($aData[count($aData)-1]))
+            unset($aData[count($aData)-1]);
 
-		// Построение списка
-		foreach($aData as $line => $log)
-		{
-			$aLog = explode('@', $log);
+        // Построение списка
+        foreach($aData as $line => $log)
+        {
+            $aLog = explode('@', $log);
 
-			// Название
-			$name = explode('/', $aLog[2]);
+            // Название
+            $name = explode('/', $aLog[2]);
 
-			if(count($name) > 2)
-				continue;
+            if(count($name) > 2)
+                continue;
 
-			// Дата
-			$date = sys::unidate($aLog[0]);
+            // Дата
+            $date = sys::unidate($aLog[0]);
 
-			// Вес
-			$size = sys::size($aLog[1]);
+            // Вес
+            $size = sys::size($aLog[1]);
 
-			$html->get('list', 'sections/control/servers/games/settings/startlogs');
-				$html->set('id', $id);
-				$html->set('server', $sid);
-				$html->set('name', end($name));
-				$html->set('date', $date);
-				$html->set('size', $size);
+            $html->get('list', 'sections/control/servers/games/settings/startlogs');
+                $html->set('id', $id);
+                $html->set('server', $sid);
+                $html->set('name', end($name));
+                $html->set('date', $date);
+                $html->set('size', $size);
 
-				if($server['ftp'])
-				{
-					$html->unit('download', true, true);
+                if($server['ftp'])
+                {
+                    $html->unit('download', true, true);
 
-					$html->set('url', 'ftp://'.$server['uid'].':'.$server['ftp_passwd'].'@'.sys::first(explode(':', $unit['address'])).'/'.$aSLdir[$server['game']].'/'.end($name));
-				}else
-					$html->unit('download', false, true);
-			$html->pack('logs');
-		}
+                    $html->set('url', 'ftp://'.$server['uid'].':'.$server['ftp_passwd'].'@'.sys::first(explode(':', $unit['address'])).'/'.$aSLdir[$server['game']].'/'.end($name));
+                }else
+                    $html->unit('download', false, true);
+            $html->pack('logs');
+        }
 
-		$html->get('startlogs', 'sections/control/servers/games/settings');
-			$html->set('id', $id);
-			$html->set('server', $sid);
-			$html->set('uri', 'start');
-			$html->set('logs', isset($html->arr['logs']) ? $html->arr['logs'] : '');
-		$html->pack('main');
-	}
+        $html->get('startlogs', 'sections/control/servers/games/settings');
+            $html->set('id', $id);
+            $html->set('server', $sid);
+            $html->set('uri', 'start');
+            $html->set('logs', isset($html->arr['logs']) ? $html->arr['logs'] : '');
+        $html->pack('main');
+    }
 ?>

+ 5 - 5
system/sections/control/servers/index.php

@@ -1,11 +1,11 @@
 <?php
     if(!DEFINED('EGP'))
-		exit(header('Refresh: 0; URL=http://'.$_SERVER['SERVER_NAME'].'/404'));
+        exit(header('Refresh: 0; URL=http://'.$_SERVER['SERVER_NAME'].'/404'));
 
-	$sql->query('SELECT `address`, `game`, `status` FROM `control_servers` WHERE `id`="'.$sid.'" LIMIT 1');
-	$server = $sql->get();
+    $sql->query('SELECT `address`, `game`, `status` FROM `control_servers` WHERE `id`="'.$sid.'" LIMIT 1');
+    $server = $sql->get();
 
-	ctrl::nav($server, $id, $sid, 'index');
+    ctrl::nav($server, $id, $sid, 'index');
 
-	include(SEC.'control/servers/'.$server['game'].'/index.php');
+    include(SEC.'control/servers/'.$server['game'].'/index.php');
 ?>

+ 11 - 11
system/sections/control/servers/noaccess.php

@@ -1,17 +1,17 @@
 <?php
     if(!DEFINED('EGP'))
-		exit(header('Refresh: 0; URL=http://'.$_SERVER['SERVER_NAME'].'/404'));
+        exit(header('Refresh: 0; URL=http://'.$_SERVER['SERVER_NAME'].'/404'));
 
-	$html->nav('Раздел недоступен');
+    $html->nav('Раздел недоступен');
 
-	$status = array(
-		'install' => 'установки',
-		'reinstall' => 'переустановки',
-		'update' => 'обновления',
-		'recovery' => 'восстановления'
-	);
+    $status = array(
+        'install' => 'установки',
+        'reinstall' => 'переустановки',
+        'update' => 'обновления',
+        'recovery' => 'восстановления'
+    );
 
-	$html->get('noaccess');
-		$html->set('status', $status[$server['status']]);
-	$html->pack('main');
+    $html->get('noaccess');
+        $html->set('status', $status[$server['status']]);
+    $html->pack('main');
 ?>

+ 5 - 5
system/sections/control/servers/plugins.php

@@ -1,11 +1,11 @@
 <?php
     if(!DEFINED('EGP'))
-		exit(header('Refresh: 0; URL=http://'.$_SERVER['SERVER_NAME'].'/404'));
+        exit(header('Refresh: 0; URL=http://'.$_SERVER['SERVER_NAME'].'/404'));
 
-	$sql->query('SELECT `uid`, `address`, `game`, `status` FROM `control_servers` WHERE `id`="'.$sid.'" LIMIT 1');
-	$server = $sql->get();
+    $sql->query('SELECT `uid`, `address`, `game`, `status` FROM `control_servers` WHERE `id`="'.$sid.'" LIMIT 1');
+    $server = $sql->get();
 
-	ctrl::nav($server, $id, $sid, 'plugins');
+    ctrl::nav($server, $id, $sid, 'plugins');
 
-	include(ctrl::route($server, 'plugins', $go));
+    include(ctrl::route($server, 'plugins', $go));
 ?>

+ 5 - 5
system/sections/control/servers/rcon.php

@@ -1,11 +1,11 @@
 <?php
     if(!DEFINED('EGP'))
-		exit(header('Refresh: 0; URL=http://'.$_SERVER['SERVER_NAME'].'/404'));
+        exit(header('Refresh: 0; URL=http://'.$_SERVER['SERVER_NAME'].'/404'));
 
-	$sql->query('SELECT `uid`, `unit`, `address`, `game`, `status` FROM `control_servers` WHERE `id`="'.$sid.'" LIMIT 1');
-	$server = $sql->get();
+    $sql->query('SELECT `uid`, `unit`, `address`, `game`, `status` FROM `control_servers` WHERE `id`="'.$sid.'" LIMIT 1');
+    $server = $sql->get();
 
-	ctrl::nav($server, $id, $sid, 'rcon');
+    ctrl::nav($server, $id, $sid, 'rcon');
 
-	include(ctrl::route($server, 'rcon', $go));
+    include(ctrl::route($server, 'rcon', $go));
 ?>

+ 17 - 17
system/sections/control/servers/scan.php

@@ -1,27 +1,27 @@
 <?php
     if(!DEFINED('EGP'))
-		exit(header('Refresh: 0; URL=http://'.$_SERVER['SERVER_NAME'].'/404'));
+        exit(header('Refresh: 0; URL=http://'.$_SERVER['SERVER_NAME'].'/404'));
 
-	$sql->query('SELECT `game` FROM `control_servers` WHERE `id`="'.$sid.'" LIMIT 1');
-	$server = $sql->get();
+    $sql->query('SELECT `game` FROM `control_servers` WHERE `id`="'.$sid.'" LIMIT 1');
+    $server = $sql->get();
 
-	include(LIB.'control/'.$server['game'].'/scan.php');
+    include(LIB.'control/'.$server['game'].'/scan.php');
 
-	// Запрошена информация (статус, онлайн, название)
-	if(isset($url['mon']))
-		sys::outjs(scan::mon($sid));
+    // Запрошена информация (статус, онлайн, название)
+    if(isset($url['mon']))
+        sys::outjs(scan::mon($sid));
 
-	// Запрошена информация (статус, онлайн, название, игроки)
-	if(isset($url['fmon']))
-		sys::outjs(scan::mon($sid, true));
+    // Запрошена информация (статус, онлайн, название, игроки)
+    if(isset($url['fmon']))
+        sys::outjs(scan::mon($sid, true));
 
-	// Запрошена информация (cpu, ram, hdd)
-	if(isset($url['resources']))
-		sys::outjs(scan::resources($sid));
+    // Запрошена информация (cpu, ram, hdd)
+    if(isset($url['resources']))
+        sys::outjs(scan::resources($sid));
 
-	// Запрошена информация (работает, меняется карта, переустанавливается)
-	if(isset($url['status']))
-		sys::outjs(scan::status($sid));
+    // Запрошена информация (работает, меняется карта, переустанавливается)
+    if(isset($url['status']))
+        sys::outjs(scan::status($sid));
 
-	exit;
+    exit;
 ?>

+ 5 - 5
system/sections/control/servers/settings.php

@@ -1,11 +1,11 @@
 <?php
     if(!DEFINED('EGP'))
-		exit(header('Refresh: 0; URL=http://'.$_SERVER['SERVER_NAME'].'/404'));
+        exit(header('Refresh: 0; URL=http://'.$_SERVER['SERVER_NAME'].'/404'));
 
-	$sql->query('SELECT `address`, `game`, `status`, `pack` FROM `control_servers` WHERE `id`="'.$sid.'" LIMIT 1');
-	$server = $sql->get();
+    $sql->query('SELECT `address`, `game`, `status`, `pack` FROM `control_servers` WHERE `id`="'.$sid.'" LIMIT 1');
+    $server = $sql->get();
 
-	ctrl::nav($server, $id, $sid, 'settings');
+    ctrl::nav($server, $id, $sid, 'settings');
 
-	include(ctrl::route($server, 'settings', $go));
+    include(ctrl::route($server, 'settings', $go));
 ?>

+ 38 - 38
system/sections/control/settings.php

@@ -1,56 +1,56 @@
 <?php
     if(!DEFINED('EGP'))
-		exit(header('Refresh: 0; URL=http://'.$_SERVER['SERVER_NAME'].'/404'));
+        exit(header('Refresh: 0; URL=http://'.$_SERVER['SERVER_NAME'].'/404'));
 
-	$html->nav('Список подключенных серверов', $cfg['http'].'control');
+    $html->nav('Список подключенных серверов', $cfg['http'].'control');
 
-	if(in_array($ctrl['status'], array('install', 'overdue', 'blocked')))
-		include(SEC.'control/noaccess.php');
-	else{
-		$sql->query('SELECT `address`, `passwd`, `fcpu`, `ram`, `hdd` FROM `control` WHERE `id`="'.$id.'" LIMIT 1');
-		$ctrl = $sql->get();
+    if(in_array($ctrl['status'], array('install', 'overdue', 'blocked')))
+        include(SEC.'control/noaccess.php');
+    else{
+        $sql->query('SELECT `address`, `passwd`, `fcpu`, `ram`, `hdd` FROM `control` WHERE `id`="'.$id.'" LIMIT 1');
+        $ctrl = $sql->get();
 
-		if($go)
-		{
-			$aData = array();
+        if($go)
+        {
+            $aData = array();
 
-			$aData['passwd'] = isset($_POST['passwd']) ? trim($_POST['passwd']) : $ctrl['passwd'];
-			$aData['fcpu'] = isset($_POST['fcpu']) ? sys::int($_POST['fcpu']) : $ctrl['fcpu'];
-			$aData['ram'] = isset($_POST['ram']) ? sys::int($_POST['ram']) : $ctrl['ram'];
-			$aData['hdd'] = isset($_POST['hdd']) ? sys::int($_POST['hdd']) : $ctrl['hdd'];
+            $aData['passwd'] = isset($_POST['passwd']) ? trim($_POST['passwd']) : $ctrl['passwd'];
+            $aData['fcpu'] = isset($_POST['fcpu']) ? sys::int($_POST['fcpu']) : $ctrl['fcpu'];
+            $aData['ram'] = isset($_POST['ram']) ? sys::int($_POST['ram']) : $ctrl['ram'];
+            $aData['hdd'] = isset($_POST['hdd']) ? sys::int($_POST['hdd']) : $ctrl['hdd'];
 
-			include(LIB.'ssh.php');
+            include(LIB.'ssh.php');
 
-			if(sys::strlen($aData['passwd']) > 32)
-			sys::outjs(array('e' => 'Указанный пароль слишком длинный'));
+            if(sys::strlen($aData['passwd']) > 32)
+            sys::outjs(array('e' => 'Указанный пароль слишком длинный'));
 
-			if(sys::valid($aData['passwd'], 'other', $aValid['passwd']))
-				sys::outjs(array('e' => 'Пожалуйста, поменяйте пароль используя только латинские буквы и цифры'));
+            if(sys::valid($aData['passwd'], 'other', $aValid['passwd']))
+                sys::outjs(array('e' => 'Пожалуйста, поменяйте пароль используя только латинские буквы и цифры'));
 
-			if(!$ssh->auth($aData['passwd'], $ctrl['address']))
-				sys::outjs(array('e' => 'Неудалось создать связь с физическим сервером'));
+            if(!$ssh->auth($aData['passwd'], $ctrl['address']))
+                sys::outjs(array('e' => 'Неудалось создать связь с физическим сервером'));
 
-			$aData['fcpu'] = $aData['fcpu'] == 1 ? 1 : 0;
+            $aData['fcpu'] = $aData['fcpu'] == 1 ? 1 : 0;
 
-			if($aData['ram'] < 1 || $aData['ram'] > 9999999)
-				$aData['ram'] = 0;
+            if($aData['ram'] < 1 || $aData['ram'] > 9999999)
+                $aData['ram'] = 0;
 
-			if($aData['hdd'] < 1 || $aData['hdd'] > 9999999)
-				$aData['hdd'] = 0;
+            if($aData['hdd'] < 1 || $aData['hdd'] > 9999999)
+                $aData['hdd'] = 0;
 
-			$sql->query('UPDATE `control` set `passwd`="'.$aData['passwd'].'", `fcpu`="'.$aData['fcpu'].'", `ram`="'.$aData['ram'].'", `hdd`="'.$aData['hdd'].'" WHERE `id`="'.$id.'" LIMIT 1');
+            $sql->query('UPDATE `control` set `passwd`="'.$aData['passwd'].'", `fcpu`="'.$aData['fcpu'].'", `ram`="'.$aData['ram'].'", `hdd`="'.$aData['hdd'].'" WHERE `id`="'.$id.'" LIMIT 1');
 
-			sys::outjs(array('s' => 'ok'));
-		}
+            sys::outjs(array('s' => 'ok'));
+        }
 
-		$html->nav('Параметры сервера #'.$id);
+        $html->nav('Параметры сервера #'.$id);
 
-		$html->get('settings', 'sections/control');
-			$html->set('id', $id);
-			$html->set('passwd', $ctrl['passwd']);
-			$html->set('ram', $ctrl['ram']);
-			$html->set('hdd', $ctrl['hdd']);
-			$html->set('fcpu', $ctrl['fcpu'] ? '<option value="1">Активный</option><option value="0">Пассивный</option>' : '<option value="0">Пассивный</option><option value="1">Активный</option>');
-		$html->pack('main');
-	}
+        $html->get('settings', 'sections/control');
+            $html->set('id', $id);
+            $html->set('passwd', $ctrl['passwd']);
+            $html->set('ram', $ctrl['ram']);
+            $html->set('hdd', $ctrl['hdd']);
+            $html->set('fcpu', $ctrl['fcpu'] ? '<option value="1">Активный</option><option value="0">Пассивный</option>' : '<option value="0">Пассивный</option><option value="1">Активный</option>');
+        $html->pack('main');
+    }
 ?>

Vissa filer visades inte eftersom för många filer har ändrats