vote_select.py 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. from .tool.func import *
  2. def vote_select_2(conn, num):
  3. curs = conn.cursor()
  4. curs.execute(db_change('select name, subject, data, type from vote where id = ? and user = ""'), [num])
  5. data_list = curs.fetchall()
  6. if not data_list:
  7. return redirect('/vote')
  8. if data_list[0][3] == 'close' or data_list[0][3] == 'n_close':
  9. return redirect('/end_vote/' + num)
  10. if acl_check('', 'vote', num) == 1:
  11. return redirect('/end_vote/' + num)
  12. curs.execute(db_change('select user from vote where id = ? and user = ?'), [num, ip_check()])
  13. if curs.fetchall():
  14. return redirect('/end_vote/' + num)
  15. vote_data = re.findall(r'([^\n]+)', data_list[0][2].replace('\r\n', '\n'))
  16. if flask.request.method == 'POST':
  17. try:
  18. vaild_check = int(flask.request.form.get('vote_data', '0'))
  19. except:
  20. return redirect('/vote/' + num)
  21. if len(vote_data) - 1 < vaild_check:
  22. return redirect('/vote/' + num)
  23. curs.execute(db_change("insert into vote (name, id, subject, data, user, type) values ('', ?, '', ?, ?, 'select')"), [
  24. num,
  25. str(vaild_check),
  26. ip_check()
  27. ])
  28. conn.commit()
  29. return redirect('/end_vote/' + num)
  30. else:
  31. data = '' + \
  32. '<h2>' + data_list[0][0] + '</h2>' + \
  33. '<b>' + data_list[0][1] + '</b>' + \
  34. '<hr class="main_hr">' + \
  35. ''
  36. select_data = '<select name="vote_data">'
  37. line_num = 0
  38. for i in vote_data:
  39. select_data += '<option value="' + str(line_num) + '">' + i + '</option>'
  40. line_num += 1
  41. select_data += '</select>'
  42. data += '' + \
  43. '<form method="post">' + \
  44. select_data + \
  45. '<hr class="main_hr">' + \
  46. '<button type="submit">' + load_lang('send') + '</buttom>' + \
  47. '</form>' + \
  48. ''
  49. return easy_minify(flask.render_template(skin_check(),
  50. imp = [load_lang('vote'), wiki_set(), wiki_custom(), wiki_css([0, 0])],
  51. data = data,
  52. menu = [['vote', load_lang('return')], ['end_vote/' + num, load_lang('result')]]
  53. ))