国内流行的内容管理系统(CMS)多端全媒体解决方案 https://www.dedebiz.com
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

173 lines
5.1KB

  1. <?php
  2. /**
  3. * 圈子用户管理
  4. *
  5. * @version $Id: group_user.php 1 15:34 2011-1-21 tianya $
  6. * @package DedeCMS.Administrator
  7. * @copyright Copyright (c) 2007 - 2019, DesDev, Inc.
  8. * @license http://help.dedecms.com/usersguide/license.html
  9. * @link http://www.dedecms.com
  10. */
  11. require_once(dirname(__FILE__)."/config.php");
  12. require_once(DEDEINC.'/datalistcp.class.php');
  13. CheckPurview('group_Edit');
  14. $gid = isset($gid) && is_numeric($gid) ? $gid : 0;
  15. $id = isset($id) && is_numeric($id) ? $id : 0;
  16. $action = isset($action) ? trim($action) : '';
  17. $username = isset($username) ? trim($username) : '';
  18. $username = stripslashes($username);
  19. $username = preg_replace("#[\"\r\n\t\*\?\(\)\$%']#", " ", trim($username));
  20. $username = addslashes($username);
  21. if($gid < 1)
  22. {
  23. ShowMsg("含有非法操作!.","-1");
  24. exit();
  25. }
  26. $row = $db->GetOne("SELECT ismaster,uid FROM #@__groups WHERE groupid='{$gid}'");
  27. $ismaster = $row['ismaster'];
  28. $ismasterid = $row['uid'];
  29. if($action=="del")
  30. {
  31. if($ismasterid == $id)
  32. {
  33. ShowMsg("圈主不能脱离群关系!","-1");
  34. exit();
  35. }
  36. $row = $db->GetOne("SELECT username FROM #@__group_user WHERE uid='$id' AND gid='$gid'");
  37. if(is_array($row))
  38. {
  39. $username = $row['username'];
  40. $master = explode(",",$ismaster);
  41. if(in_array($username,$master))
  42. {
  43. //如果会员存管理员字段将移出
  44. $k = array_search($username,$master);
  45. unset($master[$k]);
  46. }
  47. $master = array_filter($master, "filter");
  48. $ismaster = implode(",",$master);
  49. $db->ExecuteNoneQuery("UPDATE #@__groups SET ismaster='{$ismaster}' WHERE groupid='{$gid}'");
  50. }
  51. if($id > 0)
  52. {
  53. $db->ExecuteNoneQuery("DELETE FROM #@__group_user WHERE uid='$id' AND gid='$gid'");
  54. }
  55. ShowMsg("已将该会员移出本群!.","-1");
  56. exit();
  57. }
  58. else if($action=="admin")
  59. {
  60. if($ismasterid == $id)
  61. {
  62. ShowMsg("圈主应同时有管理权!","-1");
  63. exit();
  64. }
  65. $row = $db->GetOne("SELECT username FROM #@__group_user WHERE uid='$id' AND gid='$gid'");
  66. if(is_array($row))
  67. {
  68. $username = $row['username'];
  69. $master = explode(",",$ismaster);
  70. if(in_array($username,$master))
  71. {
  72. //如果会员存管理员字段将移出
  73. $k = array_search($username,$master);
  74. unset($master[$k]);
  75. $msg = "已将 {$username},设为普通会员!";
  76. }
  77. else
  78. {
  79. //否则加入到管理员数组
  80. array_push($master,$username);
  81. $msg = "已将 {$username},设为管理员!";
  82. }
  83. $master = array_filter($master, "filter");
  84. $ismaster = implode(",",$master);
  85. $db->ExecuteNoneQuery("UPDATE #@__groups SET ismaster='{$ismaster}' WHERE groupid='{$gid}'");
  86. }
  87. ShowMsg("{$msg}","-1");
  88. exit();
  89. }
  90. else if($action=="add")
  91. {
  92. $uname = cn_substr($uname,15);
  93. if(empty($uname))
  94. {
  95. ShowMsg("请填写用户名!.","-1");
  96. exit();
  97. }
  98. $rs = $db->GetOne("SELECT COUNT(*) AS c FROM #@__group_user WHERE username like '$uname' AND gid='$gid'");
  99. if($rs['c'] > 0)
  100. {
  101. ShowMsg("用户已加入该圈子!.","-1");
  102. exit();
  103. }
  104. $row = $db->GetOne("SELECT userid,mid FROM #@__member WHERE userid like '$uname'");
  105. if(!is_array($row))
  106. {
  107. ShowMsg("站内不存在该用户!.","-1");
  108. exit();
  109. }
  110. else
  111. {
  112. $row['id'] = $row['mid'];
  113. $db->ExecuteNoneQuery("INSERT INTO #@__group_user(uid,username,gid,jointime) VALUES('".$row['id']."','".$row['userid']."','$gid','".time()."');");
  114. //如果设成管理员
  115. if($setmaster)
  116. {
  117. $master = explode(",",$ismaster);
  118. array_push($master,$uname);
  119. $master = array_filter($master, "filter");
  120. $ismaster = implode(",",$master);
  121. $db->ExecuteNoneQuery("UPDATE #@__groups SET ismaster='{$ismaster}' WHERE groupid='{$gid}'");
  122. }
  123. }
  124. ShowMsg("成功添加用户:{$uname}","-1");
  125. exit();
  126. }
  127. //列表加载模板
  128. $wheresql = "WHERE gid='{$gid}'";
  129. if(!empty($username))
  130. {
  131. $wheresql .= " AND username like '%".$username."%'";
  132. }
  133. $sql = "SELECT * FROM #@__group_user $wheresql ORDER BY jointime DESC";
  134. $dl = new DataListCP();
  135. $dl->pageSize = 20;
  136. $dl->SetParameter("username",$username);
  137. $dl->SetParameter("id",$id);
  138. $dl->SetParameter("gid",$gid);
  139. //这两句的顺序不能更换
  140. $dl->SetTemplate(DEDEADMIN."/templets/group_user.htm"); //载入模板
  141. $dl->SetSource($sql); //设定查询SQL
  142. $dl->Display(); //显示
  143. function filter($var)
  144. {
  145. return $var == '' ? false : true;
  146. }
  147. function GetMaster($user)
  148. {
  149. global $ismaster;
  150. $master = explode(",",$ismaster);
  151. if(in_array($user,$master))
  152. {
  153. return "<img src='img/adminuserico.gif'> 管理员";
  154. }
  155. else
  156. {
  157. return "普通会员";
  158. }
  159. }
  160. ?>