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

282 lines
8.9KB

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