2
0

user_setting_head.py 3.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  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. conn.commit()
  18. flask.session['head' + skin_name] = get_data
  19. if skin_name_org != '':
  20. return redirect('/change/head/' + skin_name_org)
  21. else:
  22. return redirect('/change/head')
  23. else:
  24. if ip_or_user(ip) == 0:
  25. start = ''
  26. curs.execute(db_change("select data from user_set where id = ? and name = ?"), [ip, 'custom_css' + skin_name])
  27. head_data = curs.fetchall()
  28. data = head_data[0][0] if head_data else ''
  29. else:
  30. start = '' + \
  31. '<span>' + load_lang('user_head_warning') + '</span>' + \
  32. '<hr class="main_hr">' + \
  33. ''
  34. data = flask.session['head' + skin_name] if 'head' + skin_name in flask.session else ''
  35. start += '' + \
  36. '<span>' + \
  37. '&lt;style&gt;CSS&lt;/style&gt;' + \
  38. '<br>' + \
  39. '&lt;script&gt;JS&lt;/script&gt;' + \
  40. '</span>' + \
  41. '<hr class="main_hr">' + \
  42. ''
  43. if skin_name == '':
  44. sub_name = ''
  45. else:
  46. sub_name = ' (' + skin_name_org + ')'
  47. start = '' + \
  48. '<a href="/change/head">(' + load_lang('all') + ')</a> ' + \
  49. ' '.join(['<a href="/change/head/' + url_pas(i) + '">(' + html.escape(i) + ')</a>' for i in load_skin('', 1)]) + \
  50. '<hr class="main_hr">' + \
  51. start + \
  52. ''
  53. return easy_minify(flask.render_template(skin_check(),
  54. imp = [load_lang(data = 'user_head', safe = 1), wiki_set(), wiki_custom(), wiki_css(['(HTML)' + sub_name, 0])],
  55. data = start + '''
  56. <form method="post">
  57. <textarea class="opennamu_textarea_500" cols="100" name="content">''' + html.escape(data) + '''</textarea>
  58. <hr class="main_hr">
  59. ''' + load_lang('user_css_warning') + ''' : <a href="/change/head_reset">/change/head_reset</a>
  60. <hr class="main_hr">
  61. <button id="opennamu_save_button" type="submit">''' + load_lang('save') + '''</button>
  62. </form>
  63. ''',
  64. menu = [['change', load_lang('return')]]
  65. ))