Я хочу изменить свой код так, чтобы сначала он проверил, понравилась ли пользователю страница.После этого (если да) возникнет вопрос, принять условия и, если он нажмет кнопку «Принять», появится диалоговое окно запроса разрешений Facebook.Как я могу это сделать?
Проблема в том, что каждый раз, когда пользователь нажимает на ссылку приложения, переменная $ user всегда ложна, но он входит в систему ...
<code><?php
require 'facebook.php';
$facebook = new Facebook(array(
'appId' => 'xxxxx',
'secret' => 'yyyyy',
'baseUrl' => 'http://hosting.address/',
'appBaseUrl' => 'http://apps.facebook.com/app-name/',
'fileUpload' => 'true',
));
// Get User ID
$user = $facebook->getUser();
$params = array(
scope => 'publish_stream,user_photos',
redirect_uri => 'http://www.facebook.com/xxxxx?sk=app_yyyyy&app_data=1'
);
$signed_request = $facebook->getSignedRequest();
$app_data = $signed_request["app_data"];
?>
<!doctype html>
<html xmlns:fb="http://www.facebook.com/2008/fbml">
<head>
<title>the title</title>
</head>
<body>
<?php if ($user){
try {
$user_profile = $facebook->api('/me');
$likes = $facebook->api("/me/likes/123123123"); //page ID
if( !empty($likes['data']) ){
$scope = 'publish_stream,user_photos';
$scope_params = explode(',',$scope);
$permissions = $facebook->api("/me/permissions");
if( array_key_exists('publish_stream', $permissions['data'][0]) && array_key_exists('user_photos', $permissions['data'][0]) && isset($app_data)) {
} else {
echo "<a href=\"/redirect.php\">accept</a></td>";
echo "<a href=\"http://www.facebook.com/pageurl\">deny</a></td>";
}
}else{
echo "<img width=\"520px\" src=\"no-fan.jpg\" />";
}
} catch (FacebookApiException $e) {
echo '<pre>'.htmlspecialchars(print_r($e, true)).'
';$ user = null;}} if ($ user) {} else {$ loginUrl = $ facebook-> getLoginUrl ($ params);эхо