/** * Set current member to the member ID specified * * @param integer Member ID * @return @e void */ public static function setMember($member_id) { //----------------------------------------- // INIT //----------------------------------------- $member_id = intval($member_id); $addrs = array(); //----------------------------------------- // If we have a member ID, set up the member //----------------------------------------- if ($member_id) { self::$data_store = IPSMember::load($member_id, 'extendedProfile,customFields,groups'); } /* Got a member ID? */ if (!empty($member_id) && self::$data_store['member_id']) { self::setUpMember(); self::instance()->language_id = self::$data_store['language']; # Form hash self::instance()->form_hash = md5(self::$data_store['email'] . '&' . self::$data_store['member_login_key'] . '&' . self::$data_store['joined']); } else { self::$data_store = IPSMember::setUpGuest(); self::instance()->perm_id = !empty(self::$data_store['org_perm_id']) ? self::$data_store['org_perm_id'] : self::$data_store['g_perm_id']; self::instance()->perm_id_array = explode(',', self::instance()->perm_id); if (IPSCookie::get('language')) { self::instance()->language_id = IPSCookie::get('language'); } # Form hash self::instance()->form_hash = md5("this is only here to prevent it breaking on guests"); } /* Get the ignored users */ if (IPS_AREA == 'public') { /* Ok, Fetch ignored users */ self::instance()->ignored_users = IPSMember::fetchIgnoredUsers(self::$data_store); } //----------------------------------------- // Set member data //----------------------------------------- self::instance()->member_id = $member_id; }
/** * Ignore signature */ protected function _ignoreSig() { $memberId = trim($this->request['memberId']); $memberId = is_numeric($memberId) ? $memberId : 'all'; /* Whut */ if ($memberId == 'all') { IPSMember::save($this->memberData['member_id'], array('core' => array('view_sigs' => 0))); } else { /* Insert or update? */ $ignored = IPSMember::fetchIgnoredUsers($this->memberData); if (!empty($ignored[$memberId])) { /* Update */ $this->DB->update('ignored_users', array('ignore_signatures' => 1), 'ignore_owner_id=' . $this->memberData['member_id'] . ' AND ignore_ignore_id=' . $memberId); } else { $this->DB->insert('ignored_users', array('ignore_owner_id' => $this->memberData['member_id'], 'ignore_ignore_id' => $memberId, 'ignore_messages' => 0, 'ignore_topics' => 0, 'ignore_signatures' => 1)); } /* Rebuild cache */ IPSMember::rebuildIgnoredUsersCache($this->memberData); } $this->returnJsonArray(array('status' => 'ok')); }