/** * Constructor * * @param object ipsRegistry reference * @return @e void */ public function __construct(ipsRegistry $registry) { parent::__construct($registry); /* Load and init forums */ if (ipsRegistry::isClassLoaded('class_forums') !== TRUE) { try { $classToLoad = IPSLib::loadLibrary(IPSLib::getAppDir('forums') . "/sources/classes/forums/class_forums.php", 'class_forums', 'forums'); $this->registry->setClass('class_forums', new $classToLoad($registry)); } catch (Exception $error) { IPS_exception_error($error); } $this->registry->getClass('class_forums')->strip_invisible = 1; $this->registry->getClass('class_forums')->forumsInit(); $this->memberData = IPSMember::setUpModerator($this->memberData); } /* Load topic class */ if (!$this->registry->isClassLoaded('topics')) { $classToLoad = IPSLib::loadLibrary(IPSLib::getAppDir('forums') . "/sources/classes/topics.php", 'app_forums_classes_topics', 'forums'); $this->registry->setClass('topics', new $classToLoad($this->registry)); } }
/** * Construct. * @access public * @param object Registry * @param string Plug in key * @return @e void */ public function __construct($registry, $plugin) { /* Make object */ $this->registry = $registry; $this->DB = $this->registry->DB(); $this->settings =& $this->registry->fetchSettings(); $this->request =& $this->registry->fetchRequest(); $this->lang = $this->registry->getClass('class_localization'); $this->member = $this->registry->member(); $this->memberData =& $this->registry->member()->fetchMemberData(); $this->cache = $this->registry->cache(); $this->caches =& $this->registry->cache()->fetchCaches(); /* Store */ $this->_pluginKey = $plugin; try { $this->_initPlugin($plugin); } catch (Exception $e) { return $e->getMessage(); } /* Verify moderator perms are set */ $this->memberData = IPSMember::setUpModerator($this->memberData); }
/** * Creates all the registry shorctus * * @access public * @param object ipsRegistry reference * @return @e void */ public function makeRegistryShortcuts(ipsRegistry $registry) { /* Make registry objects */ $this->registry = $registry; $this->DB = $this->registry->DB(); $this->settings =& $this->registry->fetchSettings(); $this->request =& $this->registry->fetchRequest(); $this->lang = $this->registry->getClass('class_localization'); $this->member = $this->registry->member(); $this->memberData =& $this->registry->member()->fetchMemberData(); $this->cache = $this->registry->cache(); $this->caches =& $this->registry->cache()->fetchCaches(); $this->memberData = IPSMember::setUpModerator($this->memberData); $classToLoad = IPSLib::loadLibrary(IPS_KERNEL_PATH . 'classAjax.php', 'classAjax'); $this->ajax = new $classToLoad(); IPSDebug::fireBug('registerExceptionHandler'); IPSDebug::fireBug('registerErrorHandler'); }
/** * Magic Call method * * @param string Method Name * @param mixed Method arguments * @return mixed * Exception codes: */ public function __call($method, $arguments) { $firstBit = substr($method, 0, 3); $theRest = substr($method, 3); if (in_array($theRest, $this->_allowedInternalData)) { if ($firstBit == 'set') { if ($theRest == 'Author') { if (is_array($arguments[0])) { $this->_internalData[$theRest] = $arguments[0]; } else { if ($arguments[0]) { /* Set up moderator stuff, too */ $this->_internalData[$theRest] = IPSMember::setUpModerator(IPSMember::load(intval($arguments[0]), 'all')); /* And ignored users */ $this->_internalData[$theRest]['ignored_users'] = array(); $this->registry->DB()->build(array('select' => '*', 'from' => 'ignored_users', 'where' => "ignore_owner_id=" . intval($arguments[0]))); $this->registry->DB()->execute(); while ($r = $this->registry->DB()->fetch()) { $this->_internalData[$theRest]['ignored_users'][] = $r['ignore_ignore_id']; } } else { $this->_internalData[$theRest] = IPSMember::setUpGuest(); } } if ($this->_internalData['Author']['mgroup_others']) { $_others = explode(',', IPSText::cleanPermString($this->_internalData['Author']['mgroup_others'])); $_perms = array(); foreach ($_others as $_other) { $_perms[] = $this->caches['group_cache'][$_other]['g_perm_id']; } if (count($_perms)) { $this->_internalData['Author']['g_perm_id'] = $this->_internalData['Author']['g_perm_id'] . ',' . implode(',', $_perms); } } } else { $this->_internalData[$theRest] = $arguments[0]; return TRUE; } } else { if (($theRest == 'Author' or $theRest == 'Settings' or $theRest == 'ModOptions') and isset($arguments[0])) { return isset($this->_internalData[$theRest][$arguments[0]]) ? $this->_internalData[$theRest][$arguments[0]] : ''; } else { return isset($this->_internalData[$theRest]) ? $this->_internalData[$theRest] : ''; } } } else { switch ($method) { case 'setForumData': $this->_forumData = $arguments[0]; break; case 'setPostData': $this->_postData = $arguments[0]; break; case 'setTopicData': $this->_topicData = $arguments[0]; break; case 'getForumData': if (!empty($arguments[0])) { return $this->_forumData[$arguments[0]]; } else { return $this->_forumData; } break; case 'getPostData': if (!empty($arguments[0])) { return $this->_postData[$arguments[0]]; } else { return $this->_postData; } break; case 'getTopicData': if (!empty($arguments[0])) { return $this->_topicData[$arguments[0]]; } else { return $this->_topicData; } break; case 'getPostError': return isset($this->lang->words[$this->_postErrors]) ? $this->lang->words[$this->_postErrors] : $this->_postErrors; break; } } }
/** * Constructor * * @param object ipsRegistry reference * @return @e void */ public function __construct(ipsRegistry $registry) { /* Make object */ $this->registry = $registry; $this->DB = $this->registry->DB(); $this->settings =& $this->registry->fetchSettings(); $this->request =& $this->registry->fetchRequest(); $this->cache = $this->registry->cache(); $this->caches =& $this->registry->cache()->fetchCaches(); $this->lang = $this->registry->getClass('class_localization'); $this->member = $this->registry->member(); $this->memberData =& $this->registry->member()->fetchMemberData(); if (IN_ACP) { try { require_once IPSLib::getAppDir('forums') . "/sources/classes/forums/class_forums.php"; /*noLibHook*/ $classToLoad = IPSLib::loadLibrary(IPSLib::getAppDir('forums') . "/sources/classes/forums/admin_forum_functions.php", 'admin_forum_functions', 'forums'); $this->registry->setClass('class_forums', new $classToLoad($registry)); $this->registry->getClass('class_forums')->strip_invisible = 0; } catch (Exception $error) { IPS_exception_error($error); } } else { try { $classToLoad = IPSLib::loadLibrary(IPSLib::getAppDir('forums') . "/sources/classes/forums/class_forums.php", 'class_forums', 'forums'); $this->registry->setClass('class_forums', new $classToLoad($registry)); $this->registry->getClass('class_forums')->strip_invisible = 1; } catch (Exception $error) { IPS_exception_error($error); } } //--------------------------------------------------- // Grab and cache the topic now as we need the 'f' attr for // the skins... //--------------------------------------------------- if (!empty($_GET['showtopic'])) { /* Load tagging stuff */ if (!$this->registry->isClassLoaded('tags')) { require_once IPS_ROOT_PATH . 'sources/classes/tags/bootstrap.php'; /*noLibHook*/ $this->registry->setClass('tags', classes_tags_bootstrap::run('forums', 'topics')); } $this->request['t'] = intval($_GET['showtopic']); $this->DB->build(array('select' => 't.*', 'from' => array('topics' => 't'), 'where' => 't.tid=' . $this->request['t'], 'add_join' => array($this->registry->tags->getCacheJoin(array('meta_id_field' => 't.tid'))))); $this->DB->execute(); $topic = $this->DB->fetch(); $this->registry->getClass('class_forums')->topic_cache = $topic; $this->request['f'] = $topic['forum_id']; /* Update query location */ $this->member->sessionClass()->addQueryKey('location_2_id', ipsRegistry::$request['f']); } $this->registry->getClass('class_forums')->forumsInit(); //----------------------------------------- // Set up moderators //----------------------------------------- $this->memberData = IPSMember::setUpModerator($this->memberData); /* Other set up for this app */ $this->settings['topic_title_max_len'] = $this->settings['topic_title_max_len'] > 2 ? $this->settings['topic_title_max_len'] : 2; }
/** * Determine if user can still access forum * * @param array Topic/member/forum data * @param boolean Check topic access * @return boolean */ public function checkEmailAccess($t, $checkTopic = true) { //----------------------------------------- // Test for group permissions //----------------------------------------- $member_groups = array($t['member_group_id']); $mgroup_others = ""; $temp_mgroups = array(); $mgroup_perms = array(); $t['mgroup_others'] = IPSText::cleanPermString($t['mgroup_others']); if ($t['mgroup_others']) { $temp_mgroups = explode(",", $t['mgroup_others']); if (count($temp_mgroups)) { foreach ($temp_mgroups as $other_mgroup) { /* Does it exist? */ if ($this->caches['group_cache'][$other_mgroup]['g_perm_id']) { $member_groups[] = $other_mgroup; $mgroup_perms[] = $this->caches['group_cache'][$other_mgroup]['g_perm_id']; } } } if (count($mgroup_perms)) { $mgroup_others = "," . implode(",", $mgroup_perms) . ","; } } $perm_id = $t['org_perm_id'] ? $t['org_perm_id'] : $this->caches['group_cache'][$t['member_group_id']]['g_perm_id'] . $mgroup_others; //----------------------------------------- // Can they view forum? //----------------------------------------- if ($this->registry->permissions->check('view', $this->allForums[$t['forum_id']], explode(',', $perm_id)) !== TRUE) { return false; } //----------------------------------------- // Can they read topics in the forum? //----------------------------------------- if ($this->registry->permissions->check('read', $this->allForums[$t['forum_id']], explode(',', $perm_id)) !== TRUE) { return false; } //----------------------------------------- // Can view others topics //----------------------------------------- if ($checkTopic) { $canViewOthers = false; $t = IPSMember::setUpModerator($t); foreach ($member_groups as $mgroup) { if ($this->caches['group_cache'][$mgroup]['g_other_topics']) { $canViewOthers = true; } } if (!$canViewOthers and $t['starter_id'] != $t['member_id']) { return false; } else { if (!$this->allForums[$t['forum_id']]['can_view_others'] and $t['starter_id'] != $t['member_id'] and !$t['is_mod']) { return false; } } } //----------------------------------------- // Minimum posts to view //----------------------------------------- if ($this->allForums[$t['forum_id']]['min_posts_view'] && $this->allForums[$t['forum_id']]['min_posts_view'] > $t['posts'] && !$t['g_is_supmod']) { return false; } //----------------------------------------- // Banned? //----------------------------------------- if ($t['member_banned']) { return false; } $_canView = false; foreach ($member_groups as $mgroup) { if ($this->caches['group_cache'][$mgroup]['g_view_board']) { $_canView = true; break; } } return $_canView; }
/** * Parse a member for display * * @param mixed Either array of member data, or member ID to self load * @param array Array of flags to parse: 'signature', 'customFields', 'warn' * @return array Parsed member data */ public static function buildDisplayData($member, $_parseFlags = array()) { $_NOW = IPSDebug::getMemoryDebugFlag(); /* test to see if member_title has been passed */ if (isset($member['member_title'])) { $member['title'] = $member['member_title']; } //----------------------------------------- // Figure out parse flags //----------------------------------------- $parseFlags = array('signature' => isset($_parseFlags['signature']) ? $_parseFlags['signature'] : 0, 'customFields' => isset($_parseFlags['customFields']) ? $_parseFlags['customFields'] : 0, 'reputation' => isset($_parseFlags['reputation']) ? $_parseFlags['reputation'] : 1, 'warn' => isset($_parseFlags['warn']) ? $_parseFlags['warn'] : 1, 'cfSkinGroup' => isset($_parseFlags['cfSkinGroup']) ? $_parseFlags['cfSkinGroup'] : '', 'cfGetGroupData' => isset($_parseFlags['cfGetGroupData']) ? $_parseFlags['cfGetGroupData'] : '', 'cfLocation' => isset($_parseFlags['cfLocation']) ? $_parseFlags['cfLocation'] : '', 'checkFormat' => isset($_parseFlags['checkFormat']) ? $_parseFlags['checkFormat'] : 0, 'photoTagSize' => isset($_parseFlags['photoTagSize']) ? $_parseFlags['photoTagSize'] : false, 'spamStatus' => isset($_parseFlags['spamStatus']) ? $_parseFlags['spamStatus'] : 0); if (isset($_parseFlags['__all__'])) { foreach ($parseFlags as $k => $v) { if (in_array($k, array('cfSkinGroup', 'cfGetGroupData', 'photoTagSize'))) { continue; } $parseFlags[$k] = 1; } $parseFlags['spamStatus'] = !empty($parseFlags['spamStatus']) ? 1 : 0; } //----------------------------------------- // Load the member? //----------------------------------------- if (!is_array($member) and ($member == intval($member) and $member > 0)) { $member = self::load($member, 'all'); } //----------------------------------------- // Caching //----------------------------------------- static $buildMembers = array(); $_key = $member['member_id']; $_arr = serialize($member); foreach ($parseFlags as $_flag => $_value) { $_key .= $_flag . $_value; } $_key = md5($_key . $_arr); if (isset($buildMembers[$_key])) { IPSDebug::setMemoryDebugFlag("IPSMember::buildDisplayData: " . $member['member_id'] . " - CACHED", $_NOW); return $buildMembers[$_key]; } //----------------------------------------- // Basics //----------------------------------------- if (!$member['member_group_id']) { $member['member_group_id'] = ipsRegistry::$settings['guest_group']; } /* Unpack bitwise if required */ if (!isset($member['bw_is_spammer'])) { $member = self::buildBitWiseOptions($member); } //----------------------------------------- // INIT //----------------------------------------- $rank_cache = ipsRegistry::cache()->getCache('ranks'); $group_cache = ipsRegistry::cache()->getCache('group_cache'); $group_name = self::makeNameFormatted($group_cache[$member['member_group_id']]['g_title'], $member['member_group_id']); $pips = 0; $topic_id = intval(isset(ipsRegistry::$request['t']) ? ipsRegistry::$request['t'] : 0); $forum_id = intval(isset(ipsRegistry::$request['f']) ? ipsRegistry::$request['f'] : 0); //----------------------------------------- // SEO Name //----------------------------------------- $member['members_seo_name'] = self::fetchSeoName($member); $member['_group_formatted'] = $group_name; //----------------------------------------- // Ranks //----------------------------------------- if (is_array($rank_cache) and count($rank_cache)) { foreach ($rank_cache as $k => $v) { if ($member['posts'] >= $v['POSTS']) { if (empty($member['title'])) { $member['title'] = $v['TITLE']; } $pips = $v['PIPS']; break; } } } //----------------------------------------- // Group image //----------------------------------------- $member['member_rank_img'] = ''; $member['member_rank_img_i'] = ''; if ($group_cache[$member['member_group_id']]['g_icon']) { $_img = $group_cache[$member['member_group_id']]['g_icon']; if (substr($_img, 0, 4) != 'http' and strpos($_img, '{style_images_url}') === false) { $_img = ipsRegistry::$settings['_original_base_url'] . '/' . ltrim($_img, '/'); } $member['member_rank_img_i'] = 'img'; $member['member_rank_img'] = $_img; } else { if ($pips and $member['member_id']) { if (is_numeric($pips)) { for ($i = 1; $i <= $pips; ++$i) { $member['member_rank_img_i'] = 'pips'; $member['member_rank_img'] = $member['member_rank_img'] . ipsRegistry::getClass('output')->getReplacement('pip_pip'); } } else { $member['member_rank_img_i'] = 'img'; $member['member_rank_img'] = ipsRegistry::$settings['public_dir'] . 'style_extra/team_icons/' . $pips; } } } //----------------------------------------- // Moderator data //----------------------------------------- if (($parseFlags['spamStatus'] or $parseFlags['warn']) and $member['member_id']) { /* Possible forums class isn't init at this point */ if (!ipsRegistry::isClassLoaded('class_forums')) { try { $viewingMember = IPSMember::setUpModerator(ipsRegistry::member()->fetchMemberData()); ipsRegistry::member()->setProperty('forumsModeratorData', $viewingMember['forumsModeratorData']); } catch (Exception $error) { IPS_exception_error($error); } } $moderator = ipsRegistry::member()->getProperty('forumsModeratorData'); } $forum_id = isset(ipsRegistry::$request['f']) ? intval(ipsRegistry::$request['f']) : 0; //----------------------------------------- // Spammer status //----------------------------------------- if ($parseFlags['spamStatus'] and $member['member_id'] and ipsRegistry::member()->getProperty('member_id')) { /* Defaults */ $member['spamStatus'] = NULL; $member['spamImage'] = NULL; if (!empty($moderator[$forum_id]['bw_flag_spammers']) or ipsRegistry::member()->getProperty('g_is_supmod')) { if (!ipsRegistry::$settings['warn_on'] or !IPSMember::isInGroup($member, explode(',', ipsRegistry::$settings['warn_protected']))) { if ($member['bw_is_spammer']) { $member['spamStatus'] = TRUE; } else { $member['spamStatus'] = FALSE; } } } } //----------------------------------------- // Warny porny? //----------------------------------------- $member['show_warn'] = FALSE; if ($parseFlags['warn'] and $member['member_id']) { if (ipsRegistry::$settings['warn_on'] and !IPSMember::isInGroup($member, explode(',', ipsRegistry::$settings['warn_protected']))) { /* Warnings */ if (!empty($moderator[$forum_id]['allow_warn']) or ipsRegistry::member()->getProperty('g_is_supmod') or ipsRegistry::$settings['warn_show_own'] and ipsRegistry::member()->getProperty('member_id') == $member['member_id']) { $member['show_warn'] = TRUE; } else { if (is_array($moderator) && count($moderator) && !$forum_id) { foreach ($moderator as $forum) { if ($forum['allow_warn']) { $member['show_warn'] = TRUE; break; } } } } } } //----------------------------------------- // Profile fields stuff //----------------------------------------- $member['custom_fields'] = ""; if ($parseFlags['customFields'] == 1 and $member['member_id']) { if (isset(self::$_parsedCustomFields[$member['member_id']])) { $member['custom_fields'] = self::$_parsedCustomFields[$member['member_id']]; if ($parseFlags['cfGetGroupData'] and isset(self::$_parsedCustomGroups[$member['member_id']]) and is_array(self::$_parsedCustomGroups[$member['member_id']])) { $member['custom_field_groups'] = self::$_parsedCustomGroups[$member['member_id']]; } else { if ($parseFlags['cfGetGroupData']) { $member['custom_field_groups'] = self::$custom_fields_class->fetchGroupTitles(); self::$_parsedCustomGroups[$member['member_id']] = $member['custom_field_groups']; } } } else { if (!is_object(self::$custom_fields_class)) { $classToLoad = IPSLib::loadLibrary(IPS_ROOT_PATH . 'sources/classes/customfields/profileFields.php', 'customProfileFields'); self::$custom_fields_class = new $classToLoad(); } if (self::$custom_fields_class) { self::$custom_fields_class->member_data = $member; self::$custom_fields_class->skinGroup = $parseFlags['cfSkinGroup']; self::$custom_fields_class->initData(); self::$custom_fields_class->parseToView($parseFlags['checkFormat'], $parseFlags['cfLocation']); $member['custom_fields'] = self::$custom_fields_class->out_fields; self::$_parsedCustomFields[$member['member_id']] = $member['custom_fields']; if ($parseFlags['cfGetGroupData']) { $member['custom_field_groups'] = self::$custom_fields_class->fetchGroupTitles(); self::$_parsedCustomGroups[$member['member_id']] = $member['custom_field_groups']; } } } } //----------------------------------------- // Profile photo //----------------------------------------- $member = self::buildProfilePhoto($member); if (!empty($parseFlags['photoTagSize'])) { $parseFlags['photoTagSize'] = is_array($parseFlags['photoTagSize']) ? $parseFlags['photoTagSize'] : array($parseFlags['photoTagSize']); foreach ($parseFlags['photoTagSize'] as $size) { $member['photoTag' . ucfirst($size)] = self::buildPhotoTag($member, $size); } } //----------------------------------------- // Signature bbcode //----------------------------------------- if (!empty($member['signature']) and $parseFlags['signature']) { if (isset(self::$_parsedSignatures[$member['member_id']])) { $member['signature'] = self::$_parsedSignatures[$member['member_id']]; } else { if ($member['cache_content']) { $member['signature'] = '<!--signature-cached-' . gmdate('r', $member['cache_updated']) . '-->' . $member['cache_content']; } else { /* Grab the parser file */ if (self::$_sigParser === null) { /* Load parser */ $classToLoad = IPSLib::loadLibrary(IPS_ROOT_PATH . 'sources/classes/text/parser.php', 'classes_text_parser'); self::$_sigParser = new $classToLoad(); } /* set up parser */ self::$_sigParser->set(array('memberData' => $member, 'parseBBCode' => 1, 'parseHtml' => $group_cache[$member['member_group_id']]['g_dohtml'] && $member['bw_html_sig'], 'parseEmoticons' => 1, 'parseArea' => 'signatures')); $member['signature'] = self::$_sigParser->display($member['signature']); IPSContentCache::update($member['member_id'], 'sig', $member['signature']); } self::$_parsedSignatures[$member['member_id']] = $member['signature']; } } //----------------------------------------- // If current session, reset last_activity //----------------------------------------- if (!empty($member['running_time'])) { $member['last_activity'] = $member['running_time'] > $member['last_activity'] ? $member['running_time'] : $member['last_activity']; } //----------------------------------------- // Online? //----------------------------------------- $time_limit = time() - ipsRegistry::$settings['au_cutoff'] * 60; $member['_online'] = 0; $bypass_anon = ipsRegistry::member()->getProperty('g_access_cp') ? 1 : 0; list($be_anon, $loggedin) = explode('&', empty($member['login_anonymous']) ? '0&0' : $member['login_anonymous']); /* Is not anon but the group might be forced to? */ if (empty($be_anon) && self::isLoggedInAnon($member)) { $be_anon = 1; } /* Finally set the online flag */ if (($member['last_visit'] > $time_limit or $member['last_activity'] > $time_limit) and ($be_anon != 1 or $bypass_anon == 1) and $loggedin == 1) { $member['_online'] = 1; } //----------------------------------------- // Last Active //----------------------------------------- $member['_last_active'] = ipsRegistry::getClass('class_localization')->getDate($member['last_activity'], 'SHORT'); // Member last logged in anonymous ? if ($be_anon == 1 && !ipsRegistry::member()->getProperty('g_access_cp')) { $member['_last_active'] = ipsRegistry::getClass('class_localization')->words['private']; } //----------------------------------------- // Rating //----------------------------------------- $member['_pp_rating_real'] = intval($member['pp_rating_real']); //----------------------------------------- // Display name formatted //----------------------------------------- $member['members_display_name_formatted'] = self::makeNameFormatted($member['members_display_name'], $member['member_id'] ? $member['member_group_id'] : ipsRegistry::$settings['guest_group']); //----------------------------------------- // Long display names //----------------------------------------- $member['members_display_name_short'] = IPSText::truncate($member['members_display_name'], 16); //----------------------------------------- // Reputation //----------------------------------------- $member['pp_reputation_points'] = $member['pp_reputation_points'] ? $member['pp_reputation_points'] : 0; if ($parseFlags['reputation'] and $member['member_id']) { if (!ipsRegistry::isClassLoaded('repCache')) { $classToLoad = IPSLib::loadLibrary(IPS_ROOT_PATH . 'sources/classes/class_reputation_cache.php', 'classReputationCache'); ipsRegistry::setClass('repCache', new $classToLoad()); } $member['author_reputation'] = ipsRegistry::getClass('repCache')->getReputation($member['pp_reputation_points']); } //----------------------------------------- // Other stuff not worthy of individual comments //----------------------------------------- $member['members_profile_views'] = isset($member['members_profile_views']) ? $member['members_profile_views'] : 0; /* BG customization */ if ($member['pp_customization'] and !empty($member['gbw_allow_customization']) and !$member['bw_disable_customization']) { $member['customization'] = IPSLib::safeUnserialize($member['pp_customization']); if (is_array($member['customization'])) { /* Figure out BG URL */ if ($member['customization']['type'] == 'url' and $member['customization']['bg_url'] and $member['gbw_allow_url_bgimage']) { $member['customization']['_bgUrl'] = $member['customization']['bg_url']; } else { if ($member['customization']['type'] == 'upload' and $member['customization']['bg_url'] and $member['gbw_allow_upload_bgimage']) { $member['customization']['_bgUrl'] = ipsRegistry::$settings['upload_url'] . '/' . $member['customization']['bg_url']; } else { if ($member['customization']['bg_color']) { $member['customization']['type'] = 'bgColor'; } } } } } /* Title is ambigious */ $member['member_title'] = $member['title']; IPSDebug::setMemoryDebugFlag("IPSMember::buildDisplayData: " . $member['member_id'] . " - Completed", $_NOW); $buildMembers[$_key] = $member; return $member; }