inter_wiki_plus.py 4.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118
  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) values (?, ?)', [flask.request.form.get('title', None), flask.request.form.get('link', None)])
  7. admin_check(None, 'inter_wiki_plus')
  8. elif tools == 'plus_edit_filter':
  9. if admin_check(1, 'edit_filter edit') != 1:
  10. return re_error('/error/3')
  11. if flask.request.form.get('limitless', '') != '':
  12. end = 'X'
  13. else:
  14. end = flask.request.form.get('second', 'X')
  15. try:
  16. re.compile(flask.request.form.get('content', 'test'))
  17. curs.execute("select name from filter where name = ?", [name])
  18. if curs.fetchall():
  19. curs.execute("update filter set regex = ?, sub = ? where name = ?", [flask.request.form.get('content', 'test'), end, name])
  20. else:
  21. curs.execute("insert into filter (name, regex, sub) values (?, ?, ?)", [name, flask.request.form.get('content', 'test'), end])
  22. except:
  23. return re_error('/error/23')
  24. else:
  25. if tools == 'plus_name_filter':
  26. try:
  27. re.compile(flask.request.form.get('title', 'test'))
  28. except:
  29. return re_error('/error/23')
  30. admin_check(None, 'name_filter edit')
  31. type_d = 'name'
  32. elif tools == 'plus_file_filter':
  33. try:
  34. re.compile(flask.request.form.get('title', 'test'))
  35. except:
  36. return re_error('/error/23')
  37. admin_check(None, 'file_filter edit')
  38. type_d = 'file'
  39. else:
  40. admin_check(None, 'email_filter edit')
  41. type_d = 'email'
  42. curs.execute('insert into html_filter (html, kind) values (?, ?)', [flask.request.form.get('title', 'test'), type_d])
  43. conn.commit()
  44. return redirect('/' + re.sub('^plus_', '', tools))
  45. else:
  46. if admin_check(1) != 1:
  47. stat = 'disabled'
  48. else:
  49. stat = ''
  50. if tools == 'plus_inter_wiki':
  51. title = load_lang('interwiki_add')
  52. form_data = '''
  53. <input placeholder="''' + load_lang('name') + '''" type="text" name="title">
  54. <hr class=\"main_hr\">
  55. <input placeholder="link" type="text" name="link">
  56. '''
  57. elif tools == 'plus_edit_filter':
  58. curs.execute("select regex, sub from filter where name = ?", [name])
  59. exist = curs.fetchall()
  60. if exist:
  61. textarea = exist[0][0]
  62. if exist[0][1] == 'X':
  63. time_check = 'checked="checked"'
  64. time_data = ''
  65. else:
  66. time_check = ''
  67. time_data = exist[0][1]
  68. else:
  69. textarea = ''
  70. time_check = ''
  71. time_data = ''
  72. title = load_lang('edit_filter_add')
  73. form_data = '''
  74. <input placeholder="''' + load_lang('second') + '''" name="second" type="text" value="''' + html.escape(time_data) + '''">
  75. <hr class=\"main_hr\">
  76. <input ''' + stat + ''' type="checkbox" ''' + time_check + ''' name="limitless"> ''' + load_lang('limitless') + '''
  77. <hr class=\"main_hr\">
  78. <input ''' + stat + ''' placeholder="''' + load_lang('regex') + '''" name="content" value="''' + html.escape(textarea) + '''" type="text">
  79. '''
  80. elif tools == 'plus_name_filter':
  81. title = load_lang('id_filter_add')
  82. form_data = '<input placeholder="' + load_lang('regex') + '" type="text" name="title">'
  83. elif tools == 'plus_file_filter':
  84. title = load_lang('file_filter_add')
  85. form_data = '<input placeholder="' + load_lang('regex') + '" type="text" name="title">'
  86. else:
  87. title = load_lang('email_filter_add')
  88. form_data = '<input placeholder="email" type="text" name="title">'
  89. return easy_minify(flask.render_template(skin_check(),
  90. imp = [title, wiki_set(), custom(), other2([0, 0])],
  91. data = '''
  92. <form method="post">
  93. ''' + form_data + '''
  94. <hr class=\"main_hr\">
  95. <button ''' + stat + ''' type="submit">''' + load_lang('add') + '''</button>
  96. </form>
  97. ''',
  98. menu = [[re.sub('^plus_', '', tools), load_lang('return')]]
  99. ))