bbs_w_delete.py 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. from .tool.func import *
  2. from .api_bbs_w_post import api_bbs_w_post
  3. def bbs_w_delete(bbs_num = '', post_num = ''):
  4. with get_db_connect() as conn:
  5. curs = conn.cursor()
  6. curs.execute(db_change('select set_data from bbs_set where set_id = ? and set_name = "bbs_name"'), [bbs_num])
  7. db_data = curs.fetchall()
  8. if not db_data:
  9. return redirect('/bbs/main')
  10. bbs_name = db_data[0][0]
  11. bbs_num_str = str(bbs_num)
  12. post_num_str = str(post_num)
  13. if admin_check() != 1:
  14. return redirect('/bbs/w/' + bbs_num_str)
  15. temp_dict = json.loads(api_bbs_w_post(bbs_num_str + '-' + post_num_str).data)
  16. if not 'user_id' in temp_dict:
  17. return redirect('/bbs/main')
  18. if flask.request.method == 'POST':
  19. curs.execute(db_change('delete from bbs_data where set_code = ? and set_id = ?'), [post_num_str, bbs_num_str])
  20. curs.execute(db_change('delete from bbs_set where set_code = ? and set_id = ?'), [post_num_str, bbs_num_str])
  21. curs.execute(db_change('delete from bbs_data where set_id = ? or set_id like ?'), [bbs_num_str + '-' + post_num_str, bbs_num_str + '-' + post_num_str + '-%'])
  22. return redirect('/bbs/w/' + bbs_num_str)
  23. else:
  24. return easy_minify(flask.render_template(skin_check(),
  25. imp = [load_lang('bbs_post_delete'), wiki_set(), wiki_custom(), wiki_css(['(' + bbs_name + ')' + ' (' + post_num_str + ')', 0])],
  26. data = render_simple_set('''
  27. <form method="post">
  28. <span>''' + load_lang('delete_warning') + '''</span>
  29. <hr class="main_hr">
  30. <button type="submit">''' + load_lang('delete') + '''</button>
  31. </form>
  32. '''),
  33. menu = [['bbs/w/' + bbs_num_str + '/' + post_num_str, load_lang('return')]]
  34. ))