login_register_email.py 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. from .tool.func import *
  2. def login_register_email_2(conn):
  3. curs = conn.cursor()
  4. if not 'reg_id' in flask.session:
  5. return redirect('/register')
  6. if flask.request.method == 'POST':
  7. flask.session['reg_key'] = load_random_key(32)
  8. user_email = flask.request.form.get('email', '')
  9. email_data = re.search(r'@([^@]+)$', user_email)
  10. if email_data:
  11. email_data = email_data.group(1)
  12. curs.execute(db_change(
  13. "select html from html_filter where html = ? and kind = 'email'"
  14. ), [email_data])
  15. if not curs.fetchall():
  16. return redirect('/email_filter')
  17. curs.execute(db_change('select data from other where name = "email_title"'))
  18. sql_d = curs.fetchall()
  19. if sql_d and sql_d[0][0] != '':
  20. t_text = html.escape(sql_d[0][0])
  21. else:
  22. t_text = wiki_set()[0] + ' key'
  23. curs.execute(db_change('select data from other where name = "email_text"'))
  24. sql_d = curs.fetchall()
  25. if sql_d and sql_d[0][0] != ''
  26. i_text = html.escape(sql_d[0][0]) + '\n\nKey : ' + flask.session['c_key']
  27. else:
  28. i_text = 'Key : ' + flask.session['c_key']
  29. curs.execute(db_change('select id from user_set where name = "email" and data = ?'), [user_email])
  30. if curs.fetchall():
  31. return re_error('/error/35')
  32. if send_email(user_email, t_text, i_text) == 0:
  33. return re_error('/error/18')
  34. flask.session['reg_email'] = user_email
  35. return redirect('/register/email/check')
  36. else:
  37. curs.execute(db_change('select data from other where name = "email_insert_text"'))
  38. sql_d = curs.fetchall()
  39. b_text = (sql_d[0][0] + '<hr class="main_hr">') if sql_d and sql_d[0][0] != '' else ''
  40. return easy_minify(flask.render_template(skin_check(),
  41. imp = [load_lang('email'), wiki_set(), wiki_custom(), wiki_css([0, 0])],
  42. data = '''
  43. <a href="/email_filter">(''' + load_lang('email_filter_list') + ''')</a>
  44. <hr class="main_hr">
  45. ''' + b_text + '''
  46. <form method="post">
  47. <input placeholder="''' + load_lang('email') + '''" name="email" type="text">
  48. <hr class="main_hr">
  49. <button type="submit">''' + load_lang('save') + '''</button>
  50. </form>
  51. ''',
  52. menu = [['user', load_lang('return')]]
  53. ))