misc_category.php 2.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  1. <?php
  2. /**
  3. * [Discuz!] (C)2001-2099 Comsenz Inc.
  4. * This is NOT a freeware, use is subject to license terms
  5. *
  6. * $Id: misc_category.php 31560 2012-09-10 03:47:45Z monkey $
  7. */
  8. if(!defined('IN_DISCUZ')) {
  9. exit('Access Denied');
  10. }
  11. $_G['mnid'] = 'mn_F'.$gid;
  12. $gquery = C::t('forum_forum')->fetch_all_info_by_fids($gid);
  13. $query = C::t('forum_forum')->fetch_all_info_by_fids(0, 1, 0, $gid, 1, 0, 0, 'forum');
  14. if(!empty($_G['member']['accessmasks'])) {
  15. $fids = array_keys($query);
  16. $accesslist = C::t('forum_access')->fetch_all_by_fid_uid($fids, $_G['uid']);
  17. foreach($query as $key => $val) {
  18. $query[$key]['allowview'] = $accesslist[$key];
  19. }
  20. }
  21. if(empty($gquery) || empty($query)) {
  22. showmessage('forum_nonexistence', NULL);
  23. }
  24. $query = array_merge($gquery, $query);
  25. $fids = array();
  26. foreach($query as $forum) {
  27. $forum['extra'] = dunserialize($forum['extra']);
  28. if(!is_array($forum['extra'])) {
  29. $forum['extra'] = array();
  30. }
  31. if($forum['type'] != 'group') {
  32. $threads += $forum['threads'];
  33. $posts += $forum['posts'];
  34. $todayposts += $forum['todayposts'];
  35. if(forum($forum)) {
  36. $forum['orderid'] = $catlist[$forum['fup']]['forumscount'] ++;
  37. $forum['subforums'] = '';
  38. $forumlist[$forum['fid']] = $forum;
  39. $catlist[$forum['fup']]['forums'][] = $forum['fid'];
  40. $fids[] = $forum['fid'];
  41. }
  42. } else {
  43. $forum['collapseimg'] = 'collapsed_no.gif';
  44. $collapse['category_'.$forum['fid']] = '';
  45. if($forum['moderators']) {
  46. $forum['moderators'] = moddisplay($forum['moderators'], 'flat');
  47. }
  48. $catlist[$forum['fid']] = $forum;
  49. $navigation = '<em>&rsaquo;</em> '.$forum['name'];
  50. $navtitle_g = strip_tags($forum['name']);
  51. }
  52. }
  53. if($catlist) {
  54. foreach($catlist as $key => $var) {
  55. $catlist[$key]['forumcolumns'] = $var['catforumcolumns'];
  56. if($var['forumscount'] && $var['catforumcolumns']) {
  57. $catlist[$key]['forumcolwidth'] = (floor(100 / $var['catforumcolumns']) - 0.1).'%';
  58. $catlist[$key]['endrows'] = '';
  59. if($colspan = $var['forumscount'] % $var['catforumcolumns']) {
  60. while(($var['catforumcolumns'] - $colspan) > 0) {
  61. $catlist[$key]['endrows'] .= '<td>&nbsp;</td>';
  62. $colspan ++;
  63. }
  64. $catlist[$key]['endrows'] .= '</tr>';
  65. }
  66. }
  67. }
  68. }
  69. $query = C::t('forum_forum')->fetch_all_subforum_by_fup($fids);
  70. foreach($query as $forum) {
  71. if($_G['setting']['subforumsindex'] && $forumlist[$forum['fup']]['permission'] == 2) {
  72. $forumurl = !empty($forum['domain']) && !empty($_G['setting']['domain']['root']['forum']) ? 'http://'.$forum['domain'].'.'.$_G['setting']['domain']['root']['forum'] : 'forum.php?mod=forumdisplay&fid='.$forum['fid'];
  73. $forumlist[$forum['fup']]['subforums'] .= '<a href="'.$forumurl.'"><u>'.$forum['name'].'</u></a>&nbsp;&nbsp;';
  74. }
  75. $forumlist[$forum['fup']]['threads'] += $forum['threads'];
  76. $forumlist[$forum['fup']]['posts'] += $forum['posts'];
  77. $forumlist[$forum['fup']]['todayposts'] += $forum['todayposts'];
  78. }
  79. ?>