optimizer_forumstatus.php 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  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: optimizer_forumstatus.php 33594 2013-07-12 07:38:33Z jeffjzhang $
  7. */
  8. if(!defined('IN_DISCUZ')) {
  9. exit('Access Denied');
  10. }
  11. class optimizer_forumstatus {
  12. public function __construct() {
  13. }
  14. public function check() {
  15. $forumlist = C::t('forum_forum')->fetch_all_by_status(0, 0);
  16. if(empty($forumlist)) {
  17. $return = array('status' => 0, 'type' =>'none', 'lang' => lang('optimizer', 'optimizer_forumstatus_no_need'));
  18. } else {
  19. $fids = array();
  20. foreach($forumlist as $forum) {
  21. $fids[] = $forum['fid'];
  22. }
  23. $forumfieldlist = C::t('forum_forumfield')->fetch_all_by_fid($fids);
  24. $forumdesc = '';
  25. $adminfile = defined(ADMINSCRIPT) ? ADMINSCRIPT : 'admin.php';
  26. $k = 1;
  27. foreach($forumlist as $forum) {
  28. if(!$forumfieldlist[$forum['fid']]['password'] || !$forumfieldlist[$forum['fid']]['formulaperm']) {
  29. $forumdesc .= '<p class="forumstatuslist" '.($k > 2 ? 'style="display:none;"' : '').'><a href="'.$adminfile.'?action=forums&operation=edit&fid='.$forum['fid'].'" target="_blank">'.$forum['name'].'</a></p>';
  30. }
  31. if($k == 3) {
  32. $forumdesc .= '<p id="forumstatusmore"><a href="javascript:;" onclick="showlistmore(\\\'forumstatusmore\\\',\\\'forumstatuslist\\\');">'.lang('admincp', 'more').'</a></p>';
  33. }
  34. $k++;
  35. }
  36. $extraurl = '';
  37. if(count($forumlist) == 1) {
  38. $extraurl = '&optimizefid='.$forum['fid'];
  39. $forumdesc = '';
  40. }
  41. if(!$forumdesc) {
  42. $return = array('status' => 0, 'type' =>'none', 'lang' => lang('optimizer', 'optimizer_forumstatus_no_need'));
  43. } else {
  44. $return = array('status' => 1, 'type' =>'view', 'lang' => lang('optimizer', 'optimizer_forumstatus_need', array('forumdesc' => $forumdesc)), 'extraurl' => $extraurl);
  45. }
  46. }
  47. return $return;
  48. }
  49. public function optimizer() {
  50. $adminfile = defined(ADMINSCRIPT) ? ADMINSCRIPT : 'admin.php';
  51. if($_GET['optimizefid']) {
  52. $url = '?action=forums&operation=edit&fid='.dintval($_GET['optimizefid']);
  53. } else {
  54. $url = '?action=forums';
  55. }
  56. dheader('Location: '.$_G['siteurl'].$adminfile.$url);
  57. }
  58. }
  59. ?>