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

288 lines
12KB

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