bbs_w.py 3.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. from .tool.func import *
  2. def bbs_w(bbs_num = ''):
  3. with get_db_connect() as conn:
  4. curs = conn.cursor()
  5. curs.execute(db_change('select set_data from bbs_set where set_id = ? and set_name = "bbs_name"'), [bbs_num])
  6. db_data = curs.fetchall()
  7. if not db_data:
  8. return redirect('/bbs/main')
  9. bbs_name = db_data[0][0]
  10. bbs_num_str = str(bbs_num)
  11. data = ''
  12. data += '''
  13. <table id="main_table_set">
  14. <tr id="main_table_top_tr">
  15. <td id="main_table_width">''' + load_lang('editor') + '''</td>
  16. <td id="main_table_width">''' + load_lang('time') + '''</td>
  17. <td id="main_table_width">''' + load_lang('last_comment_time') + '''</td>
  18. </tr>
  19. '''
  20. temp_id = ''
  21. temp_dict = {}
  22. curs.execute(db_change('select set_name, set_data, set_code, set_id from bbs_data where set_id like ? order by set_code + 0 desc'), [bbs_num])
  23. db_data = curs.fetchall()
  24. db_data = list(db_data) if db_data else []
  25. for for_a in db_data + [['', '', '']]:
  26. if temp_id != for_a[2]:
  27. if temp_id != '':
  28. curs.execute(db_change('select count(*) from bbs_data where set_name = "comment_date" and (set_id = ? or set_id like ?) order by set_code + 0 desc'), [bbs_num_str + '-' + temp_dict['code'], bbs_num_str + '-' + temp_dict['code'] + '-%'])
  29. db_data = curs.fetchall()
  30. comment_count = str(db_data[0][0]) if db_data else '0'
  31. curs.execute(db_change('select set_data from bbs_data where set_name = "comment_date" and (set_id = ? or set_id like ?) order by set_data desc limit 1'), [bbs_num_str + '-' + temp_dict['code'], bbs_num_str + '-' + temp_dict['code'] + '-%'])
  32. db_data = curs.fetchall()
  33. last_comment_date = db_data[0][0] if db_data else '0'
  34. data += '''
  35. <tr>
  36. <td>''' + ip_pas(temp_dict['user_id']) + '''</td>
  37. <td>''' + temp_dict['date'] + '''</td>
  38. <td>''' + last_comment_date + '''</td>
  39. </tr>
  40. <tr>
  41. <td colspan="3">
  42. <a href="/bbs/w/''' + bbs_num_str + '/' + temp_dict['code'] + '">' + html.escape(temp_dict['title']) + '''</a>
  43. (''' + comment_count + ''')
  44. </td>
  45. </tr>
  46. '''
  47. temp_id = for_a[2]
  48. temp_dict['code'] = for_a[2]
  49. temp_dict[for_a[0]] = for_a[1]
  50. data += '</table>'
  51. return easy_minify(flask.render_template(skin_check(),
  52. imp = [bbs_name, wiki_set(), wiki_custom(), wiki_css(['(' + load_lang('bbs') + ')', 0])],
  53. data = data,
  54. menu = [['bbs/main', load_lang('return')], ['bbs/edit/' + bbs_num_str, load_lang('add')], ['bbs/set/' + bbs_num_str, load_lang('bbs_set')]]
  55. ))