Перейти к содержанию
greykoo

Скачать greypanel 0.6.3 beta

Рекомендуемые сообщения

33 минуты назад, FlipGame сказал:

Уважаемый greykoo, помогите пожалуйста. Я сделал все по инструкции. На сайте например нажимаю войти, пишет страница не найдена 404, пожалуйста помогите. Т.к в этом не шарю.

 

Файл .htaccess есть в корне ?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Здраствуйте помогите пожалуйста, я создаю кассу на фрикасе, и мне пишет нужно вставить на сайт иконку <a href="//www.free-kassa.ru/"><img src="//www.free-kassa.ru/img/fk_btn/21.png"></a> куда это вставлять? я не розбираюсь

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
1 час назад, FlipGame` сказал:

Здраствуйте помогите пожалуйста, я создаю кассу на фрикасе, и мне пишет нужно вставить на сайт иконку <a href="//www.free-kassa.ru/"><img src="//www.free-kassa.ru/img/fk_btn/21.png"></a> куда это вставлять? я не розбираюсь

Там в каком-то блоке Есть специальное место под такие кнопки... Не помню в каком... У меня оно перенесено...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
55 minutes ago, ArKaNeMaN said:

Там в каком-то блоке Есть специальное место под такие кнопки... Не помню в каком... У меня оно перенесено...

И где это взять? Как называеться блок?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
7 часов назад, FlipGames сказал:

И где это взять? Как называеться блок?

Мог бы и сам поискать.... Да и кнопка там изначально есть...

image.thumb.png.c3ca3b3f496f1de4120d1fa5d125364a.png

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Приветствую, @greykoo

Столкнулся с проблемой во время установки, путь к install - *****.****.ru/main/install, нажимаю установить, получаю - показано на скриншоте, как исправить?

p.s После нажатия на кнопку "установка" - была изменена ссылка на: "http://****.****.ru/install/?step=1".

Снимок.PNG

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Не работает пополнение нажимаю не нажимается , Хоть указал данные фри-кассы 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
52 минуты назад, FoxMan сказал:

Не работает пополнение нажимаю не нажимается , Хоть указал данные фри-кассы 

Модуль для работы фрикассы надо покупать...

Подключай робокассу или вебмани

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Перезакинул архив с фиксом некой уязвимости 

Ручной фикс 

Идем lib/manage_class.php

Ищем функцию 

vipServerPrivileg

И полностью заменяем эту функцию 

Спойлер
	public function vipServerPrivileg() {
		$this->getKey();
		if( !isset( $_SESSION['id'] ) ) {
			$_SESSION['err_msg'] = 'Активировать вип можно только пользователям';
			return ADDRESS;
		}

		if( is_array( $_POST['vip_server_privileg'] ) or !is_numeric( $_POST['vip_server_privileg'] ) ) 
		{
			$_SESSION['err_msg'] = 'Ошибка';
			return ADDRESS;		
		}
		if( is_array( $_POST['vip_server_days'] ) or !is_numeric( $_POST['vip_server_days'] ) or $_POST['vip_server_days'] ==  0 ) 
		{
			$_SESSION['err_msg'] = 'Ошибка';
			return ADDRESS;		
		}
		if( is_array( $_POST['vip_server_id'] ) or !is_numeric( $_POST['vip_server_id'] ) or $_POST['vip_server_id'] ==  0 ) 
		{
			$_SESSION['err_msg'] = 'Ошибка';
			return ADDRESS;		
		}
		$vip_server_id = ( int ) $_POST['vip_server_id'];
		$vip_server_days = ( int ) $_POST['vip_server_days'];
		$vip_server_privileg = ( int ) $_POST['vip_server_privileg'];
		
		$vip_servers = vip_servers::getIdAdmin( $vip_server_id );
		
		if( !is_array( $vip_servers['privileg_data'][$vip_server_privileg] ) )  {
			$_SESSION['err_msg'] = 'Ошибка! Попробуйте еще раз, нету такой привилегии';
			return ADDRESS;
		}
		GLOBAL $vip_days;
		#Цена за день
		$const = $vip_servers['privileg_data'][$vip_server_privileg]['const'];
		#Флаги
		$flags = $vip_servers['privileg_data'][$vip_server_privileg]['flags'];

		if( !isset( $vip_days[$vip_server_days] ) )
		{
			$_SESSION['err_msg'] = 'Ошибка';
			return ADDRESS;				
		} 
		#Общая цена
		$allConst = $vip_days[$vip_server_days] * $const;	

		#Получаем деньги юзера
		$getUserMoney = $this->sql->select(
			'users',
			[ 'username','password', 'money'  ],
			[ 'id' => $_SESSION['id'] ]
		);

		
		if( $vip_servers['type'] == '0' ) {
			if( $getUserMoney[0]['money'] >= $allConst ) {
				#Получаем данные подключения
				$host = $vip_servers['host'];
				$user = $vip_servers['user'];
				$password = $vip_servers['password'];
				$bd = $vip_servers['bd']; 
				$prefix = $vip_servers['prefix'];
				
				#проверяем юзера в amxADmin
				
				$getUserAmxAdmin = amxadmins::getAmxAdmin( $getUserMoney[0]['username'], $host, $user, $password,  $bd, $prefix );
				
				if( !is_array( $getUserAmxAdmin ) ) {
					#Создаем юзера в amxADmin
					
					$insertAdmin = amxadmins::addAmxBans( 
					[ 
						'username' => 	$getUserMoney[0]['username'],
						'password' => 	md5( $getUserMoney[0]['password'] ),
						'steamid' =>	$getUserMoney[0]['username'],
						'nickname' => 	$getUserMoney[0]['username'],
						'created' => 	time(),
						'expired' => 	0,
						'flags' => 	'a',
						'days' => 		0,
					],
					$host, $user, $password,  $bd, $prefix );
				} else {
					$insertAdmin = $getUserAmxAdmin['id'];
					#Сверяем хеш паролей
					
					if( $getUserAmxAdmin['password'] != md5( $getUserMoney[0]['password'] ) ) {
						#Обновляем пароль если он не верный
						$update_password = amxadmins::updateAmxAdmin(
							[ 'password' => md5( $getUserMoney[0]['password'] ) ],
							[ 'id' => $insertAdmin ],
							$host, $user, $password,  $bd, $prefix
						);
						if( !$update_password ) {
							$_SESSION['err_msg'] = 'Ошибка обновления пароля';
							return ADDRESS.'vip/';
						}
					}
				}
				
				if( !$insertAdmin ) {

					$_SESSION['err_msg'] = 'Ошибка отправки запроса на сервер, пожалуйста подождите немного и попробуйте еще раз. А так же сообщите администратору.';
					return ADDRESS.'vip/';
				}  
				
				$getVipUsersSite = vip_users::select([
					'user_id' => $_SESSION['id'],
					'amx_id' => $insertAdmin,
					'server_id' => $vip_servers['id'],
				]);
				
				if( !$getVipUsersSite ) {
					#добавляем пользователя
					$timeAdmin = time() + $vip_days[$vip_server_days] * 86400;
					vip_users::insert([
						'user_id' => $_SESSION['id'],
						'amx_id' => $insertAdmin,
						'server_id' => $vip_servers['id'],
						'custom_flags' => $flags,
						'created' => time(),
						'expired' => $timeAdmin,
					]); 
				} else {
					
					#Сверяем флаги, если он активирует ту же услугу - продливаем её, если нет - активируем новое время
					if( $getVipUsersSite[0]['custom_flags'] == $flags  ) {
						$timeAdmin = $getVipUsersSite[0]['expired'] + $vip_days[$vip_server_days] * 86400;
					} else {
						$timeAdmin = time() + $vip_days[$vip_server_days] * 86400;
					}
					
					vip_users::update(
						[
							'custom_flags' => $flags,
							'expired' => $timeAdmin,
						],
						[
							'user_id' => $_SESSION['id'],
							'amx_id' => $insertAdmin,
							'server_id' => $vip_servers['id'],							
						]
					);	
				}
				
				$getAmmxPrava = admins_servers::getAmxAdmin( 
					[ 
						'admin_id' => $insertAdmin,
						'server_id' => $vip_servers['amx_id'],
					],
					$host,
					$user,
					$password,
					$bd,
					$prefix
				);
				#проверяем права 
				if( !$getAmmxPrava ) {
					#Создаем ему права на сервере
					$admins_servers = admins_servers::addAmxBans( 
						[ 
							'admin_id' => 				$insertAdmin,
							'server_id' => 				$vip_servers['amx_id'],
							'custom_flags' =>			$flags,
							'use_static_bantime' => 	'yes',
						],
						$host,
						$user,
						$password,
						$bd,
						$prefix
					);
				} else { 
					#Обновляем ему флаги
					admins_servers::updateAmxAdmin(
						[ 'custom_flags' => $flags ],
						[ 'admin_id' => $insertAdmin, 'server_id' => $vip_servers['amx_id'] ],
						$host,
						$user,
						$password,
						$bd,
						$prefix	
					);
				}
				#обновляем деньги пользователя
				users::update(
					[
						'money' => $getUserMoney[0]['money'] - $allConst
					],
					[ 'id' => $_SESSION['id'] ]
				);
				#записываем в логи
				money_logs::insert([
					'user_id' => $_SESSION['id'],
					'tupe' => '1',
					'money' => $allConst,
					'title' => 'За активацию привилегий',
				]);
				
				logs::add( $getUserMoney[0]['username'].' активировал привилегию на сервере '.$vip_servers['id'].' флаги '.$flags );
				
				$_SESSION['msg'] = 'Вы успешно активировали Вип, теперь Вам необходимо прописать в консоль игры перед входом игру setinfo "_pw" "Ваш пароль от панели"';
				return ADDRESS.'vip/success';
			}
			$_SESSION['err_msg'] = 'Вам не хватает денег '.$getUserMoney[0]['money'];
			return ADDRESS.'vip/';
		} else if( $vip_servers['type'] == '1' ) { 
			if( $getUserMoney[0]['money'] >= $allConst ) {
				#Получаем данные подключения
				$ftp_server = $vip_servers['host'];
				$user = $vip_servers['user'];
				$password = $vip_servers['password'];
				$bd = $vip_servers['bd']; 
				$prefix = $vip_servers['prefix'];

				// устанавливает соединение или выходит
				$conn_id = ftp_connect( $ftp_server ); 
				if( $conn_id ) {
					if ( ftp_login( $conn_id, $user, $password ) ) 
					{ 
						if (!ftp_get($conn_id, 'upload/users.ini', $bd, FTP_BINARY)) {
							$_SESSION['err_msg'] = 'Не удалось поключиться к файлу настройки сервера';
							return ADDRESS.'vip/';
						}
						
						#Получаем всех юзеров с сервера
						$getAllUsersServer = vip_users::select([
							'server_id' => $vip_servers['id']
						]);
						$formateUsers = '';
						for( $i = 0; $i < count( $getAllUsersServer ); $i++ ) {
							
							#Получаем юзера
							$getUserName = $this->sql->select(
								'users',
								[ 'username','password'  ],
								[ 'id' => $getAllUsersServer[$i]['user_id'] ]
							);
							
							$formateUsers .= "\"".$getUserName[0]['username']."\" \"".$getUserName[0]['password']."\" \"".$getAllUsersServer[$i]['custom_flags']."\" \"a\" ;Автоматическое добавление, конец админки ".$getAllUsersServer[$i]['timeAgo']."\n";
						}
						
						$of = fopen( 'upload/users.ini', "w+"); 
						$line=fgets( $of ); 
						rewind( $of ); 
						fwrite( $of, $formateUsers );
						fclose($of);
						
						
						$fp = fopen( 'upload/users.ini', 'r' );
						#Загружаем новый файл на сервер
						if ( !ftp_fput( $conn_id, $bd, $fp, FTP_ASCII ) ) {
							ftp_close( $conn_id );
							fclose($fp);
							$_SESSION['err_msg'] = 'Ошибка сохраненнии прав, обратитесь к администратору и сообщите ему об этом';
							return ADDRESS.'vip';
						}
						ftp_close( $conn_id );
						fclose($fp);
						
						
						$of = fopen( 'upload/users.ini', "w+"); 
						$line=fgets( $of ); 
						rewind( $of ); 
						fwrite( $of, '' );
						fclose($of);
						
						$getVipUsersSite = vip_users::select([
							'user_id' => $_SESSION['id'],
							'server_id' => $vip_servers['id'],
						]);
				
						if( !$getVipUsersSite ) {
							#добавляем пользователя
							$timeAdmin = time() + $vip_days[$vip_server_days] * 86400;
							vip_users::insert([
								'user_id' => $_SESSION['id'],
								'amx_id' => '0',
								'server_id' => $vip_servers['id'],
								'custom_flags' => $flags,
								'created' => time(),
								'expired' => $timeAdmin,
							]);
						} else {
							#Сверяем флаги, если он активирует ту же услугу - продливаем её, если нет - активируем новое время
							if( $getVipUsersSite[0]['custom_flags'] == $flags  ) {
								$timeAdmin = $getVipUsersSite[0]['expired'] + $vip_days[$vip_server_days] * 86400;
							} else {
								$timeAdmin = time() + $vip_days[$vip_server_days] * 86400;
							}
							
							//$timeAdmin = $getVipUsersSite[0]['expired'] + $vip_days[$vip_server_days] * 86400;
							vip_users::update(
								[
									'custom_flags' => $flags,
									'expired' => $timeAdmin,
								],
								[
									'user_id' => $_SESSION['id'],
									'server_id' => $vip_servers['id'],							
								]
							);	
						}	 
						
						#обновляем деньги пользователя
						users::update(
							[
								'money' => $getUserMoney[0]['money'] - $allConst
							],
							[ 'id' => $_SESSION['id'] ]
						);
						#записываем в логи
						money_logs::insert([
							'user_id' => $_SESSION['id'],
							'tupe' => '0',
							'money' => $allConst,
							'title' => 'За активацию привилегий',
						]);
						
						logs::add( $getUserMoney[0]['username'].' активировал привилегию на сервере '.$vip_servers['id'].' флаги '.$flags );

						$_SESSION['msg'] = 'Вы успешно активировали Вип, теперь Вам необходимо прописать в консоль игры перед входом игру setinfo "_pw" "Ваш пароль от панели"';
						return ADDRESS.'vip/success';
					} 
					$_SESSION['err_msg'] = 'Ошибка в настройках сервера.. не верный логин и пароль';
					return ADDRESS.'vip';
				}
				$_SESSION['err_msg'] = 'Ошибка в подключении к серверу';
				return ADDRESS.'vip';
			}
			$_SESSION['err_msg'] = 'Вам не хватает денег , пополните счет';
			return ADDRESS.'vip/';
		} else if( $vip_servers['type'] == '2' ) { 
			if( $getUserMoney[0]['money'] >= $allConst ) {
				#Получаем данные подключения
				$host = $vip_servers['host'];
				$user = $vip_servers['user'];
				$password = $vip_servers['password'];
				$bd = $vip_servers['bd']; 
				$prefix = $vip_servers['prefix'];
				
				$getUser = userssql::getUser( 
					[ 'auth' => $getUserMoney[0]['username'] ],
					$host, $user, $password, $bd, $prefix
				); 
				
				if( is_array( $getUser ) ) {
					$getStatus = userssql::updateUser(
						[
							'password' => $getUserMoney[0]['password'],
							'access' => 'a',
							'flags' => $flags
						],
						[
							'auth' => $getUserMoney[0]['username']
						],						
						$host, $user, $password, $bd, $prefix
					);
					
				} else {
					$getStatus = userssql::addUser(
						[
							'auth' => $getUserMoney[0]['username'],
							'password' => $getUserMoney[0]['password'],
							'access' => 'a',
							'flags' => $flags,
						], 
						$host, $user, $password, $bd, $prefix
					);
				}
				
				if( !$getStatus ) {
					$_SESSION['err_msg'] = 'Ошибка в добавлении прав. Сообщите администору об этой ошибке.. код #421';
					return ADDRESS.'vip/';
				}
				
				
				$getVipUsersSite = vip_users::select([
					'user_id' => $_SESSION['id'],
					'server_id' =>  $vip_servers['id'],
				]);
				
				if( !$getVipUsersSite ) {
					#добавляем пользователя
					$timeAdmin = time() + $vip_days[$vip_server_days] * 86400;
					vip_users::insert([
						'user_id' => $_SESSION['id'],
						'amx_id' => 0,
						'server_id' => $vip_servers['id'],
						'custom_flags' => $flags,
						'created' => time(),
						'expired' => $timeAdmin,
					]); 
				} else {
					
					#Сверяем флаги, если он активирует ту же услугу - продливаем её, если нет - активируем новое время
					if( $getVipUsersSite[0]['custom_flags'] == $flags  ) {
						$timeAdmin = $getVipUsersSite[0]['expired'] + $vip_days[$vip_server_days] * 86400;
					} else {
						$timeAdmin = time() + $vip_days[$vip_server_days] * 86400;
					}
					
					vip_users::update(
						[
							'custom_flags' => $flags,
							'expired' => $timeAdmin,
						],
						[
							'user_id' => $_SESSION['id'],
							'amx_id' => $insertAdmin,
							'server_id' => $vip_servers['id'],							
						]
					);	
				}
				
				
				#обновляем деньги пользователя
				users::update(
					[
						'money' => $getUserMoney[0]['money'] - $allConst
					],
					[ 'id' => $_SESSION['id'] ]
				);
				#записываем в логи
				money_logs::insert([
					'user_id' => $_SESSION['id'],
					'tupe' => '0',
					'money' => $allConst,
					'title' => 'За активацию привилегий',
				]);
				logs::add( $getUserMoney[0]['username'].' активировал привилегию на сервере '.$vip_servers['id'].' флаги '.$flags );

				$_SESSION['msg'] = 'Вы успешно активировали Вип, теперь Вам необходимо прописать в консоль игры перед входом игру setinfo "_pw" "Ваш пароль от панели"';
				return ADDRESS.'vip/success';
			}
			
			$_SESSION['err_msg'] = 'Вам не хватает денег , пополните счет';
			return ADDRESS.'vip/';
		}
		
		
		$_SESSION['err_msg'] = 'Ошибка! Активации вип, тип сервера не настроен, сообщите администратору';
		return ADDRESS;
		
	}

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
15 минут назад, greykoo сказал:

Перезакинул архив с фиксом некой уязвимости 

Ручной фикс 

Идем lib/manage_class.php

Ищем функцию 

vipServerPrivileg

И полностью заменяем эту функцию 

  Показать контент

	public function vipServerPrivileg() {
		$this->getKey();
		if( !isset( $_SESSION['id'] ) ) {
			$_SESSION['err_msg'] = 'Активировать вип можно только пользователям';
			return ADDRESS;
		}

		if( is_array( $_POST['vip_server_privileg'] ) or !is_numeric( $_POST['vip_server_privileg'] ) or $_POST['vip_server_privileg'] ==  0 ) 
		{
			$_SESSION['err_msg'] = 'Ошибка';
			return ADDRESS;		
		}
		if( is_array( $_POST['vip_server_days'] ) or !is_numeric( $_POST['vip_server_days'] ) or $_POST['vip_server_days'] ==  0 ) 
		{
			$_SESSION['err_msg'] = 'Ошибка';
			return ADDRESS;		
		}
		if( is_array( $_POST['vip_server_id'] ) or !is_numeric( $_POST['vip_server_id'] ) or $_POST['vip_server_id'] ==  0 ) 
		{
			$_SESSION['err_msg'] = 'Ошибка';
			return ADDRESS;		
		}
		$vip_server_id = ( int ) $_POST['vip_server_id'];
		$vip_server_days = ( int ) $_POST['vip_server_days'];
		$vip_server_privileg = ( int ) $_POST['vip_server_privileg'];
		
		$vip_servers = vip_servers::getIdAdmin( $vip_server_id );
		
		if( !is_array( $vip_servers['privileg_data'][$vip_server_privileg] ) )  {
			$_SESSION['err_msg'] = 'Ошибка! Попробуйте еще раз, нету такой привилегии';
			return ADDRESS;
		}
		GLOBAL $vip_days;
		#Цена за день
		$const = $vip_servers['privileg_data'][$vip_server_privileg]['const'];
		#Флаги
		$flags = $vip_servers['privileg_data'][$vip_server_privileg]['flags'];
		#Общая цена
		$allConst = $vip_days[$vip_server_days] * $const;	

		#Получаем деньги юзера
		$getUserMoney = $this->sql->select(
			'users',
			[ 'username','password', 'money'  ],
			[ 'id' => $_SESSION['id'] ]
		);

		
		if( $vip_servers['type'] == '0' ) {
			if( $getUserMoney[0]['money'] >= $allConst ) {
				#Получаем данные подключения
				$host = $vip_servers['host'];
				$user = $vip_servers['user'];
				$password = $vip_servers['password'];
				$bd = $vip_servers['bd']; 
				$prefix = $vip_servers['prefix'];
				
				#проверяем юзера в amxADmin
				
				$getUserAmxAdmin = amxadmins::getAmxAdmin( $getUserMoney[0]['username'], $host, $user, $password,  $bd, $prefix );
				
				if( !is_array( $getUserAmxAdmin ) ) {
					#Создаем юзера в amxADmin
					
					$insertAdmin = amxadmins::addAmxBans( 
					[ 
						'username' => 	$getUserMoney[0]['username'],
						'password' => 	md5( $getUserMoney[0]['password'] ),
						'steamid' =>	$getUserMoney[0]['username'],
						'nickname' => 	$getUserMoney[0]['username'],
						'created' => 	time(),
						'expired' => 	0,
						'flags' => 	'a',
						'days' => 		0,
					],
					$host, $user, $password,  $bd, $prefix );
				} else {
					$insertAdmin = $getUserAmxAdmin['id'];
					#Сверяем хеш паролей
					
					if( $getUserAmxAdmin['password'] != md5( $getUserMoney[0]['password'] ) ) {
						#Обновляем пароль если он не верный
						$update_password = amxadmins::updateAmxAdmin(
							[ 'password' => md5( $getUserMoney[0]['password'] ) ],
							[ 'id' => $insertAdmin ],
							$host, $user, $password,  $bd, $prefix
						);
						if( !$update_password ) {
							$_SESSION['err_msg'] = 'Ошибка обновления пароля';
							return ADDRESS.'vip/';
						}
					}
				}
				
				if( !$insertAdmin ) {

					$_SESSION['err_msg'] = 'Ошибка отправки запроса на сервер, пожалуйста подождите немного и попробуйте еще раз. А так же сообщите администратору.';
					return ADDRESS.'vip/';
				}  
				
				$getVipUsersSite = vip_users::select([
					'user_id' => $_SESSION['id'],
					'amx_id' => $insertAdmin,
					'server_id' => $vip_servers['id'],
				]);
				
				if( !$getVipUsersSite ) {
					#добавляем пользователя
					$timeAdmin = time() + $vip_days[$vip_server_days] * 86400;
					vip_users::insert([
						'user_id' => $_SESSION['id'],
						'amx_id' => $insertAdmin,
						'server_id' => $vip_servers['id'],
						'custom_flags' => $flags,
						'created' => time(),
						'expired' => $timeAdmin,
					]); 
				} else {
					
					#Сверяем флаги, если он активирует ту же услугу - продливаем её, если нет - активируем новое время
					if( $getVipUsersSite[0]['custom_flags'] == $flags  ) {
						$timeAdmin = $getVipUsersSite[0]['expired'] + $vip_days[$vip_server_days] * 86400;
					} else {
						$timeAdmin = time() + $vip_days[$vip_server_days] * 86400;
					}
					
					vip_users::update(
						[
							'custom_flags' => $flags,
							'expired' => $timeAdmin,
						],
						[
							'user_id' => $_SESSION['id'],
							'amx_id' => $insertAdmin,
							'server_id' => $vip_servers['id'],							
						]
					);	
				}
				
				$getAmmxPrava = admins_servers::getAmxAdmin( 
					[ 
						'admin_id' => $insertAdmin,
						'server_id' => $vip_servers['amx_id'],
					],
					$host,
					$user,
					$password,
					$bd,
					$prefix
				);
				#проверяем права 
				if( !$getAmmxPrava ) {
					#Создаем ему права на сервере
					$admins_servers = admins_servers::addAmxBans( 
						[ 
							'admin_id' => 				$insertAdmin,
							'server_id' => 				$vip_servers['amx_id'],
							'custom_flags' =>			$flags,
							'use_static_bantime' => 	'yes',
						],
						$host,
						$user,
						$password,
						$bd,
						$prefix
					);
				} else { 
					#Обновляем ему флаги
					admins_servers::updateAmxAdmin(
						[ 'custom_flags' => $flags ],
						[ 'admin_id' => $insertAdmin, 'server_id' => $vip_servers['amx_id'] ],
						$host,
						$user,
						$password,
						$bd,
						$prefix	
					);
				}
				#обновляем деньги пользователя
				users::update(
					[
						'money' => $getUserMoney[0]['money'] - $allConst
					],
					[ 'id' => $_SESSION['id'] ]
				);
				#записываем в логи
				money_logs::insert([
					'user_id' => $_SESSION['id'],
					'tupe' => '1',
					'money' => $allConst,
					'title' => 'За активацию привилегий',
				]);
				
				logs::add( $getUserMoney[0]['username'].' активировал привилегию на сервере '.$vip_servers['id'].' флаги '.$flags );
				
				$_SESSION['msg'] = 'Вы успешно активировали Вип, теперь Вам необходимо прописать в консоль игры перед входом игру setinfo "_pw" "Ваш пароль от панели"';
				return ADDRESS.'vip/success';
			}
			$_SESSION['err_msg'] = 'Вам не хватает денег '.$getUserMoney[0]['money'];
			return ADDRESS.'vip/';
		} else if( $vip_servers['type'] == '1' ) { 
			if( $getUserMoney[0]['money'] >= $allConst ) {
				#Получаем данные подключения
				$ftp_server = $vip_servers['host'];
				$user = $vip_servers['user'];
				$password = $vip_servers['password'];
				$bd = $vip_servers['bd']; 
				$prefix = $vip_servers['prefix'];

				// устанавливает соединение или выходит
				$conn_id = ftp_connect( $ftp_server ); 
				if( $conn_id ) {
					if ( ftp_login( $conn_id, $user, $password ) ) 
					{ 
						if (!ftp_get($conn_id, 'upload/users.ini', $bd, FTP_BINARY)) {
							$_SESSION['err_msg'] = 'Не удалось поключиться к файлу настройки сервера';
							return ADDRESS.'vip/';
						}
						
						#Получаем всех юзеров с сервера
						$getAllUsersServer = vip_users::select([
							'server_id' => $vip_servers['id']
						]);
						$formateUsers = '';
						for( $i = 0; $i < count( $getAllUsersServer ); $i++ ) {
							
							#Получаем юзера
							$getUserName = $this->sql->select(
								'users',
								[ 'username','password'  ],
								[ 'id' => $getAllUsersServer[$i]['user_id'] ]
							);
							
							$formateUsers .= "\"".$getUserName[0]['username']."\" \"".$getUserName[0]['password']."\" \"".$getAllUsersServer[$i]['custom_flags']."\" \"a\" ;Автоматическое добавление, конец админки ".$getAllUsersServer[$i]['timeAgo']."\n";
						}
						
						$of = fopen( 'upload/users.ini', "w+"); 
						$line=fgets( $of ); 
						rewind( $of ); 
						fwrite( $of, $formateUsers );
						fclose($of);
						
						
						$fp = fopen( 'upload/users.ini', 'r' );
						#Загружаем новый файл на сервер
						if ( !ftp_fput( $conn_id, $bd, $fp, FTP_ASCII ) ) {
							ftp_close( $conn_id );
							fclose($fp);
							$_SESSION['err_msg'] = 'Ошибка сохраненнии прав, обратитесь к администратору и сообщите ему об этом';
							return ADDRESS.'vip';
						}
						ftp_close( $conn_id );
						fclose($fp);
						
						
						$of = fopen( 'upload/users.ini', "w+"); 
						$line=fgets( $of ); 
						rewind( $of ); 
						fwrite( $of, '' );
						fclose($of);
						
						$getVipUsersSite = vip_users::select([
							'user_id' => $_SESSION['id'],
							'server_id' => $vip_servers['id'],
						]);
				
						if( !$getVipUsersSite ) {
							#добавляем пользователя
							$timeAdmin = time() + $vip_days[$vip_server_days] * 86400;
							vip_users::insert([
								'user_id' => $_SESSION['id'],
								'amx_id' => '0',
								'server_id' => $vip_servers['id'],
								'custom_flags' => $flags,
								'created' => time(),
								'expired' => $timeAdmin,
							]);
						} else {
							#Сверяем флаги, если он активирует ту же услугу - продливаем её, если нет - активируем новое время
							if( $getVipUsersSite[0]['custom_flags'] == $flags  ) {
								$timeAdmin = $getVipUsersSite[0]['expired'] + $vip_days[$vip_server_days] * 86400;
							} else {
								$timeAdmin = time() + $vip_days[$vip_server_days] * 86400;
							}
							
							//$timeAdmin = $getVipUsersSite[0]['expired'] + $vip_days[$vip_server_days] * 86400;
							vip_users::update(
								[
									'custom_flags' => $flags,
									'expired' => $timeAdmin,
								],
								[
									'user_id' => $_SESSION['id'],
									'server_id' => $vip_servers['id'],							
								]
							);	
						}	 
						
						#обновляем деньги пользователя
						users::update(
							[
								'money' => $getUserMoney[0]['money'] - $allConst
							],
							[ 'id' => $_SESSION['id'] ]
						);
						#записываем в логи
						money_logs::insert([
							'user_id' => $_SESSION['id'],
							'tupe' => '0',
							'money' => $allConst,
							'title' => 'За активацию привилегий',
						]);
						
						logs::add( $getUserMoney[0]['username'].' активировал привилегию на сервере '.$vip_servers['id'].' флаги '.$flags );

						$_SESSION['msg'] = 'Вы успешно активировали Вип, теперь Вам необходимо прописать в консоль игры перед входом игру setinfo "_pw" "Ваш пароль от панели"';
						return ADDRESS.'vip/success';
					} 
					$_SESSION['err_msg'] = 'Ошибка в настройках сервера.. не верный логин и пароль';
					return ADDRESS.'vip';
				}
				$_SESSION['err_msg'] = 'Ошибка в подключении к серверу';
				return ADDRESS.'vip';
			}
			$_SESSION['err_msg'] = 'Вам не хватает денег , пополните счет';
			return ADDRESS.'vip/';
		} else if( $vip_servers['type'] == '2' ) { 
			if( $getUserMoney[0]['money'] >= $allConst ) {
				#Получаем данные подключения
				$host = $vip_servers['host'];
				$user = $vip_servers['user'];
				$password = $vip_servers['password'];
				$bd = $vip_servers['bd']; 
				$prefix = $vip_servers['prefix'];
				
				$getUser = userssql::getUser( 
					[ 'auth' => $getUserMoney[0]['username'] ],
					$host, $user, $password, $bd, $prefix
				); 
				
				if( is_array( $getUser ) ) {
					$getStatus = userssql::updateUser(
						[
							'password' => $getUserMoney[0]['password'],
							'access' => 'a',
							'flags' => $flags
						],
						[
							'auth' => $getUserMoney[0]['username']
						],						
						$host, $user, $password, $bd, $prefix
					);
					
				} else {
					$getStatus = userssql::addUser(
						[
							'auth' => $getUserMoney[0]['username'],
							'password' => $getUserMoney[0]['password'],
							'access' => 'a',
							'flags' => $flags,
						], 
						$host, $user, $password, $bd, $prefix
					);
				}
				
				if( !$getStatus ) {
					$_SESSION['err_msg'] = 'Ошибка в добавлении прав. Сообщите администору об этой ошибке.. код #421';
					return ADDRESS.'vip/';
				}
				
				
				$getVipUsersSite = vip_users::select([
					'user_id' => $_SESSION['id'],
					'server_id' =>  $vip_servers['id'],
				]);
				
				if( !$getVipUsersSite ) {
					#добавляем пользователя
					$timeAdmin = time() + $vip_days[$vip_server_days] * 86400;
					vip_users::insert([
						'user_id' => $_SESSION['id'],
						'amx_id' => 0,
						'server_id' => $vip_servers['id'],
						'custom_flags' => $flags,
						'created' => time(),
						'expired' => $timeAdmin,
					]); 
				} else {
					
					#Сверяем флаги, если он активирует ту же услугу - продливаем её, если нет - активируем новое время
					if( $getVipUsersSite[0]['custom_flags'] == $flags  ) {
						$timeAdmin = $getVipUsersSite[0]['expired'] + $vip_days[$vip_server_days] * 86400;
					} else {
						$timeAdmin = time() + $vip_days[$vip_server_days] * 86400;
					}
					
					vip_users::update(
						[
							'custom_flags' => $flags,
							'expired' => $timeAdmin,
						],
						[
							'user_id' => $_SESSION['id'],
							'amx_id' => $insertAdmin,
							'server_id' => $vip_servers['id'],							
						]
					);	
				}
				
				
				#обновляем деньги пользователя
				users::update(
					[
						'money' => $getUserMoney[0]['money'] - $allConst
					],
					[ 'id' => $_SESSION['id'] ]
				);
				#записываем в логи
				money_logs::insert([
					'user_id' => $_SESSION['id'],
					'tupe' => '0',
					'money' => $allConst,
					'title' => 'За активацию привилегий',
				]);
				logs::add( $getUserMoney[0]['username'].' активировал привилегию на сервере '.$vip_servers['id'].' флаги '.$flags );

				$_SESSION['msg'] = 'Вы успешно активировали Вип, теперь Вам необходимо прописать в консоль игры перед входом игру setinfo "_pw" "Ваш пароль от панели"';
				return ADDRESS.'vip/success';
			}
			
			$_SESSION['err_msg'] = 'Вам не хватает денег , пополните счет';
			return ADDRESS.'vip/';
		}
		
		
		$_SESSION['err_msg'] = 'Ошибка! Активации вип, тип сервера не настроен, сообщите администратору';
		return ADDRESS;
		
	}

 

 

 

index.tpl кидаем сюда theme/vip/index.tpl

 

index.tpl

Спасибо, забрал.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
7 минут назад, ledikage121212 сказал:

Спасибо, забрал.

Перезалил фикс, нужно переделать немного 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Только что, greykoo сказал:

Перезалил фикс, нужно переделать немного 

Ну на этот раз та точно ))) ?
Если что в Вк или я или Аркан отпишимся )

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
20 минут назад, ledikage121212 сказал:

Ну на этот раз та точно ))) ?
Если что в Вк или я или Аркан отпишимся )

Вот такая ошибка при покупке
Notice: Undefined variable: this in /var/www/ispuser21134/data/www/buildskill.webcshost.ru/lib/manage_class.php on line 321 Fatal error: Call to a member function getKey() on a non-object in /var/www/ispuser21134/data/www/buildskill.webcshost.ru/lib/manage_class.php on line 321

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
25 минут назад, greykoo сказал:

Перезалил фикс, нужно переделать немного 

Вот такая ошибка при покупке
Notice: Undefined variable: this in /var/www/ispuser21134/data/www/buildskill.webcshost.ru/lib/manage_class.php on line 321 Fatal error: Call to a member function getKey() on a non-object in /var/www/ispuser21134/data/www/buildskill.webcshost.ru/lib/manage_class.php on line 321

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
2 минуты назад, FixIK сказал:

Вот такая ошибка при покупке
Notice: Undefined variable: this in /var/www/ispuser21134/data/www/buildskill.webcshost.ru/lib/manage_class.php on line 321 Fatal error: Call to a member function getKey() on a non-object in /var/www/ispuser21134/data/www/buildskill.webcshost.ru/lib/manage_class.php on line 321

Скорее всего старая версия панели

1 фикс закоментировать проверку ключа на линии 321

с 

$this->getKey();

на

//$this->getKey();

2 фикс добавить в самый lib/manage_class.php

Спойлер

	public function getKey() 
	{
		if( !isset( $_POST['csrfKey'] ) )
			exit;
		/* 
		$this->getKey();
		*/
		$userData = $this->sql->select( 
			'users',
			[ 'email', 'id', 'password' ],
			[ 'id' => $_SESSION['id'] ]
		);

		$userData = $userData[0];

		$csrf = md5( $userData['email'] .  $userData['id'] . $userData['password'] );

		if( $csrf != $_POST['csrfKey'] )
			exit;
	}

 

3 фикс, обновить панель 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Обновил панель до последней версии(точней полностью переустановил), фикс сделал, добавил 2 привилегии.
Первая привилегия не покупается, пишет ошибка, вторая покупается нормально.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
16 часов назад, FixIK сказал:

Обновил панель до последней версии(точней полностью переустановил), фикс сделал, добавил 2 привилегии.
Первая привилегия не покупается, пишет ошибка, вторая покупается нормально.

Хотя уже всё я решил сам, спасибо за помощ.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
3 часа назад, FixIK сказал:

Хотя уже всё я решил сам, спасибо за помощ.

На форумах обычно пишут решение проблемы если нашли его...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
2 минуты назад, ArKaNeMaN сказал:

На форумах обычно пишут решение проблемы если нашли его...

Я сам не понял что сделал, но вышеуказаные фиксы не работают.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
1 минуту назад, FixIK сказал:

Я сам не понял что сделал, но вышеуказаные фиксы не работают.

ОНи может и роботают, но админки не покупаются.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
6 минут назад, FixIK сказал:

ОНи может и роботают, но админки не покупаются.

 

Вот этот должен был помочь 

 

---

1 фикс закоментировать проверку ключа на линии 321

с 

$this->getKey();

на

//$this->getKey();

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
В 18.09.2018 в 19:02, greykoo сказал:

 

Вот этот должен был помочь 

 

---

1 фикс закоментировать проверку ключа на линии 321

с 

$this->getKey();

на

//$this->getKey();

А возможно ли сделать цены наапример на 360 дней свою цену, на 30 свою, на 90 свою.

Ато на год привилегия слишком дорого стоит...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Добрый день или вечер. Могу ли я поинтересоваться, если стабильная версия панельки?) 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
13 часов назад, Senpie16 сказал:

Добрый день или вечер. Могу ли я поинтересоваться, если стабильная версия панельки?) 

В каком плане стабильная? Это последняя версия... Новее некуда...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Косяки в профиле и при регистрации последнее время не записывается в бд, не знаю с чем связанно. Вроде все правильно прописывал.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×