edit_many_delete.py 2.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. from .tool.func import *
  2. def edit_many_delete_2(conn, app_var):
  3. curs = conn.cursor()
  4. ip = ip_check()
  5. if admin_check() != 1:
  6. return re_error('/ban')
  7. if flask.request.method == 'POST':
  8. all_title = re.findall(r'([^\n]+)\n', flask.request.form.get('content', '').replace('\r\n', '\n') + '\n')
  9. for name in all_title:
  10. curs.execute(db_change("select data from data where title = ?"), [name])
  11. data = curs.fetchall()
  12. if data:
  13. today = get_time()
  14. leng = '-' + str(len(data[0][0]))
  15. history_plus(
  16. name,
  17. '',
  18. today,
  19. ip,
  20. flask.request.form.get('send', ''),
  21. leng,
  22. 'delete'
  23. )
  24. curs.execute(db_change("select title, link from back where title = ? and not type = 'cat' and not type = 'no'"), [name])
  25. for data in curs.fetchall():
  26. curs.execute(db_change("insert into back (title, link, type) values (?, ?, 'no')"), [data[0], data[1]])
  27. curs.execute(db_change("delete from back where link = ?"), [name])
  28. curs.execute(db_change("delete from data where title = ?"), [name])
  29. conn.commit()
  30. file_check = re.search(r'^file:(.+)\.(.+)$', name)
  31. if file_check:
  32. file_check = file_check.groups()
  33. file_directory = os.path.join(
  34. app_var['path_data_image'],
  35. sha224_replace(file_check[0]) + '.' + file_check[1]
  36. )
  37. if os.path.exists(file_directory):
  38. os.remove(file_directory)
  39. curs.execute(db_change('select data from other where name = "count_all_title"'))
  40. curs.execute(db_change("update other set data = ? where name = 'count_all_title'"), [str(int(curs.fetchall()[0][0]) - 1)])
  41. return redirect('/recent_changes')
  42. else:
  43. return easy_minify(flask.render_template(skin_check(),
  44. imp = [load_lang('many_delete'), wiki_set(), custom(), other2([0, 0])],
  45. data = '''
  46. <form method="post">
  47. <textarea rows="25" placeholder="''' + load_lang('many_delete_help') + '''" name="content"></textarea>
  48. <hr class=\"main_hr\">
  49. <input placeholder="''' + load_lang('why') + '''" name="send" type="text">
  50. <hr class=\"main_hr\">
  51. <button type="submit">''' + load_lang('delete') + '''</button>
  52. </form>
  53. ''',
  54. menu = [['manager/1', load_lang('return')]]
  55. ))