国内流行的内容管理系统(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.

278 lines
11KB

  1. <?php
  2. /**
  3. * 会员管理操作
  4. *
  5. * @version $Id: member_do.php 1 13:47 2010年7月19日Z tianya $
  6. * @package DedeCMS.Administrator
  7. * @copyright Copyright (c) 2020, DedeBIZ.COM
  8. * @license https://www.dedebiz.com/license
  9. * @link https://www.dedebiz.com
  10. */
  11. require_once(dirname(__FILE__)."/config.php");
  12. require_once(DEDEINC."/oxwindow.class.php");
  13. if(empty($dopost)) $dopost = '';
  14. if(empty($fmdo)) $fmdo = '';
  15. $ENV_GOBACK_URL = isset($_COOKIE['ENV_GOBACK_URL']) ? 'member_main.php' : '';
  16. /*----------------
  17. function __DelMember()
  18. 删除会员
  19. ----------------*/
  20. if($dopost=="delmember")
  21. {
  22. CheckPurview('member_Del');
  23. if($fmdo=='yes')
  24. {
  25. $id = preg_replace("#[^0-9]#", '', $id);
  26. $safecodeok = substr(md5($cfg_cookie_encode.$randcode),0,24);
  27. if($safecodeok!=$safecode)
  28. {
  29. ShowMsg("请填写正确的安全验证串!","member_do.php?id={$id}&dopost=delmember");
  30. exit();
  31. }
  32. if(!empty($id))
  33. {
  34. //删除用户信息
  35. $row = $dsql->GetOne("SELECT * FROM `#@__member` WHERE mid='$id' LIMIT 1 ");
  36. $rs = 0;
  37. if($row['matt'] == 10)
  38. {
  39. $nrow = $dsql->GetOne("SELECT * FROM `#@__admin` WHERE id='$id' LIMIT 1 ");
  40. //已经删除关连的管理员帐号
  41. if(!is_array($nrow)) $rs = $dsql->ExecuteNoneQuery2("DELETE FROM `#@__member` WHERE mid='$id' LIMIT 1");
  42. }
  43. else
  44. {
  45. $rs = $dsql->ExecuteNoneQuery2("DELETE FROM `#@__member` WHERE mid='$id' LIMIT 1");
  46. }
  47. if($rs > 0)
  48. {
  49. $dsql->ExecuteNoneQuery("DELETE FROM `#@__member_tj` WHERE mid='$id' LIMIT 1");
  50. $dsql->ExecuteNoneQuery("DELETE FROM `#@__member_space` WHERE mid='$id' LIMIT 1");
  51. $dsql->ExecuteNoneQuery("DELETE FROM `#@__member_company` WHERE mid='$id' LIMIT 1");
  52. $dsql->ExecuteNoneQuery("DELETE FROM `#@__member_person` WHERE mid='$id' LIMIT 1");
  53. //删除用户相关数据
  54. $dsql->ExecuteNoneQuery("DELETE FROM `#@__member_stow` WHERE mid='$id' ");
  55. $dsql->ExecuteNoneQuery("DELETE FROM `#@__member_flink` WHERE mid='$id' ");
  56. $dsql->ExecuteNoneQuery("DELETE FROM `#@__member_operation` WHERE mid='$id' ");
  57. $dsql->ExecuteNoneQuery("DELETE FROM `#@__member_pms` WHERE toid='$id' Or fromid='$id' ");
  58. $dsql->ExecuteNoneQuery("DELETE FROM `#@__member_friends` WHERE mid='$id' Or fid='$id' ");
  59. $dsql->ExecuteNoneQuery("DELETE FROM `#@__feedback` WHERE mid='$id' ");
  60. $dsql->ExecuteNoneQuery("UPDATE `#@__archives` SET mid='0' WHERE mid='$id'");
  61. }
  62. else
  63. {
  64. ShowMsg("无法删除此会员,如果这个会员是<b>[管理员]</b>,<br />必须先删除这个<b>[管理员]</b>才能删除此帐号!", $ENV_GOBACK_URL, 0, 5000);
  65. exit();
  66. }
  67. }
  68. ShowMsg("成功删除一个会员!",$ENV_GOBACK_URL);
  69. exit();
  70. }
  71. $randcode = mt_rand(10000,99999);
  72. $safecode = substr(md5($cfg_cookie_encode.$randcode),0,24);
  73. $wintitle = "会员管理-删除会员";
  74. $wecome_info = "<a href='".$ENV_GOBACK_URL."'>会员管理</a>::删除会员";
  75. $win = new OxWindow();
  76. $win->Init("member_do.php","js/blank.js","POST");
  77. $win->AddHidden("fmdo","yes");
  78. $win->AddHidden("dopost",$dopost);
  79. $win->AddHidden("id",$id);
  80. $win->AddHidden("randcode",$randcode);
  81. $win->AddHidden("safecode",$safecode);
  82. $win->AddTitle("你确实要删除(ID:".$id.")这个会员?");
  83. $win->AddMsgItem("安全验证串:<input name='safecode' type='text' id='safecode' size='16' style='width:200px' />&nbsp;(复制本代码: <font color='red'>$safecode</font> )","30");
  84. $winform = $win->GetWindow("ok");
  85. $win->Display();
  86. }else if($dopost=="delmembers"){
  87. CheckPurview('member_Del');
  88. if($fmdo=='yes')
  89. {
  90. $safecodeok = substr(md5($cfg_cookie_encode.$randcode),0,24);
  91. if($safecodeok!=$safecode)
  92. {
  93. ShowMsg("请填写正确的安全验证串!","member_do.php?id={$id}&dopost=delmembers");
  94. exit();
  95. }
  96. if(!empty($id))
  97. {
  98. //删除用户信息
  99. $rs = $dsql->ExecuteNoneQuery2("DELETE FROM `#@__member` WHERE mid IN (".str_replace("`",",",$id).") And matt<>10 ");
  100. if($rs > 0)
  101. {
  102. $dsql->ExecuteNoneQuery("DELETE FROM `#@__member_tj` WHERE mid IN (".str_replace("`",",",$id).") ");
  103. $dsql->ExecuteNoneQuery("DELETE FROM `#@__member_space` WHERE mid IN (".str_replace("`",",",$id).") ");
  104. $dsql->ExecuteNoneQuery("DELETE FROM `#@__member_company` WHERE mid IN (".str_replace("`",",",$id).") ");
  105. $dsql->ExecuteNoneQuery("DELETE FROM `#@__member_person` WHERE mid IN (".str_replace("`",",",$id).") ");
  106. //删除用户相关数据
  107. $dsql->ExecuteNoneQuery("DELETE FROM `#@__member_stow` WHERE mid IN (".str_replace("`",",",$id).") ");
  108. $dsql->ExecuteNoneQuery("DELETE FROM `#@__member_flink` WHERE mid IN (".str_replace("`",",",$id).") ");
  109. $dsql->ExecuteNoneQuery("DELETE FROM `#@__member_operation` WHERE mid IN (".str_replace("`",",",$id).") ");
  110. $dsql->ExecuteNoneQuery("DELETE FROM `#@__member_pms` WHERE toid IN (".str_replace("`",",",$id).") Or fromid IN (".str_replace("`",",",$id).") ");
  111. $dsql->ExecuteNoneQuery("DELETE FROM `#@__member_friends` WHERE mid IN (".str_replace("`",",",$id).") Or fid IN (".str_replace("`",",",$id).") ");
  112. $dsql->ExecuteNoneQuery("DELETE FROM `#@__feedback` WHERE mid IN (".str_replace("`",",",$id).") ");
  113. $dsql->ExecuteNoneQuery("UPDATE `#@__archives` SET mid='0' WHERE mid IN (".str_replace("`",",",$id).")");
  114. }
  115. else
  116. {
  117. ShowMsg("无法删除此会员,如果这个会员是管理员关连的ID,<br />必须先删除这个管理员才能删除此帐号!",$ENV_GOBACK_URL,0,3000);
  118. exit();
  119. }
  120. }
  121. ShowMsg("成功删除这些会员!",$ENV_GOBACK_URL);
  122. exit();
  123. }
  124. $randcode = mt_rand(10000, 99999);
  125. $safecode = substr(md5($cfg_cookie_encode.$randcode), 0, 24);
  126. $wintitle = "会员管理-删除会员";
  127. $wecome_info = "<a href='".$ENV_GOBACK_URL."'>会员管理</a>::删除会员";
  128. $win = new OxWindow();
  129. $win->Init("member_do.php", "js/blank.js", "POST");
  130. $win->AddHidden("fmdo", "yes");
  131. $win->AddHidden("dopost", $dopost);
  132. $win->AddHidden("id",$id);
  133. $win->AddHidden("randcode", $randcode);
  134. $win->AddHidden("safecode", $safecode);
  135. $win->AddTitle("你确实要删除(ID:".$id.")这个会员?");
  136. $win->AddMsgItem(" 安全验证串:<input name='safecode' type='text' id='safecode' size='16' style='width:200px' /> (复制本代码: <font color='red'>$safecode</font>)","30");
  137. $winform = $win->GetWindow("ok");
  138. $win->Display();
  139. }
  140. /*----------------
  141. function __Recommend()
  142. 推荐会员
  143. ----------------*/
  144. else if ($dopost=="recommend")
  145. {
  146. CheckPurview('member_Edit');
  147. $id = preg_replace("#[^0-9]#", "", $id);
  148. if($matt==0)
  149. {
  150. $dsql->ExecuteNoneQuery("UPDATE `#@__member` SET matt=1 WHERE mid='$id' AND matt<>10 LIMIT 1");
  151. ShowMsg("成功设置一个会员推荐!",$ENV_GOBACK_URL);
  152. exit();
  153. }
  154. else
  155. {
  156. $dsql->ExecuteNoneQuery("UPDATE `#@__member` SET matt=0 WHERE mid='$id' AND matt<>10 LIMIT 1");
  157. ShowMsg("成功取消一个会员推荐!",$ENV_GOBACK_URL);
  158. exit();
  159. }
  160. }
  161. /*----------------
  162. function __EditUser()
  163. 更改会员
  164. ----------------*/
  165. else if ($dopost=='edituser')
  166. {
  167. CheckPurview('member_Edit');
  168. if(!isset($_POST['id'])) exit('Request Error!');
  169. $pwdsql = empty($pwd) ? '' : ",pwd='".md5($pwd)."'";
  170. if(empty($sex)) $sex = '男';
  171. $uptime=GetMkTime($uptime);
  172. if($matt==10 && $oldmatt!=10)
  173. {
  174. ShowMsg("对不起,为安全起见,不支持直接把前台会员转为管理的操作!", "-1");
  175. exit();
  176. }
  177. $query = "UPDATE `#@__member` SET
  178. email = '$email',
  179. uname = '$uname',
  180. sex = '$sex',
  181. matt = '$matt',
  182. money = '$money',
  183. scores = '$scores',
  184. rank = '$rank',
  185. spacesta='$spacesta',
  186. uptime='$uptime',
  187. exptime='$exptime'
  188. $pwdsql
  189. WHERE mid='$id' AND matt<>10 ";
  190. $rs = $dsql->ExecuteNoneQuery2($query);
  191. if($rs==0)
  192. {
  193. $query = "UPDATE `#@__member` SET
  194. email = '$email',
  195. uname = '$uname',
  196. sex = '$sex',
  197. money = '$money',
  198. scores = '$scores',
  199. rank = '$rank',
  200. spacesta='$spacesta',
  201. uptime='$uptime',
  202. exptime='$exptime'
  203. $pwdsql
  204. WHERE mid='$id' ";
  205. $rs = $dsql->ExecuteNoneQuery2($query);
  206. }
  207. #api{{
  208. if(defined('UC_API') && @include_once DEDEROOT.'/api/uc.func.php')
  209. {
  210. $row = $dsql->GetOne("SELECT `scores`,`userid` FROM `#@__member` WHERE `mid`='$id' AND `matt`<>10");
  211. $amount = $scores-$row['scores'];
  212. uc_credit_note($row['userid'],$amount);
  213. }
  214. #/aip}}
  215. ShowMsg('成功更改会员资料!', 'member_view.php?id='.$id);
  216. exit();
  217. }
  218. /*--------------
  219. function __LoginCP()
  220. 登录会员的控制面板
  221. ----------*/
  222. else if ($dopost=="memberlogin")
  223. {
  224. CheckPurview('member_Edit');
  225. PutCookie('DedeUserID',$id,1800);
  226. PutCookie('DedeLoginTime',time(),1800);
  227. if(empty($jumpurl)) header("location:../member/index.php");
  228. else header("location:$jumpurl");
  229. } else if ($dopost == "deoperations")
  230. {
  231. $nid = preg_replace('#[^0-9,]#', '', preg_replace('#`#', ',', $nid));
  232. $nid = explode(',', $nid);
  233. if(is_array($nid))
  234. {
  235. foreach ($nid as $var)
  236. {
  237. $query = "DELETE FROM `#@__member_operation` WHERE aid = '$var'";
  238. $dsql->ExecuteNoneQuery($query);
  239. }
  240. ShowMsg("删除成功!","member_operations.php");
  241. exit();
  242. }
  243. } else if ($dopost == "upoperations")
  244. {
  245. $nid = preg_replace('#[^0-9,]#', '', preg_replace('#`#', ',', $nid));
  246. $nid = explode(',', $nid);
  247. if(is_array($nid))
  248. {
  249. foreach ($nid as $var)
  250. {
  251. $query = "UPDATE `#@__member_operation` SET sta = '1' WHERE aid = '$var'";
  252. $dsql->ExecuteNoneQuery($query);
  253. ShowMsg("设置成功!","member_operations.php");
  254. exit();
  255. }
  256. }
  257. } else if($dopost == "okoperations")
  258. {
  259. $nid = preg_replace('#[^0-9,]#', '', preg_replace('#`#', ',', $nid));
  260. $nid = explode(',', $nid);
  261. if(is_array($nid))
  262. {
  263. foreach ($nid as $var)
  264. {
  265. $query = "UPDATE `#@__member_operation` SET sta = '2' WHERE aid = '$var'";
  266. $dsql->ExecuteNoneQuery($query);
  267. ShowMsg("设置成功!","member_operations.php");
  268. exit();
  269. }
  270. }
  271. }