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

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