/** User Class, Called all the time * * @staticvar * @uses ModYes * @uses AdminYes * @uses get_awcsforum_word * @uses GetUserPermission * @since Version 2.5.8 */ function __construct() { global $wgUser, $awcUser_lang; static $here_already = null; if ($here_already == 'yes') { return; } $here_already = 'yes'; define('UserPerm', awcsforum_funcs::GetUserPermission($wgUser)); $this->mId = $wgUser->mId; $this->mName = $wgUser->mName; if ($this->mName == " ") { $this->mName = wfGetIP(); } $this->mRealName = $wgUser->mRealName; $this->mEmail = $wgUser->mEmail; $this->mTouched = $wgUser->mTouched; $this->cols = $wgUser->mOptions['cols']; $this->mOptions_cols = $wgUser->mOptions['cols']; $this->rows = $wgUser->mOptions['rows']; $this->language = $wgUser->mOptions['language']; if (strlen($this->language) == 0) { $this->language = awcs_forum_lang_default; } $awcUser_lang = $this->language; // awc_pdie($this->language); $this->nickname = isset($wgUser->mOptions['nickname']) ? $wgUser->mOptions['nickname'] : null; $this->timecorrection = isset($wgUser->mOptions['timecorrection']) ? $wgUser->mOptions['timecorrection'] : null; $this->mTouched = $wgUser->mTouched; $this->mGroups = $wgUser->mGroups; $this->mEditCount = isset($wgUser->mOptions['mEditCount']) ? $wgUser->mEditCount : null; $this->fancysig = isset($wgUser->fancysig) ? $wgUser->fancysig : null; $this->riched_disable = isset($wgUser->mOptions['riched_disable']) ? $wgUser->mOptions['riched_disable'] : 1; $this->edit_count = isset($wgUser->mEditCount) ? $wgUser->mEditCount : null; $this->canRead = $wgUser->isAllowed("awc_CanNotView") ? false : true; $this->canPost = $wgUser->isAllowed("awc_CanNotPost") ? false : true; $this->canDelete = $wgUser->isAllowed("awc_CanNotDelete") ? false : $wgUser->isAllowed("awc_CanDelete") ? true : false; $this->canEdit = $wgUser->isAllowed("awc_CanNotEdit") ? false : $wgUser->isAllowed("awc_CanEdit") ? true : false; $this->canSearch = $wgUser->isAllowed("awc_CanNotSearch") ? false : $wgUser->isAllowed("awc_CanSearch") ? true : false; foreach ($wgUser->mGroups as $groupis) { switch ($groupis) { case 'Forum:Mod': self::ModYes(); $wgUser->mEffectiveGroups[] = '*'; // used for cat & forums perm... $wgUser->mEffectiveGroups[] = 'user'; // used for cat & forums perm... break; case 'Forum:Admin': self::AdminYes(); $wgUser->mEffectiveGroups[] = '*'; // used for cat & forums perm... $wgUser->mEffectiveGroups[] = 'user'; // used for cat & forums perm... $wgUser->mEffectiveGroups[] = 'Forum:Mod'; // used for cat & forums perm... break; case 'bureaucrat': case 'sysop': $wgUser->mEffectiveGroups[] = 'Forum:Admin'; // used for cat & forums perm... $wgUser->mEffectiveGroups[] = 'Forum:Mod'; // used for cat & forums perm... $wgUser->mEffectiveGroups[] = '*'; // used for cat & forums perm... $wgUser->mEffectiveGroups[] = 'user'; // used for cat & forums perm... self::AdminYes(); break; } } $wgUser->mEffectiveGroups = array_unique($wgUser->mEffectiveGroups); // poor.. poor... poor... define('UserGroupPerm', implode(',', $wgUser->mEffectiveGroups)); if (empty($wgUser->mGroups)) { $this->group = get_awcsforum_word('word_mem'); } else { // find out how to get group names in different languages $this->group = implode(',', $wgUser->mGroups); } $this->isLoggedIn = $wgUser->isLoggedIn(); $this->pw = array(); #if($this->isLoggedIn == 1){ if (isset($_SESSION['forumPW'])) { $ids = explode(',', $_SESSION['forumPW']); foreach ($ids as $id) { $this->pw[$id] = $id; } #die(); } #} else { #$this->pw[0] = 0; #} #awc_pdie($_SESSION); // $this->canPost = }