/**
  * Update the Facebook page information stored for the site.
  *
  * @since 1.1
  *
  * @uses update_option()
  * @global Facebook_Loader $facebook_loader request app access secret to hash app access token
  * @param array $page_data data returned from Facebook Graph API permissions call
  * @return void
  */
 public static function update_publish_to_page($page_data)
 {
     global $facebook_loader;
     if (!(is_array($page_data) && !empty($page_data) && isset($page_data['id']))) {
         return;
     }
     $current_user_id = get_current_user_id();
     if (!$current_user_id) {
         return;
     }
     if (!class_exists('Facebook_User')) {
         require_once dirname(dirname(__FILE__)) . '/facebook-user.php';
     }
     // request access token based on current user session and specified page
     $write_pages = Facebook_User::get_permissioned_pages('CREATE_CONTENT');
     if (!($write_pages && is_array($write_pages) && isset($write_pages[$page_data['id']]) && isset($write_pages[$page_data['id']]['name']) && isset($write_pages[$page_data['id']]['access_token']))) {
         return;
     }
     if (!class_exists('Facebook_WP_Extend')) {
         require_once dirname(dirname(__FILE__)) . '/includes/facebook-php-sdk/class-facebook-wp.php';
     }
     // get long lived access token
     $access_token = Facebook_WP_Extend::exchange_token($write_pages[$page_data['id']]['access_token']);
     if (!$access_token) {
         return;
     }
     $value = array('id' => $page_data['id'], 'name' => $write_pages[$page_data['id']]['name'], 'access_token' => $access_token, 'set_by_user' => $current_user_id);
     if (isset($write_pages[$page_data['id']]['link'])) {
         $value['link'] = $write_pages[$page_data['id']]['link'];
     }
     if (isset($facebook_loader->credentials['app_secret'])) {
         $value['appsecret_proof'] = hash_hmac('sha256', $access_token, $facebook_loader->credentials['app_secret']);
     }
     update_option(self::OPTION_PUBLISH_TO_PAGE, $value);
 }