/** * Handles the custom data that needs to be preloaded. * * @param array $data Data that was loaded. Unsuccessfully loaded items will have a value of null */ protected function _handleCustomPreloadedData(array &$data) { if (!is_array($data['routesPublic'])) { $data['routesPublic'] = XenForo_Model::create('XenForo_Model_RoutePrefix')->rebuildRoutePrefixTypeCache('public'); } XenForo_Link::setHandlerInfoForGroup('public', $data['routesPublic']); if (!is_array($data['bannedIps']) || !isset($data['bannedIps']['version'])) { $data['bannedIps'] = XenForo_Model::create('XenForo_Model_Banning')->rebuildBannedIpCache(); } XenForo_Application::set('bannedIps', $data['bannedIps']); if (!is_array($data['discouragedIps']) || !isset($data['discouragedIps']['version'])) { $data['discouragedIps'] = XenForo_Model::create('XenForo_Model_Banning')->rebuildDiscouragedIpCache(); } XenForo_Application::set('discouragedIps', $data['discouragedIps']); if (!is_array($data['styles'])) { $data['styles'] = XenForo_Model::create('XenForo_Model_Style')->rebuildStyleCache(); } XenForo_Application::set('styles', $data['styles']); if (!is_array($data['nodeTypes'])) { $data['nodeTypes'] = XenForo_Model::create('XenForo_Model_Node')->rebuildNodeTypeCache(); } XenForo_Application::set('nodeTypes', $data['nodeTypes']); if (!is_array($data['smilies'])) { $data['smilies'] = XenForo_Model::create('XenForo_Model_Smilie')->rebuildSmilieCache(); } XenForo_Application::set('smilies', $data['smilies']); if (!is_array($data['bbCode'])) { $data['bbCode'] = XenForo_Model::create('XenForo_Model_BbCode')->rebuildBbCodeCache(); } XenForo_Application::set('bbCode', $data['bbCode']); if (!is_array($data['threadPrefixes'])) { $data['threadPrefixes'] = XenForo_Model::create('XenForo_Model_ThreadPrefix')->rebuildPrefixCache(); } XenForo_Application::set('threadPrefixes', $data['threadPrefixes']); XenForo_Template_Helper_Core::setThreadPrefixes($data['threadPrefixes']); if (!is_array($data['displayStyles'])) { $data['displayStyles'] = XenForo_Model::create('XenForo_Model_UserGroup')->rebuildDisplayStyleCache(); } XenForo_Application::set('displayStyles', $data['displayStyles']); XenForo_Template_Helper_Core::setDisplayStyles($data['displayStyles']); if (!is_array($data['userBanners'])) { $data['userBanners'] = XenForo_Model::create('XenForo_Model_UserGroup')->rebuildUserBannerCache(); } XenForo_Application::set('userBanners', $data['userBanners']); XenForo_Template_Helper_Core::setUserBanners($data['userBanners']); if (!is_array($data['userTitleLadder'])) { $data['userTitleLadder'] = XenForo_Model::create('XenForo_Model_UserTitleLadder')->rebuildUserTitleLadderCache(); } XenForo_Application::set('userTitleLadder', $data['userTitleLadder']); XenForo_Template_Helper_Core::setUserTitles($data['userTitleLadder'], XenForo_Application::getOptions()->userTitleLadderField); if (!is_array($data['notices'])) { $data['notices'] = XenForo_Model::create('XenForo_Model_Notice')->rebuildNoticeCache(); } XenForo_Application::set('notices', $data['notices']); if (!is_array($data['userFieldsInfo'])) { $data['userFieldsInfo'] = XenForo_Model::create('XenForo_Model_UserField')->rebuildUserFieldCache(); } XenForo_Application::set('userFieldsInfo', $data['userFieldsInfo']); if (is_array($data['reportCounts'])) { XenForo_Application::set('reportCounts', $data['reportCounts']); } if (is_array($data['moderationCounts'])) { XenForo_Application::set('moderationCounts', $data['moderationCounts']); } if (is_array($data['userModerationCounts'])) { XenForo_Application::set('userModerationCounts', $data['userModerationCounts']); } }