You are here

function fboauth_user_permissions in Facebook OAuth (FBOAuth) 6

Same name and namespace in other branches
  1. 7.2 includes/fboauth.fboauth.inc \fboauth_user_permissions()
  2. 7 includes/fboauth.fboauth.inc \fboauth_user_permissions()

Return a list of permissions based on a list of properties or connections.

Parameters

$access_requested: Optional. A list of Facebook user properties or connections. If not specified, a list of all known permissions will be returned.

Return value

A list of Facebook permission names necessary to access those properties or connections.

See also

http://developers.facebook.com/docs/reference/api/user/

http://developers.facebook.com/docs/authentication/permissions/

2 calls to fboauth_user_permissions()
fboauth_action_link_properties in ./fboauth.module
Return a set of properties suitable for use to a url() call.
fboauth_user_connect_permissions in includes/fboauth.fboauth.inc
Utility function to retrieve all permissions required for Facebook connect.

File

includes/fboauth.fboauth.inc, line 315
Provides functions used during Facebook login processes.

Code

function fboauth_user_permissions($access_requested = NULL) {
  $permissions = array();
  $permission_names = array(
    'user_about_me' => t('About yourself description'),
    'user_activities' => t('Your activities'),
    'user_birthday' => t('Your birthday'),
    'user_education_history' => t('Your education history'),
    'user_events' => t('Events you\'re attending'),
    'user_groups' => t('Your groups'),
    'user_hometown' => t('Your hometown'),
    'user_interests' => t('Your interests'),
    'user_likes' => t('Your likes'),
    'user_location' => t('Your location'),
    'user_notes' => t('Your notes'),
    'user_online_presence' => t('Your online/offline status'),
    'user_photo_video_tags' => t('Photos and videos you\'ve been tagged in'),
    'user_photos' => t('Photos you\'ve uploaded'),
    'user_relationships' => t('Access to your family and personal relationships and relationship status'),
    'user_relationship_details' => t('Your relationship preferences'),
    'user_religion_politics' => t('Your religious and political affiliations'),
    'user_status' => t('Your most recent status message'),
    'user_videos' => t('Videos you\'ve uploaded'),
    'user_website' => t('Your website URL'),
    'user_work_history' => t('Your work history'),
    'email' => t('Your e-mail'),
    'read_friendlists' => t('Access your lists of friends'),
    'read_insights' => t('Access your Facebook insights data'),
    'read_mailbox' => t('Access your Facebook inbox'),
    'read_requests' => t('Access your friend requests'),
    'read_stream' => t('Access your new feed'),
    'xmpp_login' => t('Log you into Facebook chat'),
    'ads_management' => t('Manage your ads'),
    'user_checkins' => t('Access check-in information'),
  );
  $properties = fboauth_user_properties();
  foreach ($properties as $property => $property_info) {
    if (isset($property_info['permission']) && (!isset($access_requested) || in_array($property, $access_requested))) {
      $permissions[$property_info['permission']] = isset($permission_names[$property_info['permission']]) ? $permission_names[$property_info['permission']] : $property_info['permission'];
    }
  }
  $connections = fboauth_user_connections();
  foreach ($connections as $connection => $connection_info) {
    if (isset($connection_info['permission']) && (!isset($access_requested) || in_array($connection, $access_requested))) {
      $permissions[$connection_info['permission']] = isset($permission_names[$connection_info['permission']]) ? $permission_names[$connection_info['permission']] : $connection_info['permission'];
    }
  }
  return $permissions;
}