Beispiel #1
0
 function set_userinfo($uid = NULL)
 {
     static $cache;
     // cache for renderer
     if (is_null($uid) && isset($cache[$this->root->mydirname])) {
         $this->root->userinfo = $cache[$this->root->mydirname];
     }
     if (is_null($uid) || !$uid) {
         global $xoopsUser;
         $user = $xoopsUser;
     } else {
         $user_handler =& xoops_gethandler('user');
         $user =& $user_handler->get($uid);
     }
     if (is_object($user)) {
         $this->root->userinfo['admin'] = $user->isAdmin($this->root->module['mid']);
         $this->root->userinfo['uid'] = (int) $user->uid();
         $this->root->userinfo['email'] = $user->email();
         $this->root->userinfo['uname'] = $user->uname('n');
         $this->root->userinfo['uname_s'] = $this->htmlspecialchars($this->root->userinfo['uname']);
         $this->root->userinfo['name'] = $user->name('s');
         $this->root->userinfo['gids'] = $user->getGroups();
     } else {
         parent::set_userinfo();
         $this->root->userinfo['gids'] = array(XOOPS_GROUP_ANONYMOUS);
     }
     if (is_null($uid)) {
         $cache[$this->root->mydirname] = $this->root->userinfo;
     }
 }