portalcp_index.php 5.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140
  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: portalcp_index.php 25889 2011-11-24 09:52:20Z monkey $
  7. */
  8. if(!defined('IN_DISCUZ')) {
  9. exit('Access Denied');
  10. }
  11. if(!$_G['setting']['portalstatus']) {
  12. dheader('location:portal.php?mod=portalcp&ac=portalblock');
  13. }
  14. $op = $_GET['op'] = 'list';
  15. $allowpostarticle = checkperm('allowmanagearticle') || checkperm('allowpostarticle') || $admincp2 || $admincp3;
  16. if($op == 'list') {
  17. if(checkperm('allowdiy')) {
  18. } elseif(!checkperm('allowmanagearticle') && checkperm('allowpostarticle') && !$admincp2 || (!$admincp2 && $admincp3)) {
  19. dheader('location:portal.php?mod=portalcp&ac=category');
  20. } elseif($_G['member']['allowadmincp'] == 8 || $_G['member']['allowadmincp'] == 32) {
  21. dheader('location:portal.php?mod=portalcp&ac=portalblock');
  22. }
  23. }
  24. require_once libfile('function/portalcp');
  25. $category = $_G['cache']['portalcategory'];
  26. $permissioncategory = $permission = array();
  27. if (checkperm('allowmanagearticle')) {
  28. $permissioncategory = $category;
  29. } elseif ($admincp2) {
  30. $permission = getallowcategory($_G['uid']);
  31. if(!empty($permission)) {
  32. $permissioncategory = getpermissioncategory($category,array_keys($permission));
  33. }
  34. }
  35. if($op == 'list') {
  36. $categorytree = '';
  37. foreach($permissioncategory as $key => $value) {
  38. if ($category[$key]['level'] == 0) {
  39. $categorytree .= showcategoryrow($key, 0);
  40. }
  41. }
  42. }
  43. include_once template("portal/portalcp_index");
  44. function showcategoryrow($key, $level = 0, $last = '') {
  45. global $category, $permissioncategory, $permission;
  46. $value = $category[$key];
  47. $return = '';
  48. $op = $addarticle = $artilcemanage = '';
  49. $value['articles'] = category_get_num('portal', $key);
  50. if (checkperm('allowmanagearticle') || checkperm('allowmanage') || $permission[$key]['allowmanage']) {
  51. $addarticle .= '<a href="portal.php?mod=portalcp&ac=category&catid='.$key.'" class="y">'.lang('portalcp', 'article_manage').'</a>';
  52. }
  53. if ((checkperm('allowmanagearticle') || checkperm('allowpostarticle') || $permission[$key]['allowmanage'] || $permission[$key]['allowpublish']) && empty($value['disallowpublish'])) {
  54. $artilcemanage .= '<a href="portal.php?mod=portalcp&ac=article&catid='.$value['catid'].'" target="_blank" class="y">'.lang('portalcp', 'article_publish').'</a>';
  55. }
  56. if($addarticle && $artilcemanage) {
  57. $op = $addarticle.'<span class="pipe y">|</span>'.$artilcemanage;
  58. } else {
  59. $op = $addarticle ? $addarticle : $artilcemanage;
  60. }
  61. if($level == 2) {
  62. $class = $last ? 'lastchildcat' : 'childcat';
  63. $return = '<tr class="hover"><td><div class="'.$class.'"><a href="portal.php?mod=portalcp&ac=category&catid='.$key.'">'.$value['catname'].'</a>'.
  64. '</div></td><td>'.$value['articles'].'</td><td>'.$op.'</td></tr>';
  65. } elseif($level == 1) {
  66. $return = '<tr class="hover"><td><div class="cat"><a href="portal.php?mod=portalcp&ac=category&catid='.$key.'">'.$value['catname'].'</a>'.
  67. '</td><td>'.$value['articles'].'</td><td>'.$op.'</td></tr>';
  68. $children = checkperm('allowmanagearticle') ? $category[$key]['children'] : $permissioncategory[$key]['permissionchildren'];
  69. $i = 1;
  70. $l = count($children);
  71. foreach($children as $v){
  72. $return .= showcategoryrow($v, 2 ,$i++ == $l);
  73. }
  74. } else {
  75. $return = '<tr class="hover"><td><div class="parentcat"><a href="portal.php?mod=portalcp&ac=category&catid='.$key.'">'.$value['catname'].'</a>'.
  76. '</div></td><td>'.$value['articles'].'</td><td>'.$op.'</td></tr>';
  77. $children = checkperm('allowmanagearticle') ? $category[$key]['children'] : $permissioncategory[$key]['permissionchildren'];
  78. foreach($children as $v){
  79. $return .= showcategoryrow($v, 1);
  80. }
  81. }
  82. return $return;
  83. }
  84. function showcategoryrowpush($key, $level = 0, $last = '') {
  85. global $_G, $category, $permissioncategory, $permission;
  86. $value = $category[$key];
  87. $return = '';
  88. $op = '';
  89. if (checkperm('allowmanagearticle') || checkperm('allowpostarticle') || $permission[$key]['allowpublish'] || $permission[$key]['allowmanage']) {
  90. if(empty($value['disallowpublish'])){
  91. $value['pushurl'] = '<a href="portal.php?mod=portalcp&ac=article&catid='.$key.'&from_idtype='.$_GET['idtype'].'&from_id='.$_GET['id'].'" target="_blank" onclick="hideWindow(\''.$_GET[handlekey].'\')">'.$value['catname'].'</a>';
  92. } else {
  93. $value['pushurl'] = $value['catname'];
  94. }
  95. }
  96. if($level == 2) {
  97. $class = $last ? 'lastchildcat' : 'childcat';
  98. $return = '<tr class="hover"><td>&nbsp;</td><td><div class="'.$class.'">'.$value['pushurl'].'</div></td></tr>';
  99. } elseif($level == 1) {
  100. $return = '<tr class="hover"><td>&nbsp;</td><td><div class="cat">'.$value['pushurl'].'</div></td></tr>';
  101. $children = checkperm('allowmanagearticle') ? $category[$key]['children'] : $permissioncategory[$key]['permissionchildren'];
  102. $i = 1;
  103. $l = count($children);
  104. foreach($children as $v) {
  105. $return .= showcategoryrowpush($v, 2, $i++ == $l);
  106. }
  107. } else {
  108. $children = checkperm('allowmanagearticle') ? $category[$key]['children'] : $permissioncategory[$key]['permissionchildren'];
  109. $childrennum = count($children);
  110. $toggle = $childrennum > 25 ? ' style="display:none"' : '';
  111. $return = '<tbody><tr class="hover"><td onclick="toggle_group(\'group_'.$value['catid'].'\')"><a id="a_group_'.$value['catid'].'" href="javascript:;">'.($toggle ? '[+]' : '[-]').'</a></td>'
  112. .'<td><div class="parentcat">'.$value['pushurl'].'</div></td></tr></tbody>
  113. <tbody id="group_'.$value['catid'].'"'.$toggle.'>';
  114. foreach($children as $v) {
  115. $return .= showcategoryrowpush($v, 1, '');
  116. }
  117. $return .= '</tdoby>';
  118. }
  119. return $return;
  120. }
  121. ?>