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

100 lines
4.5KB

  1. <?php
  2. /**
  3. * 提升会员
  4. *
  5. * @version $id:member_toadmin.php 14:09 2010年7月20日 tianya $
  6. * @package DedeBIZ.Administrator
  7. * @copyright Copyright (c) 2022 DedeBIZ.COM
  8. * @license GNU GPL v2 (https://www.dedebiz.com/license)
  9. * @link https://www.dedebiz.com
  10. */
  11. require_once(dirname(__FILE__)."/config.php");
  12. CheckPurview('member_Edit');
  13. if (empty($dopost)) $dopost = '';
  14. if (empty($fmdo)) $fmdo = '';
  15. $ENV_GOBACK_URL = isset($_COOKIE['ENV_GOBACK_URL']) ? 'member_main.php' : '';
  16. $row = array();
  17. //升级为管理员
  18. if ($dopost == "toadmin") {
  19. $pwd = trim($pwd);
  20. if ($pwd != '' && preg_match("#[^0-9a-zA-Z_@!\.-]#", $pwd)) {
  21. ShowMsg('密码不合法,仅限使用[0-9a-zA-Z_@!.-]', '-1');
  22. exit();
  23. }
  24. $safecodeok = substr(md5($cfg_cookie_encode.$randcode), 0, 24);
  25. if ($safecodeok != $safecode) {
  26. ShowMsg("请填写正确的验证安全码", "member_toadmin.php?id={$id}");
  27. exit();
  28. }
  29. $pwdm = '';
  30. if ($pwd != '') {
  31. $inputpwd = ",pwd";
  32. if (function_exists('password_hash')) {
  33. $inputpwd = ",pwd_new";
  34. $inputpwdv = ",'".password_hash($pwd, PASSWORD_BCRYPT)."'";
  35. $pwdm = ",pwd_new='".password_hash($pwd, PASSWORD_BCRYPT)."'";
  36. } else {
  37. $inputpwdv = ",'".substr(md5($pwd), 5, 20)."'";
  38. $pwdm = ",pwd='".md5($pwd)."'";
  39. }
  40. } else {
  41. $row = $dsql->GetOne("SELECT * FROM `#@__member` WHERE mid='$id'");
  42. if (function_exists('password_hash')) {
  43. $password = $row['pwd_new'];
  44. $inputpwd = ",pwd_new";
  45. $inputpwdv = ",'".$password."'";
  46. $pwdm = ",pwd_new='".$password."'";
  47. } else {
  48. $password = $row['pwd'];
  49. $inputpwd = ",pwd";
  50. $pwd = substr($password, 5, 20);
  51. $inputpwdv = ",'".$pwd."'";
  52. $pwdm = ",pwd='".$password."'";
  53. }
  54. }
  55. $typeids = (empty($typeids)) ? array() : $typeids;
  56. if ($typeids == '') {
  57. ShowMsg("请为该管理员指定管理栏目", "member_toadmin.php?id={$id}");
  58. exit();
  59. }
  60. $typeid = join(',', $typeids);
  61. if ($typeid == '0') $typeid = '';
  62. if ($id != 1) {
  63. $query = "INSERT INTO `#@__admin` (id,usertype,userid$inputpwd,uname,typeid,tname,email) VALUES ('$id','$usertype','$userid'$inputpwdv,'$uname','$typeid','$tname','$email')";
  64. } else {
  65. $query = "INSERT INTO `#@__admin` (id,userid$inputpwd,uname,typeid,tname,email) VALUES ('$id','$userid'$inputpwdv,'$uname','$typeid','$tname','$email')";
  66. }
  67. $dsql->ExecuteNoneQuery($query);
  68. $query = "UPDATE `#@__member` SET `rank`='100',uname='$uname',matt='10',email='$email'$pwdm WHERE mid='$id'";
  69. $dsql->ExecuteNoneQuery($query);
  70. $row = $dsql->GetOne("SELECT * FROM `#@__admintype` WHERE `rank`='$usertype'");
  71. $floginid = $cuserLogin->getUserName();
  72. $fromid = $cuserLogin->getUserID();
  73. $subject = "恭喜您已经成功提升管理员";
  74. $message = "尊敬的{$userid}会员,您已经成功提升为{$row['typename']},具体操作权限请同网站超级管理员联系";
  75. $sendtime = $writetime = time();
  76. $inquery = "INSERT INTO `#@__member_pms` (`floginid`,`fromid`,`toid`,`tologinid`,`folder`,`subject`,`sendtime`,`writetime`,`hasview`,`isadmin`,`message`) VALUES ('$floginid','$fromid','$id','$userid','inbox','$subject','$sendtime','$writetime','0','0','$message'); ";
  77. $dsql->ExecuteNoneQuery($inquery);
  78. ShowMsg("成功升级一个帐户", "member_main.php");
  79. exit();
  80. }
  81. $id = preg_replace("#[^0-9]#", "", $id);
  82. //显示会员信息
  83. $randcode = mt_rand(10000, 99999);
  84. $safecode = substr(md5($cfg_cookie_encode.$randcode), 0, 24);
  85. $typeOptions = '';
  86. $typeid = (empty($typeid)) ? '' : $typeid;
  87. $typeids = explode(',', $typeid);
  88. $dsql->SetQuery("SELECT id,typename FROM `#@__arctype` WHERE reid=0 AND (ispart=0 OR ispart=1)");
  89. $dsql->Execute('op');
  90. while ($nrow = $dsql->GetObject('op')) {
  91. $typeOptions .= "<option value='{$nrow->id}'".(in_array($nrow->id, $typeids) ? ' selected' : '').">{$nrow->typename}</option>\r\n";
  92. $dsql->SetQuery("SELECT id,typename FROM `#@__arctype` WHERE reid={$nrow->id} AND (ispart=0 OR ispart=1)");
  93. $dsql->Execute('s');
  94. while ($nrow = $dsql->GetObject('s')) {
  95. $typeOptions .= "<option value='{$nrow->id}'".(in_array($nrow->id, $typeids) ? ' selected' : '').">└─ {$nrow->typename}</option>\r\n";
  96. }
  97. }
  98. $row = $dsql->GetOne("SELECT * FROM `#@__member` WHERE mid='$id'");
  99. include DedeInclude('templets/member_toadmin.htm');
  100. ?>