2
0

edit_delete.py 2.9 KB

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