Пример #1
0
 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;
     }
 }
Пример #2
0
 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);
 }