Procházet zdrojové kódy

게시판 한글화, CSS 일부 조정

https://github.com/openNAMU/openNAMU/issues/1209
잉여개발기 (SPDV) před 3 roky
rodič
revize
c8e9b02f88

+ 7 - 4
app.py

@@ -316,12 +316,15 @@ app.route('/list/document/all/<int:num>')(list_title_index)
 
 # /list/document/long
 app.route('/list/document/long')(list_long_page)
+app.route('/list/document/long/<int:arg_num>')(list_long_page)
 
 # /list/document/short
 app.route('/list/document/short', defaults = { 'tool' : 'short_page' })(list_long_page)
+app.route('/list/document/short/<int:arg_num>', defaults = { 'tool' : 'short_page' })(list_long_page)
 
 # /list/file
 app.route('/list/file')(list_image_file)
+app.route('/list/file/<int:arg_num>')(list_image_file)
 
 # /list/admin
 # /list/admin/list
@@ -648,14 +651,14 @@ def main_easter_egg_go():
         print(platform.machine())
         if platform.system() == 'Linux':
             if platform.machine() in ["AMD64", "x86_64"]:
-                data = os.popen(os.path.join(".", "route_go", "main_easter_egg.amd64.bin")).read()
+                data = os.popen(os.path.join(".", "route_go", "bin", "main_easter_egg.amd64.bin")).read()
             else:
-                data = os.popen(os.path.join(".", "route_go", "main_easter_egg.arm64.bin")).read()
+                data = os.popen(os.path.join(".", "route_go", "bin", "main_easter_egg.arm64.bin")).read()
         else:
             if platform.machine() in ["AMD64", "x86_64"]:
-                data = os.popen(os.path.join(".", "route_go", "main_easter_egg.amd64.exe")).read()
+                data = os.popen(os.path.join(".", "route_go", "bin", "main_easter_egg.amd64.exe")).read()
             else:
-                data = os.popen(os.path.join(".", "route_go", "main_easter_egg.arm64.exe")).read()
+                data = os.popen(os.path.join(".", "route_go", "bin", "main_easter_egg.arm64.exe")).read()
 
         return easy_minify(flask.render_template(skin_check(),
             imp = ['Easter Egg', wiki_set(), wiki_custom(), wiki_css([0, 0])],

+ 18 - 0
lang/en-US.json

@@ -240,6 +240,21 @@
         "user_added_menu" : "User added menu",
         "move_redirect_make" : "Redirect document generation (Only if possible)",
         "user_fix" : "Fix user",
+        "sub_user_name" : "Sub user name",
+        "_comment_" : "BBS",
+            "bbs" : "BBS",
+            "bbs_main" : "BBS main",
+            "bbs_name" : "BBS name",
+            "bbs_make" : "Create BBS",
+            "order" : "Order",
+            "comment_base" : "Comment based",
+            "thread_base" : "Thread based",
+            "bbs_set" : "BBS set",
+            "_comment_" : "BBS ACL",
+                "bbs_view_acl" : "BBS ACL to view posts",
+                "bbs_acl" : "BBS ACL",
+                "bbs_edit_acl" : "BBS ACL to write post",
+                "bbs_comment_acl" : "BBS ACL to write comment",
         "_comment_" : "Edit",
             "load" : "Load another document",
             "turn_off_monaco" : "Turn off monaco editor",
@@ -318,6 +333,7 @@
                 "server_set" : "Server-related settings",
                 "edit_set" : "Edit-related settings",
                 "communication_set" : "Communication-related settings",
+                "render_set" : "Rendering-related settings",
     
                 "namumark_fully_compatible_mode" : "namumark design compatible mode",
                 "wiki_name" : "Wikis name",
@@ -352,6 +368,8 @@
                 "set_wiki_access_password_need" : "Password required for wiki access",
                 "set_wiki_access_password" : "Wiki access password",
                 "set_history_recording_off" : "Stop recording history",
+                "link_case_insensitive" : "Link case insensitive",
+                "hide_user_name" : "Hide member name",
             "_comment_" : "Text",
                 "register_text" : "Terms of sign-up",
                 "non_login_alert" : "Non-login alert",

+ 18 - 2
lang/ko-KR.json

@@ -528,6 +528,22 @@
     "spread": "펼침",
     "popup": "팝업",
     "popover": "팝오버",
-    "user_fix" : "사용자 수정",
-    "2fa_off" : "2FA 끄기"
+    "user_fix": "사용자 수정",
+    "2fa_off": "2FA 끄기",
+    "bbs": "게시판",
+    "bbs_main": "게시판 메인",
+    "bbs_name": "게시판 이름",
+    "bbs_make": "게시판 생성",
+    "order": "순번",
+    "comment_base": "댓글 기반",
+    "thread_base": "스레드 기반",
+    "bbs_set": "게시판 설정",
+    "bbs_view_acl": "게시판 읽기 ACL",
+    "bbs_acl": "게시판 ACL",
+    "bbs_edit_acl": "게시판 글 작성 ACL",
+    "bbs_comment_acl": "게시판 댓글 작성 ACL",
+    "sub_user_name": "보조 사용자 이름",
+    "render_set": "렌더링 관련 설정",
+    "link_case_insensitive": "링크 대소문자 구분 안함",
+    "hide_user_name" : "가입자 이름 숨기기"
 }

+ 1 - 1
route/bbs_edit.py

@@ -138,7 +138,7 @@ def bbs_edit(bbs_num = '', post_num = '', do_type = ''):
 
                         <div>''' + edit_button('opennamu_edit_textarea', 'opennamu_monaco_editor') + '''</div>
                         
-                        <input placeholder="''' + load_lang('bbs_title') + '''" name="title" value="''' + html.escape(title) + '''">
+                        <input placeholder="''' + load_lang('title') + '''" name="title" value="''' + html.escape(title) + '''">
                         <hr class="main_hr">
 
                         <div id="opennamu_monaco_editor" class="opennamu_textarea_500" ''' + monaco_display + '''></div>

+ 5 - 0
route/bbs_main.py

@@ -15,6 +15,11 @@ def bbs_main():
                 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'
+
+                if bbs_type == 'thread':
+                    bbs_type = load_lang('thread_base')
+                else:
+                    bbs_type = load_lang('comment_base')
                 
                 curs.execute(db_change('select set_data from bbs_data where set_id = ? and set_name = "date" order by set_code + 0 desc limit 1'), [for_a[1]])
                 db_data_2 = curs.fetchall()

+ 2 - 2
route/bbs_make.py

@@ -32,8 +32,8 @@ def bbs_make():
                         <hr class="main_hr">
                         
                         <select name="bbs_type">
-                            <option value="comment">''' + load_lang('comment') + '''</option>
-                            <option value="thread">''' + load_lang('thread') + '''</option>
+                            <option value="comment">''' + load_lang('comment_base') + '''</option>
+                            <option value="thread">''' + load_lang('thread_base') + '''</option>
                         </select>
                         <hr class="main_hr">
                         

+ 8 - 6
route/bbs_w.py

@@ -4,17 +4,19 @@ def bbs_w(bbs_num = ''):
     with get_db_connect() as conn:
         curs = conn.cursor()
 
-        curs.execute(db_change('select set_id from bbs_set where set_id = ? and set_name = "bbs_name"'), [bbs_num])
-        if not curs.fetchall():
+        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)
 
         data = ''
         data += '''
             <table id="main_table_set">
                 <tr id="main_table_top_tr">
-                    <td id="main_table_width">''' + load_lang('version') + '''</td>
+                    <td id="main_table_width">''' + load_lang('order') + '''</td>
                     <td id="main_table_width">''' + load_lang('editor') + '''</td>
                     <td id="main_table_width">''' + load_lang('time') + '''</td>
                 </tr>
@@ -58,7 +60,7 @@ def bbs_w(bbs_num = ''):
         data += '</table>'
 
         return easy_minify(flask.render_template(skin_check(),
-            imp = [load_lang('bbs_main'), wiki_set(), wiki_custom(), wiki_css([0, 0])],
+            imp = [bbs_name, wiki_set(), wiki_custom(), wiki_css(['(' + load_lang('bbs') + ')', 0])],
             data = data,
-            menu = [['bbs/main', load_lang('return')], ['bbs/edit/' + bbs_num_str, load_lang('add')], ['bbs/set/' + bbs_num_str, load_lang('setting')]]
+            menu = [['bbs/main', load_lang('return')], ['bbs/edit/' + bbs_num_str, load_lang('add')], ['bbs/set/' + bbs_num_str, load_lang('bbs_set')]]
         ))

+ 8 - 1
route/bbs_w_post.py

@@ -30,6 +30,13 @@ def bbs_w_post(bbs_num = '', post_num = '', do_type = ''):
     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]
+
         curs.execute(db_change('select set_name, set_data, set_code from bbs_data where set_id = ? and set_code = ?'), [bbs_num, post_num])
         db_data = curs.fetchall()
         if not db_data:
@@ -373,7 +380,7 @@ def bbs_w_post(bbs_num = '', post_num = '', do_type = ''):
                 '''
 
                 return easy_minify(flask.render_template(skin_check(),
-                    imp = [load_lang('bbs_main'), wiki_set(), wiki_custom(), wiki_css([0, 0])],
+                    imp = [bbs_name, wiki_set(), wiki_custom(), wiki_css(['(' + load_lang('bbs') + ')', 0])],
                     data = data,
                     menu = [['bbs/w/' + bbs_num_str, load_lang('return')], ['bbs/edit/' + bbs_num_str + '/' + post_num_str, load_lang('edit')]]
                 ))

+ 6 - 3
route/bbs_w_set.py

@@ -4,9 +4,12 @@ def bbs_w_set(bbs_num = ''):
     with get_db_connect() as conn:
         curs = conn.cursor()
 
-        curs.execute(db_change('select set_id from bbs_set where set_id = ? and set_name = "bbs_name"'), [bbs_num])
-        if not curs.fetchall():
+        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]
 
         i_list = {
             1 : 'bbs_acl',
@@ -64,7 +67,7 @@ def bbs_w_set(bbs_num = ''):
                     acl_div[i] += '<option value="' + data_list + '" ' + check + '>' + (data_list if data_list != '' else 'normal') + '</option>'
 
             return easy_minify(flask.render_template(skin_check(),
-                imp = [load_lang('main_acl_setting'), wiki_set(), wiki_custom(), wiki_css([0, 0])],
+                imp = [load_lang('bbs_set'), wiki_set(), wiki_custom(), wiki_css(['(' + bbs_name + ')', 0])],
                 data = render_simple_set('''
                     <form method="post">
                         <hr class="main_hr">

+ 3 - 4
route/list_image_file.py

@@ -1,11 +1,10 @@
 from .tool.func import *
 
-def list_image_file():
+def list_image_file(arg_num = 1):
     with get_db_connect() as conn:
         curs = conn.cursor()
 
-        num = int(number_check(flask.request.args.get('num', '1')))
-        sql_num = (num * 50 - 50) if num * 50 > 0 else 0
+        sql_num = (arg_num * 50 - 50) if arg_num * 50 > 0 else 0
 
         list_data = '<ul class="opennamu_ul">'
 
@@ -14,7 +13,7 @@ def list_image_file():
         for data in data_list:
             list_data += '<li><a href="/w/' + url_pas(data[0]) + '">' + html.escape(data[0]) + '</a></li>'
 
-        list_data += next_fix('/list/file/', num, data_list)
+        list_data += next_fix('/list/file/', arg_num, data_list)
 
         return easy_minify(flask.render_template(skin_check(),
             imp = [load_lang('image_file_list'), wiki_set(), wiki_custom(), wiki_css([0, 0])],

+ 8 - 5
route/list_long_page.py

@@ -1,9 +1,11 @@
 from .tool.func import *
 
-def list_long_page(tool = 'long_page'):
+def list_long_page(tool = 'long_page', arg_num = 1):
     with get_db_connect() as conn:
         curs = conn.cursor()
 
+        sql_num = (arg_num * 50 - 50) if arg_num * 50 > 0 else 0
+
         curs.execute(db_change('select data from other where name = "count_all_title"'))
         if int(curs.fetchall()[0][0]) > 30000:
             return re_error('/error/25')
@@ -12,11 +14,12 @@ def list_long_page(tool = 'long_page'):
         select_data = 'desc' if tool == 'long_page' else 'asc'
         title = 'long_page' if tool == 'long_page' else 'short_page'
 
-        curs.execute(db_change("select title, length(data) from data order by length(data) " + select_data + " limit 50"))
-        for data in curs.fetchall():
-            div += '<li>' + str(data[1]) + ' : <a href="/w/' + url_pas(data[0]) + '">' + html.escape(data[0]) + '</a></li>'
+        curs.execute(db_change("select title, length(data) from data order by length(data) " + select_data + " limit ?, 50"), [sql_num])
+        db_data = curs.fetchall()
+        for data in db_data:
+            div += '<li>' + str(data[1]) + ' | <a href="/w/' + url_pas(data[0]) + '">' + html.escape(data[0]) + '</a></li>'
 
-        div += '</ul>'
+        div += '</ul>' + next_fix('/list/document/' + ('long' if title == 'long_page' else 'short') + '/', arg_num, db_data)
 
         return easy_minify(flask.render_template(skin_check(),
             imp = [load_lang(title), wiki_set(), wiki_custom(), wiki_css([0, 0])],

+ 2 - 0
route/list_old_page.py

@@ -4,6 +4,8 @@ def list_old_page(num = 1):
     with get_db_connect() as conn:
         curs = conn.cursor()
         
+        # 리다이렉트 구분도 넣을 예정
+        # 그 전에 로직 개편하고
         sql_num = (num * 50 - 50) if num * 50 > 0 else 0
         
         curs.execute(db_change('select data from other where name = "count_all_title"'))

+ 1 - 1
route/main_setting_main.py

@@ -254,7 +254,7 @@ def main_setting_main(db_set):
                         <input type="checkbox" name="history_recording_off" ''' + check_box_div[9] + '''> ''' + load_lang('set_history_recording_off') + ''' (''' + load_lang('beta') + ''')
                         <hr class="main_hr">
 
-                        <input type="checkbox" name="move_with_redirect" ''' + check_box_div[13] + '''> ''' + load_lang('move_with_redirect') + '''
+                        <input type="checkbox" name="move_with_redirect" ''' + check_box_div[13] + '''> ''' + load_lang('move_with_redirect') + ''' (''' + load_lang('not_working') + ''')
                         <hr class="main_hr">
 
                         <span>''' + load_lang('slow_thread') + ''' (''' + load_lang('second') + ''') (''' + load_lang('off') + ''' : ''' + load_lang('empty') + ''') (''' + load_lang('not_working') + ''')</span>

+ 8 - 1
route/tool/func.py

@@ -1093,7 +1093,7 @@ def wiki_css(data):
     data += ['' for _ in range(0, 3 - len(data))]
     
     data_css = ''
-    data_css_ver = '174'
+    data_css_ver = '175'
     
     # Func JS + Defer
     data_css += '<script src="/views/main_css/js/func/func.js?ver=' + data_css_ver + '"></script>'
@@ -2517,6 +2517,13 @@ def history_plus(title, data, date, ip, send, leng, t_check = '', mode = ''):
     else:
         curs.execute(db_change("insert into data_set (doc_name, doc_rev, set_name, set_data) values (?, ?, 'last_edit', ?)"), [title, data_set_exist, date])
 
+    curs.execute(db_change("select doc_name from data_set where doc_name = ? and set_name = 'length'"), [title])
+    db_data = curs.fetchall()
+    if db_data:
+        curs.execute(db_change("update data_set set set_data = ?, doc_rev = ? where doc_name = ? and set_name = 'length'"), [len(data), data_set_exist, title])
+    else:
+        curs.execute(db_change("insert into data_set (doc_name, doc_rev, set_name, set_data) values (?, ?, 'length', ?)"), [title, data_set_exist, len(data)])
+
 # Func-error
 def re_error(data):
     curs = conn.cursor()

binární
route_go/main_easter_egg.amd64.bin → route_go/bin/main_easter_egg.amd64.bin


binární
route_go/main_easter_egg.amd64.exe → route_go/bin/main_easter_egg.amd64.exe


binární
route_go/main_easter_egg.arm64.bin → route_go/bin/main_easter_egg.arm64.bin


binární
route_go/main_easter_egg.arm64.exe → route_go/bin/main_easter_egg.arm64.exe


+ 4 - 4
route_go/linux_amd64.sh

@@ -4,19 +4,19 @@ read file_name
 export GOOS=linux
 export GOARCH=amd64
 go build $file_name.go
-mv $file_name $file_name.amd64.bin
+mv $file_name ./bin/$file_name.amd64.bin
 
 export GOOS=linux
 export GOARCH=arm64
 go build $file_name.go
-mv $file_name $file_name.arm64.bin
+mv $file_name ./bin/$file_name.arm64.bin
 
 export GOOS=windows
 export GOARCH=amd64
 go build $file_name.go
-mv $file_name.exe $file_name.amd64.exe
+mv $file_name.exe ./bin/$file_name.amd64.exe
 
 export GOOS=windows
 export GOARCH=arm64
 go build $file_name.go
-mv $file_name.exe $file_name.arm64.exe
+mv $file_name.exe ./bin/$file_name.arm64.exe

+ 19 - 12
route_go/main_easter_egg.go

@@ -10,19 +10,26 @@ func main() {
 	rand.Seed(time.Now().UnixNano())
 
 	select_list := []string{
-		"PWD0ZbR7AOY",
-		"HoU29ljOmTE",
-		"PR2vUm-Ald8",
-		"opZoEmsu_Lo",
-		"txZFFTusSvw",
-		"Ixq9xL2tvRU",
-		"-3IAx_r4Au0",
-		"wObZkycA6sc",
-		"hZxYLa97gDg",
-		"hwn2kw4eFJM",
-		"wX2t_8HOtiY",
-		"tLQjcf45fKE",
+		"PWD0ZbR7AOY", // Shanghai Teahouse ~ Chinese Tea
+		"HoU29ljOmTE", // Flawless Clothing of Celestials
+		"PR2vUm-Ald8", // U.N. Owen Was Her
+		"opZoEmsu_Lo", // Night of Nights
+		"txZFFTusSvw", // Reach for the Moon ~ Immortal Smoke
+		"Ixq9xL2tvRU", // Phantom Ensemble
+		"-3IAx_r4Au0", // Entrusting This World to Idols ~ Idolatrize World
+		"wObZkycA6sc", // Last Remote
+		"hZxYLa97gDg", // Emotional Skyscraper ~ Cosmic Mind
+		"hwn2kw4eFJM", // Border of Life
+		"wX2t_8HOtiY", // Voyage 1969
+		"tLQjcf45fKE", // Necrofantasia
+		"7DvMRAMuMrU", // Where Is That Bustling Marketplace Now ~ Immemorial Marketeers
 		// Remix by NyxTheShield
+		"SXFP9HgWBYQ", // 세계는 귀엽게 만들어져 있다
+		"YDrgO0Oj3Fg", // 죽취비상
+		"wxWV_sUGPB0", // 디자이어 드라이브
+		"uw0h2O7UaZ8", // 100번째 블랙 마켓
+		"blE4lnfEWbU", // 일렉트릭 헤리티지
+		// Remix by KR. Palto47
 	}
 	select_str := select_list[rand.Intn(len(select_list)-1)]
 

+ 4 - 0
views/ringo/css/main.css

@@ -337,6 +337,10 @@ input, textarea, button, select {
     background-color: white;
 }
 
+input, textarea {
+    width: calc(100% - 20px);
+}
+
 #main_data button:hover {
     background-color: #eee;
 

+ 1 - 1
views/ringo/index.html

@@ -13,7 +13,7 @@
         <script src="/views/ringo/js/main.js?ver=2"></script>
         <script src="/views/ringo/js/sidebar.js?ver=1"></script>
         <script src="/views/ringo/js/skin_set.js?ver=1"></script>
-        <link rel="stylesheet" href="/views/ringo/css/main.css?ver=2">
+        <link rel="stylesheet" href="/views/ringo/css/main.css?ver=3">
         {% if request.cookies.get('main_css_darkmode', '') == '1' %}
             <link rel="stylesheet" href="/views/main_css/css/sub/dark.css?ver=1">
             <link rel="stylesheet" href="/views/ringo/css/dark.css?ver=1">

+ 4 - 0
views/tenshi/css/main.css

@@ -331,6 +331,10 @@ textarea, input, pre {
     box-shadow: 0 2px 4px 0 rgba(0,0,0,0.16), 0 2px 10px 0 rgba(0,0,0,0.12);
 }
 
+textarea, input {
+    width: calc(100% - 10px);
+}
+
 pre {
     padding: 10px;
 }

+ 1 - 1
views/tenshi/index.html

@@ -8,7 +8,7 @@
             <title>{{imp[0]}} - {{imp[1][0]}}</title>
         {% endif %}
         {{imp[3][3]|safe}}
-        <link rel="stylesheet" href="/views/tenshi/css/main.css?ver=21">
+        <link rel="stylesheet" href="/views/tenshi/css/main.css?ver=22">
         {% if request.cookies.get('main_css_darkmode', '') == '1' %}
             <link rel="stylesheet" href="/views/main_css/css/sub/dark.css?ver=1">
             <link rel="stylesheet" href="/views/tenshi/css/dark.css?ver=9">

+ 1 - 1
views/tenshi/info.json

@@ -1,5 +1,5 @@
 {
     "name" : "Tenshi",
-    "skin_ver" : "v2.0.5",
+    "skin_ver" : "v2.0.6",
     "require_ver" : "3500110"
 }