topic_close_list.py 3.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182
  1. from .tool.func import *
  2. def topic_close_list_2(conn, name):
  3. curs = conn.cursor()
  4. div = ''
  5. tool = flask.request.args.get('tool', '')
  6. plus = ''
  7. menu = [['topic/' + url_pas(name), load_lang('return')]]
  8. if tool == 'close':
  9. curs.execute(db_change("select code, sub from rd where title = ? and stop = 'O' order by sub asc"), [name])
  10. sub = load_lang('closed_discussion')
  11. elif tool == 'agree':
  12. curs.execute(db_change("select code, sub from rd where title = ? and agree = 'O' order by sub asc"), [name])
  13. sub = load_lang('agreed_discussion')
  14. else:
  15. sub = load_lang('discussion_list')
  16. menu = [['w/' + url_pas(name), load_lang('document')]]
  17. if acl_check(name, 'topic', None) == 1:
  18. display = 'display: none;'
  19. else:
  20. display = ''
  21. curs.execute(db_change("select code from topic order by code + 0 desc limit 1"))
  22. t_data = curs.fetchall()
  23. if t_data:
  24. topic_num = str(int(t_data[0][0]) + 1)
  25. else:
  26. topic_num = '1'
  27. plus = '''
  28. <a href="/topic/''' + url_pas(name) + '?tool=close">(' + load_lang('closed_discussion') + ')</a> <a href="/topic/' + url_pas(name) + '?tool=agree">(' + load_lang('agreed_discussion') + ''')</a>
  29. <hr class=\"main_hr\">
  30. <form style="''' + display + '" method="post" action="/thread/' + topic_num + '''">
  31. <input placeholder="''' + load_lang('discussion_name') + '''" name="title">
  32. <hr class=\"main_hr\">
  33. <textarea rows="10" id="content" placeholder="''' + load_lang('content') + '''" name="content"></textarea>
  34. <hr class=\"main_hr\">
  35. ''' + captcha_get() + (ip_warring() if display == '' else '') + '''
  36. <input style="display: none;" name="topic" value="''' + name + '''">
  37. <button type="submit">''' + load_lang('send') + '''</button>
  38. <button id="preview" type="button" onclick="load_preview(\'''' + url_pas(name) + '\')">' + load_lang('preview') + '''</button>
  39. </form>
  40. <hr class=\"main_hr\">
  41. <div id="see_preview"></div>
  42. '''
  43. curs.execute(db_change("select code, sub from rd where title = ? and stop != 'O' order by date desc"), [name])
  44. t_num = 0
  45. for data in curs.fetchall():
  46. t_num += 1
  47. t_str_num = str(t_num)
  48. curs.execute(db_change("select id from topic where code = ? order by date desc limit 1"), [data[0]])
  49. t_data = curs.fetchall()
  50. div += '''
  51. <h2><a href="/thread/''' + data[0] + '">' + t_str_num + '. ' + data[1] + '''</a></h2>
  52. <div id="topic_pre_''' + t_str_num + '''"></div>
  53. <div id="topic_back_pre_''' + t_str_num + '''"></div>
  54. <script>
  55. topic_list_load(''' + data[0] + ', 1, "topic_pre_' + t_str_num + '''");
  56. if(''' + t_data[0][0] + ''' !== 1) {
  57. topic_list_load(''' + data[0] + ', ' + t_data[0][0] + ', "topic_back_pre_' + t_str_num + '''");
  58. }
  59. </script>
  60. '''
  61. if div == '':
  62. plus = re.sub(r'^<br>', '', plus)
  63. return easy_minify(flask.render_template(skin_check(),
  64. imp = [name, wiki_set(), custom(), other2([' (' + sub + ')', 0])],
  65. data = div + plus,
  66. menu = menu
  67. ))