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

281 lines
8.8KB

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