Selaa lähdekoodia

분류 새로운 문법 추가

https://github.com/openNAMU/openNAMU/issues/1874
잉여개발기 (SPDV) 2 vuotta sitten
vanhempi
sitoutus
ea5607da7f

+ 1 - 1
route/edit_delete.py

@@ -49,7 +49,7 @@ def edit_delete(name):
 
                 curs.execute(db_change("select title, link from back where title = ? and not type = 'cat' and not type = 'no'"), [name])
                 for data in curs.fetchall():
-                    curs.execute(db_change("insert into back (title, link, type) values (?, ?, 'no')"), [data[0], data[1]])
+                    curs.execute(db_change("insert into back (title, link, type, data) values (?, ?, 'no', '')"), [data[0], data[1]])
 
                 curs.execute(db_change("delete from back where link = ?"), [name])
                 curs.execute(db_change("delete from data where title = ?"), [name])

+ 5 - 0
route/main_setting_skin_set.py

@@ -60,9 +60,14 @@ def main_setting_skin_set():
                             ''' + set_data["main_css_bold"] + '''
                         </select>
                         <h3>''' + load_lang("category") + '''</h3>
+                        <h4>''' + load_lang("position") + '''</h4>
                         <select name="main_css_category_set">
                             ''' + set_data["main_css_category_set"] + '''
                         </select>
+                        <h4>''' + load_lang("category_change_title") + '''</h4>
+                        <select name="main_css_category_change_title">
+                            ''' + set_data["main_css_category_change_title"] + '''
+                        </select>
                         <h3>''' + load_lang("footnote") + ''' (''' + load_lang('beta') + ''')</h3>
                         <h4>''' + load_lang("footnote_render") + '''</h4>
                         <select name="main_css_footnote_set">

+ 2 - 7
route/tool/func.py

@@ -309,7 +309,7 @@ def get_db_table_list():
     create_data['acl'] = ['title', 'data', 'type']
 
     # 개편 예정 (data_link로 변경)
-    create_data['back'] = ['title', 'link', 'type']
+    create_data['back'] = ['title', 'link', 'type', 'data']
 
     # 폐지 예정 (topic_set으로 통합) [가장 시급]
     create_data['topic_set'] = ['thread_code', 'set_name', 'set_id', 'set_data']
@@ -2664,7 +2664,6 @@ def re_error(data):
                 curs.execute(db_change('select data from other where name = "upload"'))
                 db_data = curs.fetchall()
                 file_max = number_check(db_data[0][0]) if db_data and db_data[0][0] != '' else '2'
-
                 data = load_lang('file_capacity_error') + file_max
             elif num == 18:
                 data = load_lang('email_send_error')
@@ -2718,11 +2717,7 @@ def re_error(data):
             elif num == 40:
                 curs.execute(db_change("select data from other where name = 'password_min_length'"))
                 db_data = curs.fetchall()
-                if db_data and db_data[0][0] != '':
-                    password_min_length = db_data[0][0]
-                else:
-                    password_min_length = ''
-                    
+                password_min_length = '' if not db_data else db_data[0][0]
                 data = load_lang('error_password_length_too_short') + password_min_length
             elif num == 41:
                 curs.execute(db_change("select data from other where name = 'edit_timeout'"))

+ 1 - 1
route/tool/func_render.py

@@ -91,7 +91,7 @@ class class_do_render:
                 backlink = []
 
             if backlink != []:
-                curs.executemany(db_change("insert into back (link, title, type) values (?, ?, ?)"), data_end[2]['backlink'])
+                curs.executemany(db_change("insert into back (link, title, type, data) values (?, ?, ?, ?)"), data_end[2]['backlink'])
                 curs.execute(db_change("delete from back where title = ? and type = 'no'"), [doc_name])
 
             self.conn.commit()

+ 16 - 15
route/tool/func_render_namumark.py

@@ -796,11 +796,11 @@ class class_do_render_namumark:
                         db_data = self.curs.fetchall()
                         if db_data:
                             link_exist = ''
-                            self.data_backlink += [[self.doc_name, 'file:' + link_main, 'file']]
+                            self.data_backlink += [[self.doc_name, 'file:' + link_main, 'file', '']]
                         else:
                             link_exist = 'opennamu_not_exist_link'
-                            self.data_backlink += [[self.doc_name, 'file:' + link_main, 'no']]
-                            self.data_backlink += [[self.doc_name, 'file:' + link_main, 'file']]
+                            self.data_backlink += [[self.doc_name, 'file:' + link_main, 'no', '']]
+                            self.data_backlink += [[self.doc_name, 'file:' + link_main, 'file', '']]
                         
                         link_extension_regex = r'\.([^.]+)$'
                         link_extension = re.search(link_extension_regex, link_main)
@@ -884,9 +884,6 @@ class class_do_render_namumark:
                 elif re.search(r'^(분류|category):', link_main, flags = re.I):
                     link_main = re.sub(r'^(분류|category):', '', link_main, flags = re.I)
 
-                    if link_data[1]:
-                        link_main += link_data[1]
-
                     category_blur = ''
                     if re.search(r'#blur$', link_main, flags = re.I):
                         link_main = re.sub(r'#blur$', '', link_main, flags = re.I)
@@ -894,6 +891,9 @@ class class_do_render_namumark:
                         category_blur = 'opennamu_category_blur'
                     
                     link_sub = link_main
+                    link_view = ''
+                    if len(link_data) > 1:
+                        link_view = link_data[1]
 
                     link_main = self.get_tool_data_restore(link_main, do_type = 'slash')
                     link_main = html.unescape(link_main)
@@ -905,11 +905,12 @@ class class_do_render_namumark:
                         db_data = self.curs.fetchall()
                         if db_data:
                             link_exist = ''
-                            self.data_backlink += [[self.doc_name, 'category:' + link_main, 'cat']]
                         else:
                             link_exist = 'opennamu_not_exist_link'
-                            self.data_backlink += [[self.doc_name, 'category:' + link_main, 'no']]
-                            self.data_backlink += [[self.doc_name, 'category:' + link_main, 'cat']]
+                            self.data_backlink += [[self.doc_name, 'category:' + link_main, 'no', '']]
+
+                        self.data_backlink += [[self.doc_name, 'category:' + link_main, 'cat', '']]
+                        self.data_backlink += [[self.doc_name, 'category:' + link_main, 'cat_view', link_view]]
 
                         link_main = url_pas(link_main)
 
@@ -1033,12 +1034,12 @@ class class_do_render_namumark:
                         self.curs.execute(db_change("select title from data where title = ?" + self.link_case_insensitive), [link_main])
                         db_data = self.curs.fetchall()
                         if not db_data:
-                            self.data_backlink += [[self.doc_name, link_main, 'no']]
-                            self.data_backlink += [[self.doc_name, link_main, '']]
+                            self.data_backlink += [[self.doc_name, link_main, 'no', '']]
+                            self.data_backlink += [[self.doc_name, link_main, '', '']]
                             link_exist = 'opennamu_not_exist_link'
                         else:
                             link_main = db_data[0][0]
-                            self.data_backlink += [[self.doc_name, link_main, '']]
+                            self.data_backlink += [[self.doc_name, link_main, '', '']]
 
                     link_same = ''
                     if link_main == self.doc_name:
@@ -1174,7 +1175,7 @@ class class_do_render_namumark:
                     self.curs.execute(db_change("select data from data where title = ?"), [include_name])
                     db_data = self.curs.fetchall()
                     if db_data:
-                        self.data_backlink += [[self.doc_name, include_name, 'include']]
+                        self.data_backlink += [[self.doc_name, include_name, 'include', '']]
                         include_data = db_data[0][0].replace('\r', '')
 
                         # include link func
@@ -1196,7 +1197,7 @@ class class_do_render_namumark:
                             '<div id="' + self.doc_include + 'opennamu_include_' + str(include_num) + '"></div>' + \
                         '', '', match_org)
                     else:
-                        self.data_backlink += [[self.doc_name, include_name, 'no']]
+                        self.data_backlink += [[self.doc_name, include_name, 'no', '']]
 
                         include_link = '<div><a class="opennamu_not_exist_link" href="/w/' + url_pas(include_name) + '">(' + include_name_org + ')</a></div>'
 
@@ -1354,7 +1355,7 @@ class class_do_render_namumark:
             link_main = self.get_tool_data_restore(link_main, do_type = 'slash')
             link_main = html.unescape(link_main)
 
-            self.data_backlink += [[self.doc_name, link_main, 'redirect']]
+            self.data_backlink += [[self.doc_name, link_main, 'redirect', '']]
 
             link_main = url_pas(link_main)
 

+ 10 - 0
route/user_setting_skin_set_main.py

@@ -68,6 +68,10 @@ def user_setting_skin_set_main_set_list():
             ['default', load_lang('default')],
             ['off', load_lang('off')],
             ['on', load_lang('use')]
+        ], 'main_css_category_change_title' : [
+            ['default', load_lang('default')],
+            ['off', load_lang('off')],
+            ['on', load_lang('use')]
         ]
     }
 
@@ -152,10 +156,16 @@ def user_setting_skin_set_main():
                             ''' + set_data["main_css_bold"] + '''
                         </select>
                         <h3>''' + load_lang("category") + '''</h3>
+                        <h4>''' + load_lang("position") + '''</h4>
                         ''' + set_data_main["main_css_category_set"] + '''
                         <select name="main_css_category_set">
                             ''' + set_data["main_css_category_set"] + '''
                         </select>
+                        <h4>''' + load_lang("category_change_title") + '''</h4>
+                        ''' + set_data_main["main_css_category_change_title"] + '''
+                        <select name="main_css_category_change_title">
+                            ''' + set_data["main_css_category_change_title"] + '''
+                        </select>
                         <h3>''' + load_lang("footnote") + ''' (''' + load_lang('beta') + ''')</h3>
                         <h4>''' + load_lang("footnote_render") + '''</h4>
                         ''' + set_data_main["main_css_footnote_set"] + '''

+ 10 - 3
route/view_read.py

@@ -35,14 +35,21 @@ def view_read(name = 'Test', doc_rev = '', doc_from = '', do_type = ''):
             curs.execute(db_change("select link from back where title = ? and type = 'cat' order by link asc"), [name])
             category_sql = curs.fetchall()
             for data in category_sql:
+                link_view = data[0]
+                if get_main_skin_set(curs, flask.session, 'main_css_category_change_title', ip) != 'off':
+                    curs.execute(db_change("select data from back where title = ? and link = ? and type = 'cat_view' limit 1"), [name, data[0]])
+                    db_data = curs.fetchall()
+                    if db_data and db_data[0][0] != '':
+                        link_view = db_data[0][0]
+
                 if data[0].startswith('category:'):
-                    category_sub += '<li><a href="/w/' + url_pas(data[0]) + '">' + html.escape(data[0]) + '</a></li>'
+                    category_sub += '<li><a href="/w/' + url_pas(data[0]) + '">' + html.escape(link_view) + '</a></li>'
 
                     count_sub_category += 1
                 else:
                     category_doc += '' + \
                         '<li>' + \
-                            '<a href="/w/' + url_pas(data[0]) + '">' + html.escape(data[0]) + '</a> ' + \
+                            '<a href="/w/' + url_pas(data[0]) + '">' + html.escape(link_view) + '</a> ' + \
                             '<a class="opennamu_link_inter" href="/xref/' + url_pas(data[0]) + '">(' + load_lang('backlink') + ')</a>' + \
                         '</li>' + \
                     ''
@@ -188,7 +195,7 @@ def view_read(name = 'Test', doc_rev = '', doc_from = '', do_type = ''):
             response_data = 200
 
         if num != '':
-            menu += [['history/' + url_pas(name), load_lang('history')]]
+            menu += [['history/' + url_pas(name), load_lang('return')]]
             sub = ' (r' + str(num) + ')'
             acl = 0
             r_date = 0

+ 2 - 2
version.json

@@ -1,7 +1,7 @@
 {
     "beta" : {
-        "r_ver" : "v3.4.6-RC3-dev226",
-        "c_ver" : "3500363",
+        "r_ver" : "v3.4.6-RC3-dev227",
+        "c_ver" : "3500364",
         "s_ver" : "3500111"
     }
 }