3 * Main user module file.
4 * Core Module. Deals with user integration.
11 * The access permition to be looked for
13 * The data casting (array)$access is not working, no idea why
15 * Redo all this according to the new implementation, it must be able to compare with other values
17 function user_access($access){
23 if(!is_array($access))
24 $access = array($access);
28 if($user['uid'] == 1){
32 if(!isset($permissions)){
33 $p = db_query("SELECT perm FROM {PRE_}permission WHERE rid IN (".implode(', ', array_keys($user['roles'])).")", TRUE);
35 foreach($p as $perms){
36 $permissions[] = $perms['perm'];
40 foreach($permissions as $perm){
41 foreach($access as $verify)
42 if(strpos($perm, $verify) !== FALSE){
51 function user_load($uid, $logged = FALSE){
55 //Security for main admin and anonymous
60 $user = db_query("SELECT * FROM {PRE_}users WHERE uid = ".$uid." AND uid > 0", TRUE, TRUE);
66 $roles = db_query("SELECT ur. * , r. * FROM {PRE_}users_roles ur INNER JOIN role r WHERE ur.rid = r.rid AND ur.uid = ".$uid."", TRUE);
68 foreach($roles as $r){
69 $user['roles'][$r['rid']] = $r['name'];
72 //Add the role logged in (or any name used)
74 $user['roles'][3] = user_roles(3);
78 $user['data'] = unserialize($user['data']);
84 function user_sessions($key){
88 $u = db_query("SELECT uid FROM {PRE_}sessions WHERE sid = '".$key."'", TRUE, TRUE);
93 $user['session'] = '';
96 $user = user_load($u['uid'], TRUE);
97 $user['session'] = $u;
106 function user_anonymous($session = ''){
111 $user['hostname'] = core_ip_address();
112 $user['roles'] = array(2 => user_roles(2));
113 $user['session'] = $session;
117 function user_roles($rid = NULL){
122 $role = db_query("SELECT * FROM {PRE_}role", TRUE);
124 //while($r = mysql_fetch_assoc($role)){
125 foreach($role as $r){
126 $roles[$r['rid']] = $r['name'];
139 * Add tabs to the user pages pages
141 function user_tabs($uid){
143 $skin_tabs = array('user/'.$uid => 'View',
144 'user/edit/'.$uid => 'Edit'
147 skin_tabs($skin_tabs);