user_setting.py 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  1. from .tool.func import *
  2. def user_setting_2(conn, server_init):
  3. curs = conn.cursor()
  4. support_language = ['default'] + server_init.server_set_var['language']['list']
  5. ip = ip_check()
  6. if ban_check() == 1:
  7. return re_error('/ban')
  8. if ip_or_user(ip) == 0:
  9. if flask.request.method == 'POST':
  10. auto_list = ['email', 'skin', 'lang']
  11. for auto_data in auto_list:
  12. if flask.request.form.get(auto_data, '') != '':
  13. curs.execute(db_change('select data from user_set where name = ? and id = ?'), [auto_data, ip])
  14. if curs.fetchall():
  15. curs.execute(db_change("update user_set set data = ? where name = ? and id = ?"), [flask.request.form.get(auto_data, ''), auto_data, ip])
  16. else:
  17. curs.execute(db_change("insert into user_set (name, id, data) values (?, ?, ?)"), [auto_data, ip, flask.request.form.get(auto_data, '')])
  18. conn.commit()
  19. return redirect('/change')
  20. else:
  21. curs.execute(db_change('select data from user_set where name = "email" and id = ?'), [ip])
  22. data = curs.fetchall()
  23. if data:
  24. email = data[0][0]
  25. else:
  26. email = '-'
  27. div2 = load_skin('', 0, 1)
  28. div3 = ''
  29. curs.execute(db_change('select data from user_set where name = "lang" and id = ?'), [ip_check()])
  30. data = curs.fetchall()
  31. if not data:
  32. data = [['default']]
  33. for lang_data in support_language:
  34. see_data = lang_data if lang_data != 'default' else load_lang('default')
  35. if data and data[0][0] == lang_data:
  36. div3 = '<option value="' + lang_data + '">' + see_data + '</option>' + div3
  37. else:
  38. div3 += '<option value="' + lang_data + '">' + see_data + '</option>'
  39. http_warring = '' + \
  40. '<hr class="main_hr">' + \
  41. '<span>' + load_lang('http_warring') + '</span>' + \
  42. ''
  43. return easy_minify(flask.render_template(skin_check(),
  44. imp = [load_lang('user_setting'), wiki_set(), custom(), other2([0, 0])],
  45. data = '''
  46. <form method="post">
  47. <span>''' + load_lang('id') + ''' : ''' + ip + '''</span>
  48. <hr class="main_hr">
  49. <a href="/pw_change">(''' + load_lang('password_change') + ''')</a>
  50. <hr class="main_hr">
  51. <span>''' + load_lang('email') + ''' : ''' + email + '''</span> <a href="/email_change">(''' + load_lang('email_change') + ''')</a>
  52. <hr class="main_hr">
  53. <span>''' + load_lang('skin') + '''</span>
  54. <hr class="main_hr">
  55. <select name="skin">''' + div2 + '''</select>
  56. <hr class="main_hr">
  57. <span>''' + load_lang('language') + '''</span>
  58. <hr class="main_hr">
  59. <select name="lang">''' + div3 + '''</select>
  60. <hr class="main_hr">
  61. <button type="submit">''' + load_lang('save') + '''</button>
  62. ''' + http_warring + '''
  63. </form>
  64. ''',
  65. menu = [['user', load_lang('return')]]
  66. ))
  67. else:
  68. return redirect('/login')