public static function initDependencies(XenForo_Dependencies_Abstract $dependencies, array $data) { if ($dependencies instanceof XenForo_Dependencies_Public) { $data = XenForo_Model::create('XenForo_Model_DataRegistry')->get('brmsModernStatisticCache'); if (!isset($data['modernStatistics']) || !isset($data['positions'])) { $data = self::getModelFromCache('Brivium_ModernStatistic_Model_ModernStatistic')->rebuildModernStatisticCache(); } $statisticObj = new Brivium_ModernStatistic_ModernStatistic($data['modernStatistics']); XenForo_Application::set('brmsModernStatistics', $statisticObj); XenForo_Application::set('brmsPositions', $data['positions']); self::$_loaded = true; } }
public static function templateHook($hookName, &$contents, array $hookParams, XenForo_Template_Abstract $template) { $modernStatisticModel = XenForo_Model::create('Brivium_ModernStatistic_Model_ModernStatistic'); if (is_null(self::$_dismissed)) { self::$_dismissed = true; if (!$modernStatisticModel->checkExclude()) { self::$_dismissed = false; } } if (!self::$_dismissed) { $options = XenForo_Application::get('options'); $position = $options->BRMS_position; if ($position != 'other') { if ($hookName == $position) { $ourTemplate = $template->create('BRMS_ModernStatistic', $template->getParams()); $contents .= $ourTemplate->render(); } } if ($options->BRMS_loadFirstTab) { switch ($hookName) { case 'brms_modern_statistic_first_tabs': if (!empty($options->BRMS_tabsSelector)) { $tabId = -1; $xenAddons = XenForo_Application::get('addOns'); $userId = XenForo_Visitor::getUserId(); foreach ($options->BRMS_tabsSelector as $key => $tab) { if (!empty($tab['active']) && ($tab['kind'] != 'resource' || $modernStatisticModel->checkXenForoResourceAddon()) && ($tab['type'] != 'my_threads' || !empty($userId))) { $tabId = $key; break; } } if ($tabId != -1) { $limit = 0; $limitOptions = $options->BRMS_itemLimit; if (!empty($limitOptions['enabled'])) { $request = new Zend_Controller_Request_Http(); $limit = $request->getCookie('brmsNumberEntry'); } $viewParams = $modernStatisticModel->getStatistics($tabId, $limit ? $limit : 0); $newTemplate = $template->create($viewParams['template'], $template->getParams()); $newTemplate->setParams($viewParams); $contents = $newTemplate->render(); } } break; } } } // NO! self::_templateHook($hookName, $contents, $hookParams, $template); }