bbs_w_set.py 3.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394
  1. from .tool.func import *
  2. def bbs_w_set(bbs_num = ''):
  3. with get_db_connect() as conn:
  4. curs = conn.cursor()
  5. curs.execute(db_change('select set_id from bbs_set where set_id = ? and set_name = "bbs_name"'), [bbs_num])
  6. if not curs.fetchall():
  7. return redirect('/bbs/main')
  8. i_list = {
  9. 1 : 'bbs_acl',
  10. 2 : 'bbs_edit_acl',
  11. 3 : 'bbs_comment_acl',
  12. 4 : 'bbs_view_acl'
  13. }
  14. bbs_num_str = str(bbs_num)
  15. if flask.request.method == 'POST':
  16. if admin_check(None, 'bbs_set (acl)') != 1:
  17. return re_error('/ban')
  18. else:
  19. for i in i_list:
  20. curs.execute(db_change("update bbs_set set set_data = ? where set_name = ? and set_id = ?"), [
  21. flask.request.form.get(i_list[i], 'normal'),
  22. i_list[i],
  23. bbs_num
  24. ])
  25. conn.commit()
  26. return redirect('/bbs/set/' + bbs_num_str)
  27. else:
  28. d_list = {}
  29. if admin_check() != 1:
  30. disable = 'disabled'
  31. else:
  32. disable = ''
  33. for i in i_list:
  34. curs.execute(db_change('select set_data from bbs_set where set_name = ? and set_id = ?'), [i_list[i], bbs_num])
  35. sql_d = curs.fetchall()
  36. if sql_d:
  37. d_list[i] = sql_d[0][0]
  38. else:
  39. curs.execute(db_change('insert into bbs_set (set_name, set_code, set_id, set_data) values (?, "", ?, ?)'), [i_list[i], bbs_num, 'normal'])
  40. d_list[i] = 'normal'
  41. conn.commit()
  42. acl_div = []
  43. for i in range(0, len(i_list)):
  44. acl_div += ['']
  45. acl_list = get_acl_list()
  46. for i in range(0, len(i_list)):
  47. for data_list in acl_list:
  48. if data_list == d_list[i + 1]:
  49. check = 'selected="selected"'
  50. else:
  51. check = ''
  52. acl_div[i] += '<option value="' + data_list + '" ' + check + '>' + (data_list if data_list != '' else 'normal') + '</option>'
  53. return easy_minify(flask.render_template(skin_check(),
  54. imp = [load_lang('main_acl_setting'), wiki_set(), wiki_custom(), wiki_css([0, 0])],
  55. data = render_simple_set('''
  56. <form method="post">
  57. <hr class="main_hr">
  58. <a href="/acl/TEST#exp">(''' + load_lang('reference') + ''')</a>
  59. <h2>''' + load_lang('acl') + '''</h2>
  60. <h3>''' + load_lang('bbs_view_acl') + '''</h3>
  61. <select ''' + disable + ''' name="bbs_view_acl">''' + acl_div[3] + '''</select>
  62. <h4>''' + load_lang('bbs_acl') + '''</h4>
  63. <select ''' + disable + ''' name="bbs_acl">''' + acl_div[0] + '''</select>
  64. <h5>''' + load_lang('bbs_edit_acl') + '''</h5>
  65. <select ''' + disable + ''' name="bbs_edit_acl">''' + acl_div[1] + '''</select>
  66. <h5>''' + load_lang('bbs_comment_acl') + '''</h5>
  67. <select ''' + disable + ''' name="bbs_comment_acl">''' + acl_div[2] + '''</select>
  68. <h2>''' + load_lang('markup') + '''</h2>
  69. ''' + load_lang('not_working') + '''
  70. <hr class="main_hr">
  71. <button id="opennamu_save_button" type="submit">''' + load_lang('save') + '''</button>
  72. </form>
  73. '''),
  74. menu = [['bbs/w/' + bbs_num_str, load_lang('return')]]
  75. ))