bbs_w.py 2.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  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('order') + '''</td>
  16. <td id="main_table_width">''' + load_lang('editor') + '''</td>
  17. <td id="main_table_width">''' + load_lang('time') + '''</td>
  18. </tr>
  19. '''
  20. temp_id = ''
  21. temp_dict = {}
  22. curs.execute(db_change('select set_name, set_data, set_code from bbs_data where set_id = ? 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. data += '''
  32. <tr>
  33. <td>''' + temp_dict['code'] + '''</td>
  34. <td>''' + ip_pas(temp_dict['user_id']) + '''</td>
  35. <td>''' + temp_dict['date'] + '''</td>
  36. </tr>
  37. <tr>
  38. <td colspan="3">
  39. <a href="/bbs/w/''' + bbs_num_str + '/' + temp_dict['code'] + '">' + html.escape(temp_dict['title']) + '''</a>
  40. (''' + comment_count + ''')
  41. </td>
  42. </tr>
  43. '''
  44. temp_id = for_a[2]
  45. temp_dict['code'] = for_a[2]
  46. temp_dict[for_a[0]] = for_a[1]
  47. data += '</table>'
  48. return easy_minify(flask.render_template(skin_check(),
  49. imp = [bbs_name, wiki_set(), wiki_custom(), wiki_css(['(' + load_lang('bbs') + ')', 0])],
  50. data = data,
  51. menu = [['bbs/main', load_lang('return')], ['bbs/edit/' + bbs_num_str, load_lang('add')], ['bbs/set/' + bbs_num_str, load_lang('bbs_set')]]
  52. ))