Beispiel #1
0
 /**
  * 获取当前用户及其对应版块的权限
  * 
  * @param string $fids 版块id集合
  *
  * @return array
  */
 public static function getPermission($fids)
 {
     $permission = array();
     global $_G;
     $tempGroupAllowPostPoll = $_G['group']['allowpostpoll'];
     $tempGroupAllowPostImage = $_G['group']['allowpostimage'];
     $tempGroupAllowPostAttach = $_G['group']['allowpostattach'];
     $tempGroupAttachExtensions = $_G['group']['attachextensions'];
     $forumInfos = ForumUtils::getForumInfos($fids);
     foreach ($forumInfos as $forum) {
         $fid = (int) $forum['fid'];
         ForumUtils::initForum($fid);
         $_G['group']['allowpostpoll'] = $tempGroupAllowPostPoll;
         // 获取上传图片权限
         $_G['forum']['allowpostimage'] = isset($_G['forum']['allowpostimage']) ? $_G['forum']['allowpostimage'] : '';
         $_G['group']['allowpostimage'] = $tempGroupAllowPostImage;
         $_G['group']['allowpostimage'] = $_G['forum']['allowpostimage'] != -1 && ($_G['forum']['allowpostimage'] == 1 || !$_G['forum']['postimageperm'] && $_G['group']['allowpostimage'] || $_G['forum']['postimageperm'] && forumperm($_G['forum']['postimageperm']));
         $_G['group']['attachextensions'] = $tempGroupAttachExtensions;
         require_once libfile('function/upload');
         $swfconfig = getuploadconfig($_G['uid'], $_G['fid']);
         $imgexts = str_replace(array(';', '*.'), array(', ', ''), $swfconfig['imageexts']['ext']);
         $allowpostimg = $_G['group']['allowpostimage'] && $imgexts;
         $allowPostImage = $allowpostimg ? 1 : 0;
         $allowAnonymous = $_G['forum']['allowanonymous'] || $_G['group']['allowanonymous'] ? 1 : 0;
         $_G['forum']['allowpostattach'] = isset($_G['forum']['allowpostattach']) ? $_G['forum']['allowpostattach'] : '';
         $_G['group']['allowpostattach'] = $tempGroupAllowPostAttach;
         $_G['group']['allowpostattach'] = $_G['forum']['allowpostattach'] != -1 && ($_G['forum']['allowpostattach'] == 1 || !$_G['forum']['postattachperm'] && $_G['group']['allowpostattach'] || $_G['forum']['postattachperm'] && forumperm($_G['forum']['postattachperm']));
         $allowPostAttachment = $_G['group']['allowpostattach'] ? 1 : 0;
         $topicClassfications = ForumUtils::getTopicClassificationInfos($fid);
         $permission[] = array('fid' => $fid, 'topic' => array('isHidden' => 0, 'isAnonymous' => $allowAnonymous, 'isOnlyAuthor' => 1, 'allowPostAttachment' => $allowPostAttachment, 'allowPostImage' => $allowPostImage, 'newTopicPanel' => ForumUtils::getNewTopicPanel(), 'classificationType_list' => $topicClassfications['types'], 'isOnlyTopicType' => $topicClassfications['requireTypes'] ? 1 : 0), 'post' => array('isHidden' => 0, 'isAnonymous' => $allowAnonymous, 'isOnlyAuthor' => 0, 'allowPostAttachment' => $allowPostAttachment, 'allowPostImage' => $allowPostImage));
     }
     return $permission;
 }
 private function _getTopicClassificationInfos($fid)
 {
     return ForumUtils::getTopicClassificationInfos(0);
 }