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

225 lines
8.9KB

  1. <?php
  2. /**
  3. * @version $id:index_do.php 8:24 2010年7月9日 tianya $
  4. * @package DedeBIZ.User
  5. * @copyright Copyright (c) 2022 DedeBIZ.COM
  6. * @license https://www.dedebiz.com/license
  7. * @link https://www.dedebiz.com
  8. */
  9. require_once(dirname(__FILE__)."/config.php");
  10. if (empty($dopost)) $dopost = '';
  11. if (empty($fmdo)) $fmdo = '';
  12. /*********************
  13. function check_email()
  14. *******************/
  15. if ($fmdo == 'sendMail') {
  16. if (!CheckEmail($cfg_ml->fields['email'])) {
  17. ShowMsg('您的邮箱格式有错误', '-1');
  18. exit();
  19. }
  20. if ($cfg_ml->fields['spacesta'] != -10) {
  21. ShowMsg('您的帐号不在邮件验证状态,本操作无效', '-1');
  22. exit();
  23. }
  24. $userhash = md5($cfg_cookie_encode.'--'.$cfg_ml->fields['mid'].'--'.$cfg_ml->fields['email']);
  25. $url = $cfg_basehost.(empty($cfg_cmspath) ? '/' : $cfg_cmspath)."/user/index_do.php?fmdo=checkMail&mid={$cfg_ml->fields['mid']}&userhash={$userhash}&do=1";
  26. $url = preg_replace("#http:\/\/#i", '', $url);
  27. $proto = IsSSL()? "https://" : "http://";
  28. $url = $proto.preg_replace("#\/\/#i", '/', $url);
  29. $mailtitle = "{$cfg_webname},会员邮件验证通知";
  30. $mailbody = '';
  31. $mailbody .= "尊敬的用户<span class='text-primary'>{$cfg_ml->fields['uname']}</span>,您好:\r\n";
  32. $mailbody .= "欢迎注册成为<span class='text-primary'>{$cfg_webname}</span>会员\r\n";
  33. $mailbody .= "要通过注册,还必须进行最后一步操作,请点击或复制下面链接到地址栏浏览这地址:\r\n";
  34. $mailbody .= "{$url}\r\n";
  35. $mailbody .= "Powered by DedeBIZ开发团队\r\n";
  36. $headers = "From: ".$cfg_adminemail."\r\nReply-To: ".$cfg_adminemail;
  37. if (!empty($cfg_bizcore_appid) && !empty($cfg_bizcore_key)) {
  38. $client = new DedeBizClient();
  39. $client->MailSend($cfg_ml->fields['email'],$mailtitle,$mailtitle,$mailbody);
  40. $client->Close();
  41. } else {
  42. if ($cfg_sendmail_bysmtp == 'Y' && !empty($cfg_smtp_server)) {
  43. $mailtype = 'TXT';
  44. require_once(DEDEINC.'/libraries/mail.class.php');
  45. $smtp = new smtp($cfg_smtp_server, $cfg_smtp_port, true, $cfg_smtp_usermail, $cfg_smtp_password);
  46. $smtp->debug = false;
  47. $smtp->sendmail($cfg_ml->fields['email'], $cfg_webname, $cfg_smtp_usermail, $mailtitle, $mailbody, $mailtype);
  48. } else {
  49. @mail($cfg_ml->fields['email'], $mailtitle, $mailbody, $headers);
  50. }
  51. }
  52. ShowMsg('成功发送邮件,请稍后登录您的邮箱进行接收', '/user');
  53. exit();
  54. } else if ($fmdo == 'checkMail') {
  55. $mid = intval($mid);
  56. if (empty($mid)) {
  57. ShowMsg('您的效验串不合法', '-1');
  58. exit();
  59. }
  60. $row = $dsql->GetOne("SELECT * FROM `#@__member` WHERE mid='{$mid}' ");
  61. $needUserhash = md5($cfg_cookie_encode.'--'.$mid.'--'.$row['email']);
  62. if ($needUserhash != $userhash) {
  63. ShowMsg('您的效验串不合法', '-1');
  64. exit();
  65. }
  66. if ($row['spacesta'] != -10) {
  67. ShowMsg('您的帐号不在邮件验证状态,本操作无效', '-1');
  68. exit();
  69. }
  70. $dsql->ExecuteNoneQuery("UPDATE `#@__member` SET spacesta=0 WHERE mid='{$mid}' ");
  71. //清除会员缓存
  72. $cfg_ml->DelCache($mid);
  73. ShowMsg('操作成功,请重新登录系统', 'login.php');
  74. exit();
  75. }
  76. /*********************
  77. function Case_user()
  78. *******************/
  79. else if ($fmdo == 'user') {
  80. //检查用户名是否存在
  81. if ($dopost == "checkuser") {
  82. AjaxHead();
  83. $msg = '';
  84. $uid = trim($uid);
  85. if ($cktype == 0) {
  86. $msgtitle = '用户名称';
  87. } else {
  88. $msgtitle = '用户名';
  89. }
  90. if ($cktype != 0 || $cfg_mb_wnameone == 'N') {
  91. $msg = CheckUserID($uid, $msgtitle);
  92. } else {
  93. $msg = CheckUserID($uid, $msgtitle, false);
  94. }
  95. if ($msg == 'ok') {
  96. $msg = "<span class='text-success'><i class='fa fa-check'></i> {$msgtitle}可以使用</span>";
  97. } else {
  98. $msg = "<span class='text-danger'><i class='fa fa-times'></i> {$msg}</span>";
  99. }
  100. echo $msg;
  101. exit();
  102. }
  103. //检查邮箱是否存在
  104. else if ($dopost == "checkmail") {
  105. AjaxHead();
  106. if ($cfg_md_mailtest == 'N') {
  107. $msg = "<span class='text-success'><i class='fa fa-check'></i> 可以使用</span>";
  108. } else {
  109. if (!CheckEmail($email)) {
  110. $msg = "<span class='text-danger'><i class='fa fa-times'></i> 邮箱格式有误</span>";
  111. } else {
  112. $row = $dsql->GetOne("SELECT mid FROM `#@__member` WHERE email LIKE '$email' LIMIT 1");
  113. if (!is_array($row)) {
  114. $msg = "<span class='text-success'><i class='fa fa-check'></i> 可以使用</span>";
  115. } else {
  116. $msg = "<span class='text-danger'><i class='fa fa-times'></i> 邮箱已经被另一个帐号占用</span>";
  117. }
  118. }
  119. }
  120. echo $msg;
  121. exit();
  122. }
  123. //引入注册页面
  124. else if ($dopost == "regnew") {
  125. $step = empty($step) ? 1 : intval(preg_replace("/[^\d]/", '', $step));
  126. require_once(dirname(__FILE__)."/reg_new.php");
  127. exit();
  128. }
  129. /***************************
  130. //积分换金币
  131. function money2s() { }
  132. ***************************/
  133. else if ($dopost == "money2s") {
  134. CheckRank(0, 0);
  135. if ($cfg_money_scores == 0) {
  136. ShowMsg('系统禁用了积分与金币兑换功能', '-1');
  137. exit();
  138. }
  139. $money = empty($money) ? "" : abs(intval($money));
  140. if (empty($money)) {
  141. ShowMsg('您没指定要兑换多少金币', '-1');
  142. exit();
  143. }
  144. $needscores = $money * $cfg_money_scores;
  145. if ($cfg_ml->fields['scores'] < $needscores) {
  146. ShowMsg('您积分不足,不能换取这么多的金币', '-1');
  147. exit();
  148. }
  149. $litmitscores = $cfg_ml->fields['scores'] - $needscores;
  150. //保存记录
  151. $mtime = time();
  152. $inquery = "INSERT INTO `#@__member_operation` (`buyid`,`pname`,`product`,`money`,`mtime`,`pid`,`mid`,`sta` ,`oldinfo`) VALUES ('ScoresToMoney','积分换金币操作','stc' ,'0' ,'$mtime' ,'0' ,'{$cfg_ml->M_ID}','0' ,'用{$needscores}积分兑了换金币{$money}个'); ";
  153. $dsql->ExecuteNoneQuery($inquery);
  154. //修改积分与金币值
  155. $dsql->ExecuteNoneQuery("UPDATE `#@__member` SET `scores`=$litmitscores, money= money + $money WHERE mid='".$cfg_ml->M_ID."' ");
  156. //清除会员缓存
  157. $cfg_ml->DelCache($cfg_ml->M_ID);
  158. ShowMsg('成功兑换指定量的金币', 'operation.php');
  159. exit();
  160. }
  161. }
  162. /*********************
  163. function login()
  164. *******************/
  165. else if ($fmdo == 'login') {
  166. //用户登录
  167. if ($dopost == "login") {
  168. if (!isset($vdcode)) {
  169. $vdcode = '';
  170. }
  171. if (CheckUserID($userid, '', false) != 'ok') {
  172. ResetVdValue();
  173. ShowMsg("您输入的用户名<span class='text-primary'>{$userid}</span>不合法", "index.php");
  174. exit();
  175. }
  176. if ($pwd == '') {
  177. ResetVdValue();
  178. ShowMsg("密码不能为空", "-1", 0, 2000);
  179. exit();
  180. }
  181. $isNeed = $cfg_ml->isNeedCheckCode($userid);
  182. if ($isNeed) {
  183. $svali = GetCkVdValue();
  184. if (strtolower($vdcode) != $svali || $svali == '') {
  185. ResetVdValue();
  186. ShowMsg('验证码不正确', 'index.php');
  187. exit();
  188. }
  189. }
  190. //检查帐号
  191. $rs = $cfg_ml->CheckUser($userid, $pwd);
  192. if ($rs == 0) {
  193. ResetVdValue();
  194. ShowMsg("您的账号不存在", "index.php", 0, 2000);
  195. exit();
  196. } else if ($rs == -1) {
  197. ResetVdValue();
  198. ShowMsg("您的密码错误", "index.php", 0, 2000);
  199. exit();
  200. } else if ($rs == -2) {
  201. ResetVdValue();
  202. ShowMsg("管理员帐号不允许从前台登录", "index.php", 0, 2000);
  203. exit();
  204. } else {
  205. //清除会员缓存
  206. $cfg_ml->DelCache($cfg_ml->M_ID);
  207. if (empty($gourl) || preg_match("#action|_do#i", $gourl)) {
  208. ShowMsg("成功登录,正在跳转用户首页", "index.php", 0, 2000);
  209. } else {
  210. $gourl = str_replace('^', '&', $gourl);
  211. ShowMsg("成功登录,正在跳转指定页面", $gourl, 0, 2000);
  212. }
  213. exit();
  214. }
  215. }
  216. //退出登录
  217. else if ($dopost == "exit") {
  218. $cfg_ml->ExitCookie();
  219. ShowMsg("已退出登录", "index.php", 0, 2000);
  220. exit();
  221. }
  222. } else {
  223. ShowMsg("本页面禁止返回", "index.php");
  224. }
  225. ?>