| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647 |
- from .tool.func import *
- from .go_api_bbs_w import api_bbs_w
- async def bbs_w_pinned(bbs_num = '', post_num = ''):
- with get_db_connect() as conn:
- curs = conn.cursor()
- curs.execute(db_change('select set_data from bbs_set where set_id = ? and set_name = "bbs_name"'), [bbs_num])
- db_data = curs.fetchall()
- if not db_data:
- return redirect(conn, '/bbs/main')
- bbs_name = db_data[0][0]
-
- bbs_num_str = str(bbs_num)
- post_num_str = str(post_num)
- if await acl_check('', 'bbs_auth', '', '') == 1:
- return redirect(conn, '/bbs/in/' + bbs_num_str)
-
- temp_dict = await api_bbs_w(bbs_num_str + '-' + post_num_str)
- if not 'user_id' in temp_dict:
- return redirect(conn, '/bbs/main')
-
- if flask.request.method == 'POST':
- curs.execute(db_change('select set_data from bbs_data where set_code = ? and set_id = ? and set_name = "pinned"'), [post_num_str, bbs_num_str])
- if not curs.fetchall():
- curs.execute(db_change("insert into bbs_data (set_name, set_code, set_id, set_data) values ('pinned', ?, ?, ?)"), [post_num_str, bbs_num_str, get_time()])
- else:
- curs.execute(db_change('delete from bbs_data where set_code = ? and set_id = ? and set_name = "pinned"'), [post_num_str, bbs_num_str])
-
- return redirect(conn, '/bbs/in/' + bbs_num_str)
- else:
- curs.execute(db_change('select set_data from bbs_data where set_code = ? and set_id = ? and set_name = "pinned"'), [post_num_str, bbs_num_str])
- pinned = await get_lang('pinned') if not curs.fetchall() else await get_lang('pinned_release')
- return await render_template(
- await get_lang('bbs_post_pinned'),
- await render_simple_set('''
- <form method="post">
- <button type="submit">''' + pinned + '''</button>
- </form>
- '''),
- '(' + bbs_name + ')' + ' (' + post_num_str + ')',
- [['bbs/w/' + bbs_num_str + '/' + post_num_str, await get_lang('return')]]
- )
|