vote_close.py 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738
  1. from .tool.func import *
  2. def vote_close(num = 1):
  3. num = str(num)
  4. with get_db_connect() as conn:
  5. curs = conn.cursor()
  6. if acl_check('', 'vote') == 1:
  7. return re_error(conn, 0)
  8. curs.execute(db_change('select type from vote where id = ? and user = ""'), [num])
  9. data_list = curs.fetchall()
  10. if not data_list:
  11. return redirect(conn, '/vote')
  12. curs.execute(db_change('select data from vote where id = ? and name = "open_user" and type = "option"'), [num])
  13. db_data = curs.fetchall()
  14. open_user = db_data[0][0] if db_data else ''
  15. if open_user != ip_check() and acl_check('', 'vote_auth', '', '') == 1:
  16. return re_error(conn, 0)
  17. if data_list[0][0] == 'close':
  18. type_set = 'open'
  19. elif data_list[0][0] == 'n_close':
  20. type_set = 'n_open'
  21. elif data_list[0][0] == 'open':
  22. type_set = 'close'
  23. else:
  24. type_set = 'n_close'
  25. curs.execute(db_change("update vote set type = ? where user = '' and id = ? and type = ?"), [type_set, num, data_list[0][0]])
  26. curs.execute(db_change('delete from vote where name = "end_date" and type = "option" and id = ?'), [num])
  27. if data_list[0][0] == 'close' or data_list[0][0] == 'n_close':
  28. return redirect(conn, '/vote')
  29. else:
  30. return redirect(conn, '/vote/list/close')