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

124 lines
4.6KB

  1. <?php
  2. /**
  3. * 编辑系统管理员
  4. *
  5. * @version $Id: sys_admin_user_edit.php 1 16:22 2010年7月20日Z tianya $
  6. * @package DedeCMS.Administrator
  7. * @copyright Copyright (c) 2007 - 2018, DesDev, Inc.
  8. * @copyright Copyright (c) 2020, DedeBIZ.COM
  9. * @license https://www.dedebiz.com/license/v6
  10. * @link https://www.dedebiz.com
  11. */
  12. require_once(dirname(__FILE__).'/config.php');
  13. CheckPurview('sys_User');
  14. require_once(DEDEINC.'/typelink.class.php');
  15. if(empty($dopost)) $dopost = '';
  16. $id = preg_replace("#[^0-9]#", '', $id);
  17. if($dopost=='saveedit')
  18. {
  19. CheckCSRF();
  20. $pwd = trim($pwd);
  21. if($pwd!='' && preg_match("#[^0-9a-zA-Z_@!\.-]#", $pwd))
  22. {
  23. ShowMsg('密码不合法,请使用[0-9a-zA-Z_@!.-]内的字符!', '-1', 0, 3000);
  24. exit();
  25. }
  26. $safecodeok = substr(md5($cfg_cookie_encode.$randcode), 0, 24);
  27. if($safecodeok != $safecode)
  28. {
  29. ShowMsg("请填写正确的安全验证串!", "sys_admin_user_edit.php?id={$id}&dopost=edit");
  30. exit();
  31. }
  32. $pwdm = '';
  33. if($pwd != '')
  34. {
  35. $pwdm = ",pwd='".md5($pwd)."'";
  36. $pwd = ",pwd='".substr(md5($pwd), 5, 20)."'";
  37. }
  38. if(empty($typeids))
  39. {
  40. $typeid = '';
  41. } else {
  42. $typeid = join(',', $typeids);
  43. if($typeid=='0') $typeid = '';
  44. }
  45. if($id!=1){
  46. $query = "UPDATE `#@__admin` SET uname='$uname',usertype='$usertype',tname='$tname',email='$email',typeid='$typeid' $pwd WHERE id='$id'";
  47. }else{
  48. $query = "UPDATE `#@__admin` SET uname='$uname',tname='$tname',email='$email',typeid='$typeid' $pwd WHERE id='$id'";
  49. }
  50. $dsql->ExecuteNoneQuery($query);
  51. $query = "UPDATE `#@__member` SET uname='$uname',email='$email'$pwdm WHERE mid='$id'";
  52. $dsql->ExecuteNoneQuery($query);
  53. ShowMsg("成功更改一个帐户!", "sys_admin_user.php");
  54. exit();
  55. }
  56. else if($dopost=='delete')
  57. {
  58. if(empty($userok)) $userok="";
  59. if($userok!="yes")
  60. {
  61. $randcode = mt_rand(10000, 99999);
  62. $safecode = substr(md5($cfg_cookie_encode.$randcode),0,24);
  63. require_once(DEDEINC."/oxwindow.class.php");
  64. $wintitle = "删除用户";
  65. $wecome_info = "<a href='sys_admin_user.php'>系统帐号管理</a>::删除用户";
  66. $win = new OxWindow();
  67. $win->Init("sys_admin_user_edit.php","js/blank.js","POST");
  68. $win->AddHidden("dopost", $dopost);
  69. $win->AddHidden("userok", "yes");
  70. $win->AddHidden("randcode", $randcode);
  71. $win->AddHidden("safecode", $safecode);
  72. $win->AddHidden("id", $id);
  73. $win->AddTitle("系统警告!");
  74. $win->AddMsgItem("你确信要删除用户:$userid 吗?","50");
  75. $win->AddMsgItem("安全验证串:<input name='safecode' type='text' id='safecode' size='16' style='width:200px' />&nbsp;(复制本代码: <font color='red'>$safecode</font> )","30");
  76. $winform = $win->GetWindow("ok");
  77. $win->Display();
  78. exit();
  79. }
  80. $safecodeok = substr(md5($cfg_cookie_encode.$randcode),0,24);
  81. if($safecodeok!=$safecode)
  82. {
  83. ShowMsg("请填写正确的安全验证串!", "sys_admin_user.php");
  84. exit();
  85. }
  86. //不能删除id为1的创建人帐号,不能删除自己
  87. $rs = $dsql->ExecuteNoneQuery2("DELETE FROM `#@__admin` WHERE id='$id' AND id<>1 AND id<>'".$cuserLogin->getUserID()."' ");
  88. if($rs>0)
  89. {
  90. //更新前台用户信息
  91. $dsql->ExecuteNoneQuery("UPDATE `#@__member` SET matt='0' WHERE mid='$id' LIMIT 1");
  92. ShowMsg("成功删除一个帐户!","sys_admin_user.php");
  93. }
  94. else
  95. {
  96. ShowMsg("不能删除id为1的创建人帐号,不能删除自己!","sys_admin_user.php",0,3000);
  97. }
  98. exit();
  99. }
  100. //显示用户信息
  101. $randcode = mt_rand(10000,99999);
  102. $safecode = substr(md5($cfg_cookie_encode.$randcode),0,24);
  103. $typeOptions = '';
  104. $row = $dsql->GetOne("SELECT * FROM `#@__admin` WHERE id='$id'");
  105. $typeids = explode(',', $row['typeid']);
  106. $dsql->SetQuery("SELECT id,typename FROM `#@__arctype` WHERE reid=0 AND (ispart=0 OR ispart=1)");
  107. $dsql->Execute('op');
  108. while($nrow = $dsql->GetObject('op'))
  109. {
  110. $typeOptions .= "<option value='{$nrow->id}' class='btype'".(in_array($nrow->id, $typeids) ? ' selected' : '').">{$nrow->typename}</option>\r\n";
  111. $dsql->SetQuery("SELECT id,typename FROM #@__arctype WHERE reid={$nrow->id} AND (ispart=0 OR ispart=1)");
  112. $dsql->Execute('s');
  113. while($nrow = $dsql->GetObject('s'))
  114. {
  115. $typeOptions .= "<option value='{$nrow->id}' class='stype'".(in_array($nrow->id, $typeids) ? ' selected' : '').">—{$nrow->typename}</option>\r\n";
  116. }
  117. }
  118. make_hash();
  119. include DedeInclude('templets/sys_admin_user_edit.htm');