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

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