Browse Source

https://github.com/openNAMU/openNAMU/issues/1880

잉여개발기 (SPDV) 2 năm trước cách đây
mục cha
commit
00869de716

+ 4 - 2
app.py

@@ -539,12 +539,14 @@ app.route('/vote/add', methods = ['POST', 'GET'])(vote_add)
 app.route('/bbs/main', defaults = { 'tool' : 'main' })(bbs_w)
 app.route('/bbs/make', methods = ['POST', 'GET'])(bbs_make)
 # app.route('/bbs/main/set')
-app.route('/bbs/hide/<int:bbs_num>', methods = ['POST', 'GET'])(bbs_hide)
-app.route('/bbs/delete/<int:bbs_num>', methods = ['POST', 'GET'])(bbs_delete)
 app.route('/bbs/w/<int:bbs_num>')(bbs_w)
+# app.route('/bbs/blind/<int:bbs_num>', methods = ['POST', 'GET'])(bbs_hide)
+app.route('/bbs/delete/<int:bbs_num>', methods = ['POST', 'GET'])(bbs_delete)
 app.route('/bbs/set/<int:bbs_num>', methods = ['POST', 'GET'])(bbs_w_set)
 app.route('/bbs/edit/<int:bbs_num>', methods = ['POST', 'GET'])(bbs_w_edit)
 app.route('/bbs/w/<int:bbs_num>/<int:post_num>', methods = ['POST', 'GET'])(bbs_w_post)
+# app.route('/bbs/blind/<int:bbs_num>/<int:post_num>', methods = ['POST', 'GET'])(bbs_w_hide)
+app.route('/bbs/delete/<int:bbs_num>/<int:post_num>', methods = ['POST', 'GET'])(bbs_w_delete)
 app.route('/bbs/raw/<int:bbs_num>/<int:post_num>')(view_raw_2)
 app.route('/bbs/tool/<int:bbs_num>/<int:post_num>')(bbs_w_tool)
 app.route('/bbs/edit/<int:bbs_num>/<int:post_num>', methods = ['POST', 'GET'])(bbs_w_edit)

+ 1 - 1
lang/en-US.json

@@ -609,7 +609,7 @@
             "user_head_warning" : "User data will be deleted if you close the browser or when you sign in.",
             "no_login_warning" : "You are not logged in. Your current IP address will be logged within editing or discussing until you log in.",
             "update_warning" : "Manual updates are recommended if your version is 0.2 or lower than the latest version. For Windows, the contents of the route folder will be deleted.",
-            "history_delete_warning" : "If you erase history, it's hard to restore it, so please be careful.",
+            "delete_warning" : "If you erase this, it's hard to restore it, so please be careful.",
             "user_css_warning" : "If you have a problem using this, connect here.",
             "main_css_warning" : "If you have a problem using this, use the emergency tool.",
             "not_support_skin_warning" : "It does not work on skins that do not support this feature.",

+ 1 - 1
lang/ko-KR.json

@@ -393,7 +393,7 @@
     "edit_set": "편집 관련 설정",
     "wiki_shutdown": "위키 엔진 종료",
     "shutdown": "종료",
-    "history_delete_warning": "역사를 지울 경우 복구하기 어려우니 신중하게 결정하세요.",
+    "delete_warning": "지울 경우 복구하기 어려우니 신중하게 결정하세요.",
     "history_reset": "문서 역사 초기화",
     "record_reset": "사용자 편집 기록 초기화",
     "email_setting": "이메일 설정",

+ 4 - 2
route/__init__.py

@@ -19,9 +19,11 @@ from route.api_bbs_w_comment_one import api_bbs_w_comment_one
 
 from route.bbs_w_edit import bbs_w_edit
 from route.bbs_make import bbs_make
-from route.bbs_hide import bbs_hide
-from route.bbs_delete import bbs_delete
+# from route.bbs_w_hide import bbs_w_hide
+from route.bbs_w_delete import bbs_w_delete
 from route.bbs_w import bbs_w
+from route.bbs_delete import bbs_delete
+# from route.bbs_hide import bbs_hide
 from route.bbs_w_post import bbs_w_post
 from route.bbs_w_set import bbs_w_set
 from route.bbs_w_comment_tool import bbs_w_comment_tool

+ 18 - 4
route/bbs_delete.py

@@ -8,8 +8,8 @@ def bbs_delete(bbs_num = ''):
         db_data = curs.fetchall()
         if not db_data:
             return redirect('/bbs/main')
-        else:
-            bbs_name = db_data[0][0]
+        
+        bbs_name = db_data[0][0]
         
         bbs_num_str = str(bbs_num)
 
@@ -17,6 +17,20 @@ def bbs_delete(bbs_num = ''):
             return redirect('/bbs/w/' + bbs_num_str)
         
         if flask.request.method == 'POST':
-            pass
+            curs.execute(db_change('delete from bbs_data where set_id = ?'), [bbs_num_str])
+            curs.execute(db_change('delete from bbs_set where set_id = ?'), [bbs_num_str])
+            curs.execute(db_change('delete from bbs_data where set_id like ?'), [bbs_num_str + '-%'])
+            
+            return redirect('/bbs/w/' + bbs_num_str)
         else:
-            pass
+            return easy_minify(flask.render_template(skin_check(),
+                imp = [load_lang('bbs_delete'), wiki_set(), wiki_custom(), wiki_css(['(' + bbs_name + ')', 0])],
+                data = render_simple_set('''
+                    <form method="post">
+                        <span>''' + load_lang('delete_warning') + '''</span>
+                        <hr class="main_hr">
+                        <button type="submit">''' + load_lang('delete') + '''</button>
+                    </form>
+                '''),
+                menu = [['bbs/set/' + bbs_num_str, load_lang('return')]]
+            ))

+ 8 - 0
route/bbs_w.py

@@ -6,6 +6,7 @@ def bbs_w(bbs_num = '', tool = 'bbs'):
         
         data = ''
         title_name = ''
+        bbs_name_dict = {}
 
         admin_auth = admin_check()
 
@@ -26,6 +27,8 @@ def bbs_w(bbs_num = '', tool = 'bbs'):
             if db_data:
                 data += '<ul class="opennamu_ul">'
                 for for_a in db_data:
+                    bbs_name_dict[for_a[1]] = for_a[0]
+
                     curs.execute(db_change('select set_data from bbs_set where set_name = "bbs_type" and set_id = ?'), [for_a[1]])
                     db_data_2 = curs.fetchall()
                     bbs_type = db_data_2[0][0] if db_data_2 else 'comment'
@@ -80,6 +83,10 @@ def bbs_w(bbs_num = '', tool = 'bbs'):
             db_data = curs.fetchall()
             last_comment_date = db_data[0][0] if db_data else '0'
 
+            bbs_name_select = ''
+            if tool != 'bbs':
+                bbs_name_select = '(' + bbs_name_dict[for_b[1]] + ')'
+
             data += '''
                 <tr>
                     <td>''' + ip_pas(temp_dict['user_id']) + '''</td>
@@ -90,6 +97,7 @@ def bbs_w(bbs_num = '', tool = 'bbs'):
                     <td colspan="3">
                         <a href="/bbs/w/''' + for_b[1] + '/' + for_b[0] + '">' + html.escape(temp_dict['title']) + '''</a> 
                         (''' + comment_count + ''') 
+                        ''' + bbs_name_select + '''
                     </td>
                 </tr>
             '''

+ 37 - 0
route/bbs_w_delete.py

@@ -0,0 +1,37 @@
+from .tool.func import *
+
+def bbs_w_delete(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('/bbs/main')
+
+        bbs_name = db_data[0][0]
+        
+        bbs_num_str = str(bbs_num)
+        post_num_str = str(post_num)
+
+        if admin_check() != 1:
+            return redirect('/bbs/w/' + bbs_num_str)
+        
+        if flask.request.method == 'POST':
+            curs.execute(db_change('delete from bbs_data where set_code = ? and set_id = ?'), [post_num_str, bbs_num_str])
+            curs.execute(db_change('delete from bbs_set where set_code = ? and set_id = ?'), [post_num_str, bbs_num_str])
+            curs.execute(db_change('delete from bbs_data where set_id = ? or set_id like ?'), [bbs_num_str + '-' + post_num_str, bbs_num_str + '-' + post_num_str + '-%'])
+            
+            return redirect('/bbs/w/' + bbs_num_str)
+        else:
+            return easy_minify(flask.render_template(skin_check(),
+                imp = [load_lang('bbs_post_delete'), wiki_set(), wiki_custom(), wiki_css(['(' + bbs_name + ')' + ' (' + post_num_str + ')', 0])],
+                data = render_simple_set('''
+                    <form method="post">
+                        <span>''' + load_lang('delete_warning') + '''</span>
+                        <hr class="main_hr">
+                        <button type="submit">''' + load_lang('delete') + '''</button>
+                    </form>
+                '''),
+                menu = [['bbs/w/' + bbs_num_str + '/' + post_num_str, load_lang('return')]]
+            ))

+ 7 - 6
route/bbs_hide.py → route/bbs_w_hide.py

@@ -1,6 +1,6 @@
 from .tool.func import *
 
-def bbs_hide(bbs_num = ''):
+def bbs_w_hide(bbs_num = '', post_num = ''):
     with get_db_connect() as conn:
         curs = conn.cursor()
 
@@ -8,10 +8,11 @@ def bbs_hide(bbs_num = ''):
         db_data = curs.fetchall()
         if not db_data:
             return redirect('/bbs/main')
-        else:
-            bbs_name = db_data[0][0]
+
+        bbs_name = db_data[0][0]
         
         bbs_num_str = str(bbs_num)
+        post_num_str = str(post_num)
 
         if admin_check() != 1:
             return redirect('/bbs/w/' + bbs_num_str)
@@ -20,11 +21,11 @@ def bbs_hide(bbs_num = ''):
             pass
         else:
             return easy_minify(flask.render_template(skin_check(),
-                imp = [load_lang('bbs_hide'), wiki_set(), wiki_custom(), wiki_css(['(' + bbs_name + ')', 0])],
+                imp = [load_lang('bbs_post_hide'), wiki_set(), wiki_custom(), wiki_css(['(' + bbs_name + ')' + ' (' + post_num_str + ')', 0])],
                 data = render_simple_set('''
                     <form method="post">
-                        <button id="opennamu_save_button" type="submit">''' + load_lang('save') + '''</button>
+                        <button type="submit">''' + load_lang('hide') + '''</button>
                     </form>
                 '''),
-                menu = [['bbs/set/' + bbs_num_str, load_lang('return')]]
+                menu = [['bbs/w/' + bbs_num_str + '/' + post_num_str, load_lang('return')]]
             ))

+ 15 - 1
route/bbs_w_tool.py

@@ -13,10 +13,24 @@ def bbs_w_tool(bbs_num = '', post_num = ''):
             <h2>''' + load_lang('tool') + '''</h2>
             <ul class="opennamu_ul">
                 <li><a href="/bbs/raw/''' + url_pas(bbs_num_str) + '/' + url_pas(post_num_str) + '">' + load_lang('raw') + '''</a></li>
-                <!-- <li><a href="/bbs/blind/''' + url_pas(bbs_num_str) + '/' + url_pas(post_num_str) + '">' + load_lang('hide') + '''</a></li> -->
             </ul>
         '''
 
+        if admin_check() == 1:
+            data += '''
+                <h2>''' + load_lang('admin') + '''</h2>
+                <ul class="opennamu_ul">
+                    <li><a href="/bbs/blind/''' + url_pas(bbs_num_str) + '/' + url_pas(post_num_str) + '">' + load_lang('hide') + '''</a></li>
+                </ul>
+            '''
+
+            data += '''
+                <h3>''' + load_lang('owner') + '''</h2>
+                <ul class="opennamu_ul">
+                    <li><a href="/bbs/delete/''' + url_pas(bbs_num_str) + '/' + url_pas(post_num_str) + '">' + load_lang('delete') + '''</a></li>
+                </ul>
+            '''
+
         return easy_minify(flask.render_template(skin_check(),
             imp = [load_lang('bbs_post_tool'), wiki_set(), wiki_custom(), wiki_css([0, 0])],
             data = data,

+ 1 - 1
route/recent_history_delete.py

@@ -21,7 +21,7 @@ def recent_history_delete(name = 'Test', rev = 1):
                 imp = [name, wiki_set(), wiki_custom(), wiki_css(['(' + load_lang('history_delete') + ') (r' + num + ')', 0])],
                 data = '''
                     <form method="post">
-                        <span>''' + load_lang('history_delete_warning') + '''</span>
+                        <span>''' + load_lang('delete_warning') + '''</span>
                         <hr class="main_hr">
                         <button type="submit">''' + load_lang('delete') + '''</button>
                     </form>

+ 1 - 1
route/recent_history_reset.py

@@ -19,7 +19,7 @@ def recent_history_reset(name = 'Test'):
                 imp = [name, wiki_set(), wiki_custom(), wiki_css(['(' + load_lang('history_reset') + ')', 0])],
                 data = '''
                     <form method="post">
-                        <span>''' + load_lang('history_delete_warning') + '''</span>
+                        <span>''' + load_lang('delete_warning') + '''</span>
                         <hr class="main_hr">
                         <button type="submit">''' + load_lang('reset') + '''</button>
                     </form>

+ 1 - 1
route/recent_history_send.py

@@ -33,7 +33,7 @@ def recent_history_send(name = 'Test', rev = 1):
                     imp = [name, wiki_set(), wiki_custom(), wiki_css(['(' + load_lang('send_edit') + ') (r' + num + ')', 0])],
                     data = '''
                         <form method="post">
-                            <span>''' + load_lang('history_delete_warning') + '''</span>
+                            <span>''' + load_lang('delete_warning') + '''</span>
                             <hr class="main_hr">
                             <input value="''' + html.escape(send) + '''" name="send">
                             <hr class="main_hr">

+ 1 - 1
route/recent_record_reset.py

@@ -19,7 +19,7 @@ def recent_record_reset(name = 'Test'):
                 imp = [name, wiki_set(), wiki_custom(), wiki_css(['(' + load_lang('record_reset') + ')', 0])],
                 data = '''
                     <form method="post">
-                        <span>''' + load_lang('history_delete_warning') + '''</span>
+                        <span>''' + load_lang('delete_warning') + '''</span>
                         <hr class="main_hr">
                         <button type="submit">''' + load_lang('reset') + '''</button>
                     </form>

+ 3 - 2
route/topic_tool_delete.py

@@ -19,9 +19,10 @@ def topic_tool_delete(topic_num = 1):
             return easy_minify(flask.render_template(skin_check(),
                 imp = [load_lang('topic_delete'), wiki_set(), wiki_custom(), wiki_css([0, 0])],
                 data = '''
-                    <hr class="main_hr">
                     <form method="post">
-                        <button type="submit">''' + load_lang('start') + '''</button>
+                        <span>''' + load_lang('delete_warning') + '''</span>
+                        <hr class="main_hr">
+                        <button type="submit">''' + load_lang('delete') + '''</button>
                     </form>
                 ''',
                 menu = [['thread/' + topic_num + '/tool', load_lang('return')]]

+ 1 - 1
version.json

@@ -1,6 +1,6 @@
 {
     "beta" : {
-        "r_ver" : "v3.4.6-RC5-dev30",
+        "r_ver" : "v3.4.6-RC5-dev31",
         "c_ver" : "3500373",
         "s_ver" : "3500112"
     }