function drd_server_load_user in Drupal Remote Dashboard Server 7
Same name and namespace in other branches
- 6 drd_server.module \drd_server_load_user()
Load user for session and check permission.
This function loads the user from the given session ID and checks his/her the permissions to access admin configuration of the site.
Parameters
$sid: The session ID that was returned by drd_server_connect().
Return value
Returns the global user object if session is valid and if permissions are sufficient, an error message otherwise.
See also
drd_server_connect
11 calls to drd_server_load_user()
File
- ./
drd_server.module, line 133
Code
function drd_server_load_user($sid) {
$account = drd_server_get_account_by_session($sid);
if (isset($account) && $account && $account->uid > 0) {
$account = drupal_unpack($account);
$account->roles = array();
$account->roles[DRUPAL_AUTHENTICATED_RID] = 'authenticated user';
$account->roles += db_query("SELECT r.rid, r.name FROM {role} r INNER JOIN {users_roles} ur ON ur.rid = r.rid WHERE ur.uid = :uid", array(
':uid' => $account->uid,
))
->fetchAllKeyed(0, 1);
}
else {
return t('You are not logged in.');
}
if (user_access('administer site configuration', $account)) {
global $user;
$user = $account;
return $user;
}
return t('You do not have permission to access system data.');
}