2
0

user_setting_head.py 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. from .tool.func import *
  2. def user_setting_head(skin_name = ''):
  3. with get_db_connect() as conn:
  4. curs = conn.cursor()
  5. ip = ip_check()
  6. skin_name_org = skin_name
  7. if skin_name != '':
  8. skin_name = '_' + skin_name
  9. if flask.request.method == 'POST':
  10. get_data = flask.request.form.get('content', '')
  11. if ip_or_user(ip) == 0:
  12. curs.execute(db_change("select id from user_set where id = ? and name = ?"), [ip, 'custom_css' + skin_name])
  13. if curs.fetchall():
  14. curs.execute(db_change("update user_set set data = ? where id = ? and name = ?"), [get_data, ip, 'custom_css' + skin_name])
  15. else:
  16. curs.execute(db_change("insert into user_set (id, name, data) values (?, ?, ?)"), [ip, 'custom_css' + skin_name, get_data])
  17. flask.session['head' + skin_name] = get_data
  18. if skin_name_org != '':
  19. return redirect(conn, '/change/head/' + skin_name_org)
  20. else:
  21. return redirect(conn, '/change/head')
  22. else:
  23. if ip_or_user(ip) == 0:
  24. start = ''
  25. curs.execute(db_change("select data from user_set where id = ? and name = ?"), [ip, 'custom_css' + skin_name])
  26. head_data = curs.fetchall()
  27. data = head_data[0][0] if head_data else ''
  28. else:
  29. start = '' + \
  30. '<span>' + get_lang(conn, 'user_head_warning') + '</span>' + \
  31. '<hr class="main_hr">' + \
  32. ''
  33. data = flask.session['head' + skin_name] if 'head' + skin_name in flask.session else ''
  34. start += '' + \
  35. '<span>' + \
  36. '&lt;style&gt;CSS&lt;/style&gt;' + \
  37. '<br>' + \
  38. '&lt;script&gt;JS&lt;/script&gt;' + \
  39. '</span>' + \
  40. '<hr class="main_hr">' + \
  41. ''
  42. if skin_name == '':
  43. sub_name = ''
  44. else:
  45. sub_name = ' (' + skin_name_org + ')'
  46. start = '' + \
  47. '<a href="/change/head">(' + get_lang(conn, 'all') + ')</a> ' + \
  48. ' '.join(['<a href="/change/head/' + url_pas(i) + '">(' + html.escape(i) + ')</a>' for i in load_skin(conn, '', 1)]) + \
  49. '<hr class="main_hr">' + \
  50. start + \
  51. ''
  52. return easy_minify(conn, flask.render_template(skin_check(conn),
  53. imp = [get_lang(conn, data = 'user_head', safe = 1), wiki_set(conn), wiki_custom(conn), wiki_css(['(HTML)' + sub_name, 0])],
  54. data = start + '''
  55. <form method="post">
  56. <textarea class="opennamu_textarea_500" cols="100" name="content">''' + html.escape(data) + '''</textarea>
  57. <hr class="main_hr">
  58. ''' + get_lang(conn, 'user_css_warning') + ''' : <a href="/change/head_reset">/change/head_reset</a>
  59. <hr class="main_hr">
  60. <button id="opennamu_save_button" type="submit">''' + get_lang(conn, 'save') + '''</button>
  61. </form>
  62. ''',
  63. menu = [['change', get_lang(conn, 'return')]]
  64. ))