inter_wiki_plus.py 6.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156
  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. curs.execute('insert into inter (title, link, icon) values (?, ?, ?)', [
  7. flask.request.form.get('title', None),
  8. flask.request.form.get('link', None),
  9. flask.request.form.get('icon', None)
  10. ])
  11. admin_check(None, 'inter_wiki_plus')
  12. elif tools == 'plus_edit_filter':
  13. if admin_check(1, 'edit_filter edit') != 1:
  14. return re_error('/error/3')
  15. if flask.request.form.get('second', '0') == '0':
  16. end = 'X'
  17. else:
  18. end = flask.request.form.get('second', 'X')
  19. try:
  20. re.compile(flask.request.form.get('content', 'test'))
  21. curs.execute("select name from filter where name = ?", [name])
  22. if curs.fetchall():
  23. curs.execute("update filter set regex = ?, sub = ? where name = ?", [flask.request.form.get('content', 'test'), end, name])
  24. else:
  25. curs.execute("insert into filter (name, regex, sub) values (?, ?, ?)", [name, flask.request.form.get('content', 'test'), end])
  26. except:
  27. return re_error('/error/23')
  28. else:
  29. plus_d = ''
  30. if tools == 'plus_name_filter':
  31. try:
  32. re.compile(flask.request.form.get('title', 'test'))
  33. except:
  34. return re_error('/error/23')
  35. admin_check(None, 'name_filter edit')
  36. type_d = 'name'
  37. elif tools == 'plus_file_filter':
  38. try:
  39. re.compile(flask.request.form.get('title', 'test'))
  40. except:
  41. return re_error('/error/23')
  42. admin_check(None, 'file_filter edit')
  43. type_d = 'file'
  44. elif tools == 'plus_email_filter':
  45. admin_check(None, 'email_filter edit')
  46. type_d = 'email'
  47. elif tools == 'plus_image_license':
  48. admin_check(None, 'image_license edit')
  49. type_d = 'image_license'
  50. else:
  51. admin_check(None, 'edit_top edit')
  52. type_d = 'edit_top'
  53. plus_d = flask.request.form.get('markup', 'test')
  54. curs.execute('insert into html_filter (html, kind, plus) values (?, ?, ?)', [flask.request.form.get('title', 'test'), type_d, plus_d])
  55. conn.commit()
  56. return redirect('/' + re.sub('^plus_', '', tools))
  57. else:
  58. if admin_check(1) != 1:
  59. stat = 'disabled'
  60. else:
  61. stat = ''
  62. if tools == 'plus_inter_wiki':
  63. title = load_lang('interwiki_add')
  64. form_data = '''
  65. <input placeholder="''' + load_lang('name') + '''" type="text" name="title">
  66. <hr class=\"main_hr\">
  67. <input placeholder="''' + load_lang('link') + '''" type="text" name="link">
  68. <hr class=\"main_hr\">
  69. <input placeholder="''' + load_lang('icon') + ''' (HTML)" type="text" name="icon">
  70. '''
  71. elif tools == 'plus_edit_filter':
  72. curs.execute("select regex, sub from filter where name = ?", [name])
  73. exist = curs.fetchall()
  74. if exist:
  75. textarea = exist[0][0]
  76. if exist[0][1] == 'X':
  77. time_check = 'checked="checked"'
  78. time_data = ''
  79. else:
  80. time_check = ''
  81. time_data = exist[0][1]
  82. else:
  83. textarea = ''
  84. time_check = ''
  85. time_data = ''
  86. t_data = [
  87. ['86400', load_lang('1_day')],
  88. ['432000‬', load_lang('5_day')],
  89. ['2592000', load_lang('30_day')],
  90. ['15552000', load_lang('180_day')],
  91. ['31104000‬', load_lang('360_day')],
  92. ['0', load_lang('limitless')]
  93. ]
  94. insert_data = ''
  95. for i in t_data:
  96. insert_data += '<a href="javascript:insert_v(\'second\', \'' + i[0] + '\')">(' + i[1] + ')</a> '
  97. title = load_lang('edit_filter_add')
  98. form_data = '''
  99. <script>function insert_v(name, data) { document.getElementById(name).value = data; }</script>''' + insert_data + '''
  100. <hr class=\"main_hr\">
  101. <input placeholder="''' + load_lang('second') + '''" id="second" name="second" type="text" value="''' + html.escape(time_data) + '''">
  102. <hr class=\"main_hr\">
  103. <input ''' + stat + ''' placeholder="''' + load_lang('regex') + '''" name="content" value="''' + html.escape(textarea) + '''" type="text">
  104. '''
  105. elif tools == 'plus_name_filter':
  106. title = load_lang('id_filter_add')
  107. form_data = '<input placeholder="' + load_lang('regex') + '" type="text" name="title">'
  108. elif tools == 'plus_file_filter':
  109. title = load_lang('file_filter_add')
  110. form_data = '<input placeholder="' + load_lang('regex') + '" type="text" name="title">'
  111. elif tools == 'plus_email_filter':
  112. title = load_lang('email_filter_add')
  113. form_data = '<input placeholder="' + load_lang('email') + '" type="text" name="title">'
  114. elif tools == 'plus_image_license':
  115. title = load_lang('image_license_add')
  116. form_data = '<input placeholder="' + load_lang('license') + '" type="text" name="title">'
  117. else:
  118. title = load_lang('edit_tool_add')
  119. form_data = '''
  120. <input placeholder="''' + load_lang('title') + '''" type="text" name="title">
  121. <hr class=\"main_hr\">
  122. <input placeholder="''' + load_lang('markup') + '''" type="text" name="markup">
  123. '''
  124. return easy_minify(flask.render_template(skin_check(),
  125. imp = [title, wiki_set(), custom(), other2([0, 0])],
  126. data = '''
  127. <form method="post">
  128. ''' + form_data + '''
  129. <hr class=\"main_hr\">
  130. <button ''' + stat + ''' type="submit">''' + load_lang('add') + '''</button>
  131. </form>
  132. ''',
  133. menu = [[re.sub('^plus_', '', tools), load_lang('return')]]
  134. ))