Example #1
0
 public function actionIndex()
 {
     $newsModules = AppbymePoralModule::getModuleList();
     $forumList = ForumUtils::getForumListForHtml();
     $navInfo = AppbymeUIDiyModel::getNavigationInfo(true);
     $tempModules = AppbymeUIDiyModel::getModules(true);
     // 初始化默认配置
     if (empty($navInfo) || empty($navInfo['navItemList']) || empty($tempModules)) {
         $navInfo = AppbymeUIDiyModel::initNavigation();
         $tempModules = AppbymeUIDiyModel::initModules();
     }
     // 必须存在发现导航
     $hasDiscoverNavItem = false;
     foreach ($navInfo['navItemList'] as $navItem) {
         if ($navItem['moduleId'] == AppbymeUIDiyModel::MODULE_ID_DISCOVER) {
             $hasDiscoverNavItem = true;
             break;
         }
     }
     !$hasDiscoverNavItem && array_unshift($navInfo['navItemList'], AppbymeUIDiyModel::initNavItemDiscover());
     // 必须存在发现和快发模块
     $isFindDiscover = $isFindFastpost = false;
     $discoverModule = AppbymeUIDiyModel::initDiscoverModule();
     $fastpostModule = AppbymeUIDiyModel::initFastpostModule();
     $modules = array();
     foreach ($tempModules as $module) {
         switch ($module['id']) {
             case AppbymeUIDiyModel::MODULE_ID_DISCOVER:
                 if (!$isFindDiscover) {
                     $isFindDiscover = true;
                     $discoverModule = $module;
                 }
                 break;
             case AppbymeUIDiyModel::MODULE_ID_FASTPOST:
                 if (!$isFindFastpost) {
                     $isFindFastpost = true;
                     $fastpostModule = $module;
                 }
                 break;
             default:
                 $modules[] = $module;
                 break;
         }
     }
     array_unshift($modules, $discoverModule, $fastpostModule);
     // 检测浏览器信息
     $mobileDetect = new Mobile_Detect();
     $browserInfo = $mobileDetect->version('Chrome');
     $this->renderPartial('index', array('navInfo' => $navInfo, 'modules' => $modules, 'newsModules' => $newsModules, 'forumList' => $forumList, 'browserInfo' => $browserInfo, 'appLevel' => AppUtils::getAppLevel(), 'topicTypeSortInfos' => $this->_getTopicTypeSortInfos()));
 }
Example #2
0
 /**
  * 门户资讯分类模块列表
  * 
  * @author HanPengyu
  *
  * @param mixed $count 截取列表的长度,老的接口使用6.
  *
  * @return array.
  */
 public static function getModuleList($count)
 {
     $moduleList = AppbymePoralModule::getModuleList();
     $moduleList = array_slice($moduleList, 0, $count);
     $lists = array();
     foreach ($moduleList as $module) {
         $list['moduleId'] = (int) $module['mid'];
         $list['moduleName'] = (string) $module['name'];
         $lists[] = $list;
     }
     return $lists;
 }