user_setting_skin_set_main.py 8.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171
  1. from .tool.func import *
  2. def user_setting_skin_set_main():
  3. with get_db_connect() as conn:
  4. curs = conn.cursor()
  5. ip = ip_check()
  6. if ban_check(ip) == 1:
  7. return re_error('/ban')
  8. set_list = {
  9. 'main_css_strike' : [
  10. ['normal', load_lang('default')],
  11. ['change', load_lang('change_to_normal')],
  12. ['delete', load_lang('delete')]
  13. ], 'main_css_bold' : [
  14. ['normal', load_lang('default')],
  15. ['change', load_lang('change_to_normal')],
  16. ['delete', load_lang('delete')]
  17. ], 'main_css_include_link' : [
  18. ['normal', load_lang('default')],
  19. ['use', load_lang('use')]
  20. ], 'main_css_image_paste' : [
  21. ['normal', load_lang('default')],
  22. ['use', load_lang('use')]
  23. ], 'main_css_category_set' : [
  24. ['bottom', load_lang('bottom')],
  25. ['top', load_lang('top')]
  26. ], 'main_css_footnote_set' : [
  27. ['normal', load_lang('default')],
  28. ['spread', load_lang('spread')]
  29. ], 'main_css_image_set' : [
  30. ['normal', load_lang('default')],
  31. ['click', load_lang('change_to_link')],
  32. ['new_click', load_lang('click_load')]
  33. ], 'main_css_toc_set' : [
  34. ['normal', load_lang('default')],
  35. ['off', load_lang('all_off')],
  36. ['half_off', load_lang('in_content')]
  37. ], 'main_css_monaco' : [
  38. ['normal', load_lang('default')],
  39. ['use', load_lang('use')]
  40. ], 'main_css_exter_link' : [
  41. ['blank', load_lang('default')],
  42. ['self', load_lang('self_tab')]
  43. ], 'main_css_link_delimiter' : [
  44. ['normal', load_lang('default')],
  45. ['use', load_lang('use')]
  46. ], 'main_css_darkmode' : [
  47. ['0', load_lang('default')],
  48. ['1', load_lang('use')]
  49. ], 'main_css_font_size' : [
  50. ['']
  51. ]
  52. }
  53. use_cookie = ['main_css_image_paste', 'main_css_darkmode']
  54. if flask.request.method == 'POST':
  55. html_data = flask.make_response(redirect('/change/skin_set/main'))
  56. for for_b in set_list:
  57. if for_b in use_cookie:
  58. html_data.set_cookie(for_b, flask.request.form.get(for_b, set_list[for_b][0][0]))
  59. elif ip_or_user(ip) == 0:
  60. curs.execute(db_change('select data from user_set where name = ? and id = ?'), [for_b, ip])
  61. if curs.fetchall():
  62. curs.execute(db_change("update user_set set data = ? where name = ? and id = ?"), [
  63. flask.request.form.get(for_b, set_list[for_b][0][0]),
  64. for_b,
  65. ip
  66. ])
  67. else:
  68. curs.execute(db_change('insert into user_set (name, id, data) values (?, ?, ?)'), [
  69. for_b,
  70. ip,
  71. flask.request.form.get(for_b, set_list[for_b][0][0])
  72. ])
  73. else:
  74. flask.session[for_b] = flask.request.form.get(for_b, set_list[for_b][0][0])
  75. conn.commit()
  76. return html_data
  77. else:
  78. set_data = {}
  79. for for_b in set_list:
  80. set_data[for_b] = ''
  81. if for_b in use_cookie:
  82. get_data = flask.request.cookies.get(for_b, '')
  83. elif ip_or_user(ip) == 0:
  84. curs.execute(db_change('select data from user_set where name = ? and id = ?'), [for_b, ip])
  85. db_data = curs.fetchall()
  86. get_data = db_data[0][0] if db_data else ''
  87. else:
  88. get_data = flask.session[for_b] if for_b in flask.session else ''
  89. if set_list[for_b][0] == ['']:
  90. set_data[for_b] = get_data
  91. else:
  92. for for_a in set_list[for_b]:
  93. if get_data == for_a[0]:
  94. set_data[for_b] = '<option value="' + for_a[0] + '">' + for_a[1] + '</option>' + set_data[for_b]
  95. else:
  96. set_data[for_b] += '<option value="' + for_a[0] + '">' + for_a[1] + '</option>'
  97. return easy_minify(flask.render_template(skin_check(),
  98. imp = [load_lang('main_skin_set'), wiki_set(), wiki_custom(), wiki_css(['(' + load_lang('beta') + ')', 0])],
  99. data = render_simple_set('''
  100. <form method="post">
  101. <h2>render</h2>
  102. <h3>strike</h3>
  103. <select name="main_css_strike">
  104. ''' + set_data["main_css_strike"] + '''
  105. </select>
  106. <h3>bold</h3>
  107. <select name="main_css_bold">
  108. ''' + set_data["main_css_bold"] + '''
  109. </select>
  110. <h3>category</h3>
  111. <select name="main_css_category_set">
  112. ''' + set_data["main_css_category_set"] + '''
  113. </select>
  114. <h3>footnote</h3>
  115. <select name="main_css_footnote_set">
  116. ''' + set_data["main_css_footnote_set"] + '''
  117. </select>
  118. <h3>include link</h3>
  119. <select name="main_css_include_link">
  120. ''' + set_data["main_css_include_link"] + '''
  121. </select>
  122. <h3>image</h3>
  123. <select name="main_css_image_set">
  124. ''' + set_data["main_css_image_set"] + '''
  125. </select>
  126. <h3>toc</h3>
  127. <select name="main_css_toc_set">
  128. ''' + set_data["main_css_toc_set"] + '''
  129. </select>
  130. <h3>exter link</h3>
  131. <select name="main_css_exter_link">
  132. ''' + set_data["main_css_exter_link"] + '''
  133. </select>
  134. <h3>link delimiter</h3>
  135. <select name="main_css_link_delimiter">
  136. ''' + set_data["main_css_link_delimiter"] + '''
  137. </select>
  138. <h3>force darkmode</h3>
  139. <select name="main_css_darkmode">
  140. ''' + set_data["main_css_darkmode"] + '''
  141. </select>
  142. <h3>font size</h3>
  143. (EX : 11) (''' + load_lang('off') + ''' : ''' + load_lang('empty') + ''')
  144. <hr class="main_hr">
  145. <input id="main_css_font_size" value="''' + set_data["main_css_font_size"] + '''">
  146. <h2>editor</h2>
  147. <h3>image paste</h3>
  148. <sup>''' + load_lang('only_korean') + '''</sup> <sup>''' + load_lang('unavailable_in_monaco') + '''</sup>
  149. <hr class="main_hr">
  150. <select name="main_css_image_paste">
  151. ''' + set_data["main_css_image_paste"] + '''
  152. </select>
  153. <h3>monaco</h3>
  154. <select name="main_css_monaco">
  155. ''' + set_data["main_css_monaco"] + '''
  156. </select>
  157. <hr class="main_hr">
  158. <button type="submit">''' + load_lang('save') + '''</button>
  159. </form>
  160. '''),
  161. menu = [['change', load_lang('user_setting')], ['change/skin_set', load_lang('skin_set')]]
  162. ))