Преглед на файлове

BBS 기능 통합 및 HEAD 깨지는 문제 수정

잉여개발기 преди 4 месеца
родител
ревизия
0e6ebb678a
променени са 7 файла, в които са добавени 16 реда и са изтрити 132 реда
  1. 2 2
      app.py
  2. 0 1
      route/__init__.py
  3. 2 1
      route/go_api_func_language.py
  4. 0 65
      route/n_bbs_in.py
  5. 10 3
      route/tool/func.py
  6. 2 0
      views/main_css/css/main.css
  7. 0 60
      views/main_css/js/route/bbs_in.js

+ 2 - 2
app.py

@@ -842,8 +842,8 @@ app.route('/vote/add', methods = ['POST', 'GET'])(vote_add)
 # Func-bbs
 app.route('/bbs/main')(golang_view())
 app.route('/bbs/make', methods = ['POST', 'GET'])(bbs_make)
-app.route('/bbs/in/<int:bbs_num>')(bbs_in)
-app.route('/bbs/in/<int:bbs_num>/<int:page>')(bbs_in)
+app.route('/bbs/in/<int:bbs_num>')(golang_view())
+app.route('/bbs/in/<int:bbs_num>/<int:page>')(golang_view())
 # 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)

+ 0 - 1
route/__init__.py

@@ -164,7 +164,6 @@ from route.n_topic_list import topic_list
 
 from route.n_give_auth import give_auth
 
-from route.n_bbs_in import bbs_in
 from route.n_bbs_w_set import bbs_w_set
 
 from route.n_edit_move_all import edit_move_all

+ 2 - 1
route/go_api_func_language.py

@@ -1,6 +1,6 @@
 from .tool.func import *
 
-async def api_func_language(legacy = 'on', data = 'Test'):
+async def api_func_language(legacy = 'on', data = 'Test', safe = ''):
     other_set = {}
     if flask.request.method == 'POST':
         other_set["data"] = flask.request.form.get('data', '')
@@ -8,6 +8,7 @@ async def api_func_language(legacy = 'on', data = 'Test'):
         other_set["data"] = data
 
     other_set["legacy"] = legacy
+    other_set["safe"] = safe
 
     return await python_to_golang(sys._getframe().f_code.co_name, other_set)
 

+ 0 - 65
route/n_bbs_in.py

@@ -1,65 +0,0 @@
-from .tool.func import *
-
-from .go_api_bbs import api_bbs
-
-async def bbs_in(bbs_num = 1, page = 1):
-    with get_db_connect() as conn:
-        curs = conn.cursor()
-
-        bbs_num_str = str(bbs_num)
-
-        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]
-
-    return await render_template(
-        bbs_name,
-        '' + \
-            '<div id="opennamu_bbs_in"></div>' + \
-            '<script defer src="/views/main_css/js/route/bbs_in.js' + cache_v() + '"></script>' + \
-            '<script>window.addEventListener("DOMContentLoaded", function() { opennamu_bbs_in(); });</script>' + \
-        '',
-        '(' + await get_lang('bbs') + ') (' + str(page) + ')',
-        [['bbs/main', await get_lang('return')], ['bbs/edit/' + bbs_num_str, await get_lang('add')], ['bbs/set/' + bbs_num_str, await get_lang('bbs_set')]]
-    )
-
-'''
-async def bbs_in(bbs_num = 1, page = 1):
-    with get_db_connect() as conn:
-        curs = conn.cursor()
-
-        bbs_num_str = str(bbs_num)
-
-        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]
-
-    data = await api_bbs(bbs_num, page)
-
-    data_html = ''
-    for for_a in range(len(data)):
-        data_html += '<div class="opennamu_recent_change">'
-        data_html += '<a href="/bbs/w/' + data[for_a]['set_id'] + '/' + data[for_a]['set_code'] + '">' + html.escape(data[for_a]['title']) + '</a>'
-        data_html += '<div style="float: right;">'
-        data_html += '<span id="opennamu_bbs_comment_' + str(for_a) + '"></span>'
-        data_html += data[for_a]['user_id_render'] + ' | '
-
-        if data[for_a]['pinned'] == '1':
-            data_html += '<span style="color: red;">' + data[for_a]['date'] + '</span>'
-        else:
-            data_html += data[for_a]['date']
-
-            data_html += '</div>'
-            data_html += '<div style="clear: both;"></div>'
-
-            data_html += '</div>'
-            data_html += '<hr class="main_hr">'
-
-        get_next_page_bottom()
-'''

+ 10 - 3
route/tool/func.py

@@ -1205,21 +1205,28 @@ def pw_check(conn, data, data2, type_d = 'no', id_d = ''):
 # Func-skin
 async def get_lang(data, safe = 0):
     if data in global_lang_data:
-        return global_lang_data[data]
+        if safe == 1:
+            return html.unescape(global_lang_data[data])
+        else:
+            return global_lang_data[data]
     else:
         lang = json_loads(open(os.path.join('lang', 'en-US.json'), encoding = 'utf-8').read())
 
         other_set = {}
         other_set["data"] = ' '.join([title for title in lang if title[0] != '_'])
         other_set["legacy"] = ""
+        other_set["safe"] = ""
 
         res = await python_to_golang('api_func_language', other_set)
         if res['response'] == 'ok':
             for load_data in res['data']:
                 global_lang_data[load_data] = res['data'][load_data]
-        
+
         if data in global_lang_data:
-            return global_lang_data[data]
+            if safe == 1:
+                return html.unescape(global_lang_data[data])
+            else:
+                return global_lang_data[data]
         else:
             return data + ' (M)'
 

+ 2 - 0
views/main_css/css/main.css

@@ -510,6 +510,8 @@
 
     background-size: 100% 100%;
     background-origin: content-box;
+    
+    box-sizing: content-box;
 }
 
 .opennamu_main .opennamu_bbs_w_post_tab {

+ 0 - 60
views/main_css/js/route/bbs_in.js

@@ -1,60 +0,0 @@
-"use strict";
-
-function opennamu_bbs_in() {
-    const url = window.location.pathname;
-    const url_split = url.split('/');
-
-    let bbs_num = url_split[3];
-    let page;
-    if(url_split.length > 4) {
-        page = url_split[4];
-    } else {
-        page = '1';
-    }
-
-    fetch('/api/v2/bbs/in/' + bbs_num + '/' + page).then(function(res) {
-        return res.json();
-    }).then(function(data) {
-        data = data["data"];
-
-        let data_html = '';
-
-        for(let for_a = 0; for_a < data.length; for_a++) {
-            data_html += '<div class="opennamu_recent_change">';
-
-            data_html += '<a href="/bbs/w/' + data[for_a]['set_id'] + '/' + data[for_a]['set_code'] + '">' + opennamu_xss_filter(data[for_a]['title']) + '</a>';
-
-            data_html += '<div style="float: right;">';
-
-            data_html += '<span id="opennamu_bbs_comment_' + String(for_a) + '"></span>';
-
-            data_html += data[for_a]['user_id_render'] + ' | ';
-
-            if(data[for_a]['pinned'] === '1') {
-                data_html += '<span style="color: red;">' + data[for_a]['date'] + '</span>';
-            } else {
-                data_html += data[for_a]['date'];
-            }
-
-            data_html += '</div>'
-            data_html += '<div style="clear: both;"></div>';
-
-            data_html += '</div>';
-            data_html += '<hr class="main_hr">';
-        }
-
-        data_html += opennamu_page_control('/bbs/in/' + bbs_num + '/{}', Number(page), data.length);
-        
-        document.getElementById('opennamu_bbs_in').innerHTML = data_html;
-
-        for(let for_a = 0; for_a < data.length; for_a++) {
-            fetch('/api/v2/bbs/w/comment/' + data[for_a]['set_id'] + '-' + data[for_a]['set_code'] + '/length').then(function(res) {
-                return res.json();
-            }).then(function(comment_data) {
-                if(comment_data) {
-                    document.getElementById('opennamu_bbs_comment_' + String(for_a)).innerText = comment_data['data'] + ' | ';
-                }
-            });
-        }
-    });
-}