2022-06-06 21:30:34 +00:00
< ? php
die ();
define ( 'GAME' , true );
include ( '_incl_data/__config.php' );
include ( '_incl_data/class/__db_connect.php' );
2022-08-25 11:23:36 +00:00
$u = User :: start ();
2022-06-06 21:30:34 +00:00
//
if ( isset ( $u -> info [ 'id' ])) {
$mcf = mysql_fetch_array ( mysql_query ( 'SELECT * FROM `mini_actions` WHERE `uid` = "' . $u -> info [ 'id' ] . '" AND (`val` = "vkauth" OR `val` = "fbauth" OR `val` = "okauth") LIMIT 1' ));
if ( isset ( $mcf [ 'id' ])) {
2023-01-10 16:29:32 +00:00
die ( 'Вы уже подтвердили одну страницу в социальной сети.' );
2022-06-06 21:30:34 +00:00
}
}
if ( ! isset ( $u -> info [ 'id' ])) {
2023-01-10 16:29:32 +00:00
echo 'Вы не авторизовались в игре.' ;
2022-06-06 21:30:34 +00:00
} elseif ( isset ( $_GET [ 'vkconnect' ])) {
//
require_once ( 'vk/VK.php' );
require_once ( 'vk/VKException.php' );
//
$vk_config = array (
'app_id' => '5145826' ,
'api_secret' => 'V90yIzlgSglfgrnHw7Ny' ,
2023-03-31 18:30:14 +00:00
'callback_url' => '/social.php?vkconnect' ,
2022-06-06 21:30:34 +00:00
'api_settings' => 'offline,friends,email'
);
$vk = new VK\VK ( $vk_config [ 'app_id' ], $vk_config [ 'api_secret' ]);
//
echo '<center style="font-size:20px;"><br><br>' ;
if ( isset ( $_GET [ 'error' ]) && $_GET [ 'error' ] == 'access_denied' ) {
2023-01-10 16:29:32 +00:00
echo 'Вы отказались привязывать свой аккаунт в социальной сети ВКонтакте.' ;
2022-06-06 21:30:34 +00:00
} else {
$access_token = $vk -> getAccessToken ( $_REQUEST [ 'code' ], $vk_config [ 'callback_url' ]);
if ( $access_token [ 'user_id' ] > 0 ) {
$mcf = mysql_fetch_array ( mysql_query ( 'SELECT * FROM `mini_actions` WHERE `val` = "vkauth" AND `ok` = "' . $access_token [ 'user_id' ] . '" LIMIT 1' ));
$ubn = mysql_fetch_array ( mysql_query ( 'SELECT `id` FROM `users` WHERE `id` = "' . $mcf [ 'uid' ] . '" AND `banned` = 0 LIMIT 1' ));
if ( ! isset ( $ubn [ 'id' ])) {
unset ( $mcf );
}
if ( isset ( $mcf [ 'id' ])) {
2023-01-10 16:29:32 +00:00
echo 'Ваш аккаунт уже был привязан к одному из персонажей!' ;
2022-06-06 21:30:34 +00:00
} else {
$bank = mysql_fetch_array ( mysql_query ( 'SELECT * FROM `bank` WHERE `uid` = "' . $u -> info [ 'id' ] . '" LIMIT 1' ));
//
if ( ! isset ( $bank [ 'id' ])) {
2023-01-10 16:29:32 +00:00
echo 'id игрока: ' . $u -> info [ 'id' ] . '<br>Откройте игровой банковский счет и попробуйте снова.' ;
2022-06-06 21:30:34 +00:00
} else {
mysql_query ( 'UPDATE `bank` SET `money2` = `money2` + 1, `money1` = `money1` + 150 WHERE `id` = "' . $bank [ 'id' ] . '" LIMIT 1' );
mysql_query ( ' INSERT INTO `mini_actions` ( `uid` , `time` , `val` , `var` , `var2` , `ok` ) VALUES (
" '. $u->info ['id'].' " , " '.time().' " , " vkauth " , " '.mysql_real_escape_string( $access_token['email'] ).' " ,
" '.mysql_real_escape_string( $access_token['access_token'] ).' " , " '.mysql_real_escape_string( $access_token['user_id'] ).' "
) ' );
//
2023-01-10 16:29:32 +00:00
echo 'Ваш аккаунт успешно привязан! Спасибо!<br>Н а счет персонажа <b>' . $u -> info [ 'login' ] . '</b> зачислен 1 екр. и 150 кр.' ;
2022-06-06 21:30:34 +00:00
}
}
} else {
2023-01-10 16:29:32 +00:00
echo 'Информация не получена, попробуйте снова.' ;
2022-06-06 21:30:34 +00:00
}
}
2023-01-10 16:29:32 +00:00
echo '<br><br>(Через 5 секунд окно автоматически закроется)' ;
2022-06-06 21:30:34 +00:00
echo '</center>' ;
echo '<script>window.opener.location.href=\'main.php?inv=1\';setTimeout("window.close();",5000);</script>' ;
//
} elseif ( isset ( $_GET [ 'fbconnect' ])) {
//
require_once ( 'vk/FB.php' );
2023-01-10 16:29:32 +00:00
// Пример использования класса:
2022-06-06 21:30:34 +00:00
session_start ();
if ( ! empty ( $_GET [ 'error' ])) {
2023-01-10 16:29:32 +00:00
// Пришёл ответ с ошибкой. Например, юзер отменил авторизацию.
2022-06-06 21:30:34 +00:00
die ( $_GET [ 'error' ]);
} elseif ( empty ( $_GET [ 'code' ])) {
2023-01-10 16:29:32 +00:00
// Самый первый запрос
2022-06-06 21:30:34 +00:00
OAuthFB :: goToAuth ();
} else {
2023-01-10 16:29:32 +00:00
// Пришёл ответ без ошибок после запроса авторизации
2022-06-06 21:30:34 +00:00
if ( ! OAuthFB :: checkState ( $_GET [ 'state' ])) {
die ( " The state does not match. You may be a victim of CSRF. " );
}
if ( ! OAuthFB :: getToken ( $_GET [ 'code' ])) {
die ( 'Error - no token by code' );
}
$user = OAuthFB :: getUser ();
if ( isset ( $user -> id )) {
$mcf = mysql_fetch_array ( mysql_query ( 'SELECT * FROM `mini_actions` WHERE `val` = "fbauth" AND `ok` = "' . $user -> id . '" LIMIT 1' ));
$ubn = mysql_fetch_array ( mysql_query ( 'SELECT `id` FROM `users` WHERE `id` = "' . $mcf [ 'uid' ] . '" AND `banned` = 0 LIMIT 1' ));
if ( ! isset ( $ubn [ 'id' ])) {
unset ( $mcf );
}
if ( isset ( $mcf [ 'id' ])) {
2023-01-10 16:29:32 +00:00
echo 'Ваш аккаунт уже был привязан к одному из персонажей!' ;
2022-06-06 21:30:34 +00:00
} else {
$bank = mysql_fetch_array ( mysql_query ( 'SELECT * FROM `bank` WHERE `uid` = "' . $u -> info [ 'id' ] . '" LIMIT 1' ));
//
if ( ! isset ( $bank [ 'id' ])) {
2023-01-10 16:29:32 +00:00
echo 'id игрока: ' . $u -> info [ 'id' ] . '<br>Откройте игровой банковский счет и попробуйте снова.' ;
2022-06-06 21:30:34 +00:00
} else {
mysql_query ( 'UPDATE `bank` SET `money2` = `money2` + 1, `money1` = `money1` + 150 WHERE `id` = "' . $bank [ 'id' ] . '" LIMIT 1' );
mysql_query ( ' INSERT INTO `mini_actions` ( `uid` , `time` , `val` , `var` , `var2` , `ok` ) VALUES (
" '. $u->info ['id'].' " , " '.time().' " , " fbauth " , " '.mysql_real_escape_string( $user->id ).' " ,
" " , " '.mysql_real_escape_string( $user->id ).' "
) ' );
//
2023-01-10 16:29:32 +00:00
echo 'Ваш аккаунт успешно привязан! Спасибо!<br>Н а счет персонажа <b>' . $u -> info [ 'login' ] . '</b> зачислен 1 екр. и 150 кр.' ;
2022-06-06 21:30:34 +00:00
}
}
2023-01-10 16:29:32 +00:00
echo '<br><br>(Через 5 секунд окно автоматически закроется)' ;
2022-06-06 21:30:34 +00:00
echo '</center>' ;
echo '<script>window.opener.location.href=\'main.php?inv=1\';setTimeout("window.close();",5000);</script>' ;
} else {
2023-01-10 16:29:32 +00:00
die ( 'Н е удалось получить данные вашей странички Facebook' );
2022-06-06 21:30:34 +00:00
}
/*
2023-01-10 16:29:32 +00:00
* Вот и всё - мы узнали основные данные авторизованного юзера .
* $user в этом примере состоит из двух полей : id , name .
* Делайте с ними что угодно - регистрируйте , авторизуйте , ругайте ...
2022-06-06 21:30:34 +00:00
*/
}
//
} else {
2023-01-10 16:29:32 +00:00
echo 'Мы не работает с подобной социальной сетью.' ;
2022-06-06 21:30:34 +00:00
}
?>