admincp_specialuser.php 5.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153
  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: admincp_specialuser.php 27515 2012-02-03 03:29:49Z liulanbo $
  7. */
  8. if(!defined('IN_DISCUZ') || !defined('IN_ADMINCP')) {
  9. exit('Access Denied');
  10. }
  11. cpheader();
  12. $operation = in_array($_GET['operation'], array('defaultuser', 'follow')) ? trim($_GET['operation']) : 'defaultuser';
  13. $suboperation = in_array($_GET['suboperation'], array('adduser', 'specialuser')) ? trim($_GET['suboperation']) : '';
  14. $status = ($operation == 'defaultuser') ? 1 : 0;
  15. $op = ($status == 1) ? 'defaultuser' : 'follow';
  16. $url = 'specialuser&operation='.$op.'&suboperation=specialuser';
  17. if($suboperation !== 'adduser') {
  18. if($_GET['do'] == 'edit') {
  19. $_GET['id'] = intval($_GET['id']);
  20. if(!submitcheck('editsubmit')) {
  21. $info = C::t('home_specialuser')->fetch_by_uid_status($_GET['uid'], $status);
  22. shownav('user', 'nav_defaultuser');
  23. showsubmenu('edit');
  24. showformheader('specialuser&operation='.$op.'&do=edit&uid='.$info[uid], '', 'userforum');
  25. showtableheader();
  26. showsetting('reason', 'reason', $info['reason'], 'text');
  27. showsubmit('editsubmit');
  28. showtablefooter();
  29. showformfooter();
  30. } else {
  31. if(!$_GET['reason']) {
  32. cpmsg('specialuser_'.$op.'_noreason_invalid', 'action=specialuser&operation='.$op, 'error');
  33. }
  34. $updatearr = array('reason' => $_GET['reason']);
  35. C::t('home_specialuser')->update_by_uid_status($_GET['uid'], $status, $updatearr);
  36. cpmsg('specialuser_defaultuser_edit_succeed', 'action=specialuser&operation='.$op, 'succeed');
  37. }
  38. } elseif(!submitcheck('usersubmit')) {
  39. shownav('user', 'nav_'.$op);
  40. showsubmenu('nav_'.$op, array(
  41. array('nav_defaultuser', 'specialuser&operation=defaultuser', $operation == 'defaultuser' ? 1 : 0),
  42. array('nav_follow', 'specialuser&operation=follow', $operation == 'follow' ? 1 : 0),
  43. array('nav_add_'.$op, 'specialuser&operation='.$op.'&suboperation=adduser', $suboperation == 'adduser' ? 1 : 0),));
  44. showtips('specialuser_'.$op.'_tips');
  45. showformheader($url, '', 'userforum');
  46. showtableheader();
  47. $status ? showsubtitle(array('', 'specialuser_order', 'uid', 'username', 'reason', 'operator', 'time', ''))
  48. : showsubtitle(array('', 'specialuser_order', 'uid', 'username', 'reason', 'operator', 'time', ''));
  49. foreach(C::t('home_specialuser')->fetch_all_by_status($status, ($page - 1) * $_G['ppp'], $_G['ppp']) as $specialuser) {
  50. $specialuser['dateline'] = dgmdate($specialuser['dateline']);
  51. $arr = array(
  52. "<input class=\"checkbox\" type=\"checkbox\" name=\"delete[]\" value=\"$specialuser[uid]\">",
  53. "<input type=\"text\" name=\"displayorder[$specialuser[uid]]\" value=\"$specialuser[displayorder]\" size=\"8\">",
  54. $specialuser['uid'],
  55. "<a href=\"home.php?mod=space&uid=$specialuser[uid]\" target=\"_blank\">$specialuser[username]</a>",
  56. $specialuser['reason'],
  57. "<a href=\"home.php?mod=space&uid=$specialuser[opuid]\" target=\"_blank\">$specialuser[opusername]</a>",
  58. $specialuser['dateline'],
  59. "<a href=\"".ADMINSCRIPT."?action=specialuser&operation=$op&do=edit&uid=$specialuser[uid]\" class=\"act\">".$lang['edit']."</a>"
  60. );
  61. showtablerow('', '', $arr);
  62. }
  63. $usercount = C::t('home_specialuser')->count_by_status($status);
  64. $multi = multi($usercount, $_G['ppp'], $page, ADMINSCRIPT."?action=specialuser&operation=$op");
  65. showsubmit('usersubmit', 'submit', 'del', '', $multi);
  66. showtablefooter();
  67. showformfooter();
  68. } else {
  69. $ids = array();
  70. if(is_array($_GET['delete'])) {
  71. foreach($_GET['delete'] as $id) {
  72. $ids[] = $id;
  73. }
  74. if($ids) {
  75. C::t('home_specialuser')->delete_by_uid_status($ids, $status);
  76. cpmsg('specialuser_'.$op.'_del_succeed', 'action='.$url, 'succeed');
  77. }
  78. }
  79. if(is_array($_GET['displayorder'])) {
  80. foreach($_GET['displayorder'] as $id => $val) {
  81. $updatearr = array('displayorder' => intval($_GET['displayorder'][$id]));
  82. C::t('home_specialuser')->update_by_uid_status($id, $status, $updatearr);
  83. }
  84. }
  85. cpmsg('specialuser_defaultuser_edit_succeed', 'action='.$url, 'succeed');
  86. }
  87. } elseif($suboperation == 'adduser') {
  88. if(!submitcheck('addsubmit')) {
  89. shownav('user', 'nav_'.$op);
  90. showsubmenu('nav_'.$op, array(
  91. array('nav_defaultuser', 'specialuser&operation=defaultuser', 0),
  92. array('nav_follow', 'specialuser&operation=follow', 0),
  93. array('nav_add_'.$op, 'specialuser&operation='.$op.'&suboperation=adduser', 1))
  94. );
  95. showtips('specialuser_defaultuser_add_tips');
  96. showformheader('specialuser&operation='.$op.'&suboperation=adduser', '', 'userforum');
  97. showtableheader();
  98. showsetting('username', 'username', '', 'text');
  99. showsetting('reason', 'reason', '', 'text');
  100. showsubmit('addsubmit');
  101. showtablefooter();
  102. showformfooter();
  103. } else {
  104. $username = trim($_GET['username']);
  105. $reason = trim($_GET['reason']);
  106. if(!$username || !$reason) {
  107. cpmsg('specialuser_defaultuser_add_invaild', '', 'error');
  108. }
  109. if(C::t('home_specialuser')->count_by_status($status, $username)) {
  110. cpmsg('specialuser_defaultuser_added_invalid', '', 'error');
  111. }
  112. $member = C::t('common_member')->fetch_by_username($username);
  113. if(empty($member)) {
  114. cpmsg('specialuser_defaultuser_nouser_invalid', '', 'error');
  115. }
  116. $data = array(
  117. 'status' => $status,
  118. 'uid' => $member['uid'],
  119. 'username' => $member['username'],
  120. 'reason' => $reason,
  121. 'dateline' => $_G['timestamp'],
  122. 'opuid' => $_G['member']['uid'],
  123. 'opusername' => $_G['member']['username']
  124. );
  125. if(C::t('home_specialuser')->insert($data)) {
  126. cpmsg('specialuser_'.$op.'_add_succeed', 'action='.$url, 'succeed');
  127. }
  128. }
  129. }
  130. ?>