user_setting_skin_set_main.py 8.4 KB

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