edit_delete.py 3.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  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) == 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 slow_edit_check() == 1:
  17. return re_error('/error/24')
  18. curs.execute(db_change("select data from data where title = ?"), [name])
  19. data = curs.fetchall()
  20. if data:
  21. today = get_time()
  22. leng = '-' + str(len(data[0][0]))
  23. history_plus(
  24. name,
  25. '',
  26. today,
  27. ip,
  28. flask.request.form.get('send', ''),
  29. leng,
  30. t_check = 'delete',
  31. mode = 'delete'
  32. )
  33. curs.execute(db_change("select title, link from back where title = ? and not type = 'cat' and not type = 'no'"), [name])
  34. for data in curs.fetchall():
  35. curs.execute(db_change("insert into back (title, link, type) values (?, ?, 'no')"), [data[0], data[1]])
  36. curs.execute(db_change("delete from back where link = ?"), [name])
  37. curs.execute(db_change("delete from data where title = ?"), [name])
  38. conn.commit()
  39. file_check = re.search(r'^file:(.+)\.(.+)$', name)
  40. if file_check:
  41. '''
  42. file_check = file_check.groups()
  43. file_directory = os.path.join(
  44. load_image_url(),
  45. sha224_replace(file_check[0]) + '.' + file_check[1]
  46. )
  47. if os.path.exists(file_directory):
  48. os.remove(file_directory)
  49. '''
  50. pass
  51. else:
  52. curs.execute(db_change('select data from other where name = "count_all_title"'))
  53. curs.execute(db_change("update other set data = ? where name = 'count_all_title'"), [str(int(curs.fetchall()[0][0]) - 1)])
  54. return redirect('/w/' + url_pas(name))
  55. else:
  56. return easy_minify(flask.render_template(skin_check(),
  57. imp = [name, wiki_set(), wiki_custom(), wiki_css(['(' + load_lang('delete') + ')', 0])],
  58. data = '''
  59. <form method="post">
  60. ''' + ip_warning() + '''
  61. <input placeholder="''' + load_lang('why') + '''" name="send" type="text">
  62. <hr class="main_hr">
  63. ''' + captcha_get() + '''
  64. <button type="submit">''' + load_lang('delete') + '''</button>
  65. </form>
  66. ''',
  67. menu = [['w/' + url_pas(name), load_lang('return')]]
  68. ))