edit_delete.py 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. from .tool.func import *
  2. def edit_delete(name):
  3. with get_db_connect() as conn:
  4. curs = conn.cursor()
  5. ip = ip_check()
  6. if acl_check(name, 'document_delete') == 1:
  7. return re_error('/ban')
  8. curs.execute(db_change("select title from data where title = ?"), [name])
  9. if not curs.fetchall():
  10. return redirect('/w/' + url_pas(name))
  11. if flask.request.method == 'POST':
  12. if captcha_post(flask.request.form.get('g-recaptcha-response', flask.request.form.get('g-recaptcha', ''))) == 1:
  13. return re_error('/error/13')
  14. else:
  15. captcha_post('', 0)
  16. if do_edit_slow_check() == 1:
  17. return re_error('/error/24')
  18. send = flask.request.form.get('send', '')
  19. agree = flask.request.form.get('copyright_agreement', '')
  20. if do_edit_send_check(send) == 1:
  21. return re_error('/error/37')
  22. if do_edit_text_bottom_check_box_check(agree) == 1:
  23. return re_error('/error/29')
  24. curs.execute(db_change("select data from data where title = ?"), [name])
  25. data = curs.fetchall()
  26. if data:
  27. today = get_time()
  28. leng = '-' + str(len(data[0][0]))
  29. history_plus(
  30. name,
  31. '',
  32. today,
  33. ip,
  34. send,
  35. leng,
  36. t_check = 'delete',
  37. mode = 'delete'
  38. )
  39. curs.execute(db_change("select title, link from back where title = ? and not type = 'cat' and not type = 'no'"), [name])
  40. for data in curs.fetchall():
  41. curs.execute(db_change("insert into back (title, link, type, data) values (?, ?, 'no', '')"), [data[0], data[1]])
  42. curs.execute(db_change("delete from back where link = ?"), [name])
  43. curs.execute(db_change("delete from data where title = ?"), [name])
  44. conn.commit()
  45. curs.execute(db_change('select data from other where name = "count_all_title"'))
  46. curs.execute(db_change("update other set data = ? where name = 'count_all_title'"), [str(int(curs.fetchall()[0][0]) - 1)])
  47. return redirect('/w/' + url_pas(name))
  48. else:
  49. return easy_minify(flask.render_template(skin_check(),
  50. imp = [name, wiki_set(), wiki_custom(), wiki_css(['(' + load_lang('delete') + ')', 0])],
  51. data = '''
  52. <form method="post">
  53. <input placeholder="''' + load_lang('why') + '''" name="send">
  54. <hr class="main_hr">
  55. ''' + captcha_get() + ip_warning() + get_edit_text_bottom_check_box() + get_edit_text_bottom() + '''
  56. <button type="submit">''' + load_lang('delete') + '''</button>
  57. </form>
  58. ''',
  59. menu = [['w/' + url_pas(name), load_lang('return')]]
  60. ))