member_emailverify.php 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. <?php
  2. /**
  3. * [Discuz!] (C)2001-2099 Comsenz Inc.
  4. * This is NOT a freeware, use is subject to license terms
  5. *
  6. * $Id: member_emailverify.php 25756 2011-11-22 02:47:45Z zhangguosheng $
  7. */
  8. if(!defined('IN_DISCUZ')) {
  9. exit('Access Denied');
  10. }
  11. define('NOROBOT', TRUE);
  12. $member = getuserbyuid($_G['uid']);
  13. if(!$member || $member['groupid'] != 8) {
  14. showmessage('member_not_found');
  15. } else {
  16. $member = array_merge(C::t('common_member_field_forum')->fetch($member['uid']), $member);
  17. }
  18. if($_G['setting']['regverify'] == 2) {
  19. showmessage('register_verify_invalid');
  20. }
  21. list($dateline, $type, $idstring) = explode("\t", $member['authstr']);
  22. if($type == 2 && TIMESTAMP - $dateline < 86400) {
  23. showmessage('email_verify_invalid');
  24. }
  25. $idstring = $type == 2 && $idstring ? $idstring : random(6);
  26. C::t('common_member_field_forum')->update($_G['uid'], array('authstr'=>"$_G[timestamp]\t2\t$idstring"));
  27. $verifyurl = "{$_G[siteurl]}member.php?mod=activate&amp;uid={$_G[uid]}&amp;id=$idstring";
  28. $email_verify_message = lang('email', 'email_verify_message', array(
  29. 'username' => $_G['member']['username'],
  30. 'bbname' => $_G['setting']['bbname'],
  31. 'siteurl' => $_G['siteurl'],
  32. 'url' => $verifyurl
  33. ));
  34. include_once libfile('function/mail');
  35. if(!sendmail("{$_G[member][username]} <$_GET[email]>", lang('email', 'email_verify_subject'), $email_verify_message)) {
  36. runlog('sendmail', "$_GET[email] sendmail failed.");
  37. }
  38. showmessage('email_verify_succeed');
  39. ?>