<?php require_once 'fbApi/facebook.php'; require_once 'constants.php'; require_once 'publicationGen.php'; //fb login $facebook = new Facebook($appapikey, $appsecret); $user_id = $facebook->require_login(); //handle session work $session_key_hash = md5($facebook->api_client->session_key); session_id($session_key_hash); session_start(); session_unset(); //initialize basic user info using preloaded FQL $pfql = $facebook->get_valid_fb_params($_POST, null, 'fb_sig'); $userinfo = null; if (array_key_exists("userinfo", $pfql)) { $userinfo = json_decode($pfql["userinfo"]); } if ($userinfo != null) { $user_name = $userinfo[0][0]; $gender = $userinfo[0][1]; } else { $user_name = "Somebody"; $gender = "he/she"; } // create the publication fields to be used in post_to_stream call (fbjs) $pubGen = new PublicationGen($gender); ?> <fb:fbml>
<?php include_once '../lib/client/facebook.php'; include_once '../lib/AppConfig.class.php'; // Create a new Facebook client object $facebook = new Facebook(AppConfig::$api_key, AppConfig::$secret); // Prevent this page from being viewed outside the context of http://app.facebook.com/appname/ $facebook->require_frame(); // Prevent this page from being viewed without a valid logged in user // -- NOTE: This does not mean that the logged in user has added the application $user = $facebook->require_login(); // Require the viewing user to have added the application. $facebook->require_add(); // Use the get_valid_fb_params to return an array of the fb_sig_* parameters $app_params = $facebook->get_valid_fb_params($_POST, 48 * 3600, 'fb_sig'); // Use the generate_sig method to create a signature from the application parameters and the secret $request_sig = $facebook->generate_sig($app_params, AppConfig::$secret); $sig_match = $facebook->verify_signature($app_params, $request_sig); ?> <div style="padding: 10px;"> <h2>Hello <fb:name firstnameonly="true" uid="<?php echo $user; ?> " useyou="false"/>!</h2> <?php if ($sig_match) { ?> <p>The signature "<?php echo $request_sig; ?> " does match the request parameters.</p>