inter_wiki_plus.py 8.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216
  1. from .tool.func import *
  2. def inter_wiki_plus_2(conn, tools, name):
  3. curs = conn.cursor()
  4. if flask.request.method == 'POST':
  5. if tools == 'plus_inter_wiki':
  6. if name:
  7. curs.execute(db_change("delete from inter where title = ?"), [name])
  8. curs.execute(db_change('insert into inter (title, link, icon) values (?, ?, ?)'), [
  9. flask.request.form.get('title', 'test'),
  10. flask.request.form.get('link', 'test'),
  11. flask.request.form.get('icon', '')
  12. ])
  13. admin_check(None, 'inter_wiki_plus')
  14. elif tools == 'plus_edit_filter':
  15. if admin_check(1, 'edit_filter edit') != 1:
  16. return re_error('/error/3')
  17. if flask.request.form.get('second', '0') == '0':
  18. end = 'X'
  19. else:
  20. end = flask.request.form.get('second', 'X')
  21. try:
  22. re.compile(flask.request.form.get('content', 'test'))
  23. curs.execute(db_change("delete from filter where name = ?"), [name])
  24. curs.execute(db_change("insert into filter (name, regex, sub) values (?, ?, ?)"), [
  25. name,
  26. flask.request.form.get('content', 'test'),
  27. end
  28. ])
  29. except:
  30. return re_error('/error/23')
  31. else:
  32. plus_d = ''
  33. if tools == 'plus_name_filter':
  34. try:
  35. re.compile(flask.request.form.get('title', 'test'))
  36. except:
  37. return re_error('/error/23')
  38. admin_check(None, 'name_filter edit')
  39. type_d = 'name'
  40. elif tools == 'plus_file_filter':
  41. try:
  42. re.compile(flask.request.form.get('title', 'test'))
  43. except:
  44. return re_error('/error/23')
  45. admin_check(None, 'file_filter edit')
  46. type_d = 'file'
  47. elif tools == 'plus_email_filter':
  48. admin_check(None, 'email_filter edit')
  49. type_d = 'email'
  50. elif tools == 'plus_image_license':
  51. admin_check(None, 'image_license edit')
  52. type_d = 'image_license'
  53. else:
  54. admin_check(None, 'edit_top edit')
  55. type_d = 'edit_top'
  56. plus_d = flask.request.form.get('markup', 'test')
  57. if name:
  58. curs.execute(db_change("delete from html_filter where html = ? and kind = ?"), [
  59. name,
  60. type_d
  61. ])
  62. curs.execute(db_change('insert into html_filter (html, kind, plus) values (?, ?, ?)'), [
  63. flask.request.form.get('title', 'test'),
  64. type_d,
  65. plus_d
  66. ])
  67. conn.commit()
  68. return redirect('/' + re.sub('^plus_', '', tools))
  69. else:
  70. if admin_check(1) != 1:
  71. stat = 'disabled'
  72. else:
  73. stat = ''
  74. if tools == 'plus_inter_wiki':
  75. if name:
  76. curs.execute(db_change("select title, link, icon from inter where title = ?"), [name])
  77. exist = curs.fetchall()
  78. if exist:
  79. value = exist[0]
  80. else:
  81. value = ['', '', '']
  82. else:
  83. value = ['', '', '']
  84. title = load_lang('interwiki_add')
  85. form_data = '''
  86. ''' + load_lang('name') + '''
  87. <hr class=\"main_hr\">
  88. <input value="''' + value[0] + '''" type="text" name="title">
  89. <hr class=\"main_hr\">
  90. ''' + load_lang('link') + '''
  91. <hr class=\"main_hr\">
  92. <input value="''' + value[1] + '''" type="text" name="link">
  93. <hr class=\"main_hr\">
  94. ''' + load_lang('icon') + ''' (HTML)
  95. <hr class=\"main_hr\">
  96. <input value="''' + value[2] + '''" type="text" name="icon">
  97. '''
  98. elif tools == 'plus_edit_filter':
  99. curs.execute(db_change("select regex, sub from filter where name = ?"), [name])
  100. exist = curs.fetchall()
  101. if exist:
  102. textarea = exist[0][0]
  103. if exist[0][1] == 'X':
  104. time_check = 'checked="checked"'
  105. time_data = ''
  106. else:
  107. time_check = ''
  108. time_data = exist[0][1]
  109. else:
  110. textarea = ''
  111. time_check = ''
  112. time_data = ''
  113. t_data = [
  114. ['86400', load_lang('1_day')],
  115. ['432000‬', load_lang('5_day')],
  116. ['2592000', load_lang('30_day')],
  117. ['15552000', load_lang('180_day')],
  118. ['31104000‬', load_lang('360_day')],
  119. ['0', load_lang('limitless')]
  120. ]
  121. insert_data = ''
  122. for i in t_data:
  123. insert_data += '<a href="javascript:insert_v(\'second\', \'' + i[0] + '\')">(' + i[1] + ')</a> '
  124. title = load_lang('edit_filter_add')
  125. form_data = '''
  126. <script>function insert_v(name, data) { document.getElementById(name).value = data; }</script>''' + insert_data + '''
  127. <hr class=\"main_hr\">
  128. <input placeholder="''' + load_lang('second') + '''" id="second" name="second" type="text" value="''' + html.escape(time_data) + '''">
  129. <hr class=\"main_hr\">
  130. <input ''' + stat + ''' placeholder="''' + load_lang('regex') + '''" name="content" value="''' + html.escape(textarea) + '''" type="text">
  131. '''
  132. elif tools == 'plus_name_filter':
  133. title = load_lang('id_filter_add')
  134. form_data = '' + \
  135. load_lang('regex') + \
  136. '<hr class=\"main_hr\">' + \
  137. '<input value="' + (name if name else '') + '" type="text" name="title">' + \
  138. ''
  139. elif tools == 'plus_file_filter':
  140. title = load_lang('file_filter_add')
  141. form_data = '' + \
  142. load_lang('regex') + \
  143. '<hr class=\"main_hr\">' + \
  144. '<input value="' + (name if name else '') + '" type="text" name="title">' + \
  145. ''
  146. elif tools == 'plus_email_filter':
  147. title = load_lang('email_filter_add')
  148. form_data = '' + \
  149. load_lang('email') + \
  150. '<hr class=\"main_hr\">' + \
  151. '<input value="' + (name if name else '') + '" type="text" name="title">' + \
  152. ''
  153. elif tools == 'plus_image_license':
  154. title = load_lang('image_license_add')
  155. form_data = '' + \
  156. load_lang('license') + \
  157. '<hr class=\"main_hr\">' + \
  158. '<input value="' + (name if name else '') + '" type="text" name="title">' + \
  159. ''
  160. else:
  161. title = load_lang('edit_tool_add')
  162. if name:
  163. curs.execute(db_change("select plus from html_filter where html = ? and kind = 'edit_top'"), [name])
  164. exist = curs.fetchall()
  165. if exist:
  166. value = exist[0][0]
  167. else:
  168. value = ''
  169. else:
  170. value = ''
  171. form_data = '''
  172. ''' + load_lang('title') + '''
  173. <hr class=\"main_hr\">
  174. <input value="''' + (name if name else '') + '''" type="text" name="title">
  175. <hr class=\"main_hr\">
  176. ''' + load_lang('markup') + '''
  177. <hr class=\"main_hr\">
  178. <input value="''' + value + '''" type="text" name="markup">
  179. '''
  180. return easy_minify(flask.render_template(skin_check(),
  181. imp = [title, wiki_set(), custom(), other2([0, 0])],
  182. data = '''
  183. <form method="post">
  184. ''' + form_data + '''
  185. <hr class=\"main_hr\">
  186. <button ''' + stat + ''' type="submit">''' + load_lang('add') + '''</button>
  187. </form>
  188. ''',
  189. menu = [[re.sub('^plus_', '', tools), load_lang('return')]]
  190. ))