function fboauth_action_link_properties in Facebook OAuth (FBOAuth) 7
Same name and namespace in other branches
- 6 fboauth.module \fboauth_action_link_properties()
- 7.2 fboauth.module \fboauth_action_link_properties()
Return a set of properties suitable for use to a url() call.
2 calls to fboauth_action_link_properties()
- fboauth_action_display in ./
fboauth.module - Output a Facebook link.
- fboauth_action_page in includes/
fboauth.fboauth.inc - Menu callback; The main page for processing OAuth login transactions.
File
- ./
fboauth.module, line 341
Code
function fboauth_action_link_properties($action_name, $redirect = NULL, $app_id = NULL) {
// Use the default App ID if not specified.
$app_id = isset($app_id) ? $app_id : variable_get('fboauth_id', '');
$action = fboauth_action_load($action_name);
// Determine the required permissions for this action.
if (!empty($action['permissions'])) {
$permissions = $action['permissions'];
}
elseif (!empty($action['properties']) || !empty($action['connections'])) {
$properties = $action['properties'];
$connections = $action['connections'];
$permissions = array_keys(fboauth_user_permissions(array_merge($properties, $connections)));
}
else {
$permissions = array();
}
// Build the return query string.
$query = array();
if (isset($redirect)) {
$query['destination'] = $redirect;
}
elseif (!empty($_GET['destination'])) {
$query['destination'] = $_GET['destination'];
}
// Remove the destination path if it's pointing to the front page.
if (isset($query['destination']) && $query['destination'] === variable_get('site_frontpage', 'node')) {
unset($query['destination']);
}
$return = array(
'query' => array(
'client_id' => $app_id,
'redirect_uri' => fboauth_action_url('fboauth/' . $action_name, array(
'absolute' => TRUE,
'query' => $query,
)),
),
'href' => 'https://www.facebook.com/v2.2/dialog/oauth',
);
if ($permissions) {
$return['query']['scope'] = implode(',', $permissions);
}
return $return;
}