Procházet zdrojové kódy

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

잉여개발기 (SPDV) před 2 roky
rodič
revize
812ff8db40

+ 6 - 0
app.py

@@ -280,12 +280,18 @@ app.route('/filter/document/del/<everything:name>', defaults = { 'tool' : 'docum
 
 app.route('/filter/edit_top', defaults = { 'tool' : 'edit_top' })(filter_all)
 app.route('/filter/edit_top/add', methods = ['POST', 'GET'], defaults = { 'tool' : 'edit_top' })(filter_all_add)
+app.route('/filter/edit_top/add/<everything:name>', methods = ['POST', 'GET'], defaults = { 'tool' : 'edit_top' })(filter_all_add)
 app.route('/filter/edit_top/del/<everything:name>', defaults = { 'tool' : 'edit_top' })(filter_all_delete)
 
 app.route('/filter/image_license', defaults = { 'tool' : 'image_license' })(filter_all)
 app.route('/filter/image_license/add', methods = ['POST', 'GET'], defaults = { 'tool' : 'image_license' })(filter_all_add)
 app.route('/filter/image_license/del/<everything:name>', defaults = { 'tool' : 'image_license' })(filter_all_delete)
 
+app.route('/filter/template', defaults = { 'tool' : 'template' })(filter_all)
+app.route('/filter/template/add', methods = ['POST', 'GET'], defaults = { 'tool' : 'template' })(filter_all_add)
+app.route('/filter/template/add/<everything:name>', methods = ['POST', 'GET'], defaults = { 'tool' : 'template' })(filter_all_add)
+app.route('/filter/template/del/<everything:name>', defaults = { 'tool' : 'template' })(filter_all_delete)
+
 app.route('/filter/edit_filter', defaults = { 'tool' : 'edit_filter' })(filter_all)
 app.route('/filter/edit_filter/add', methods = ['POST', 'GET'], defaults = { 'tool' : 'edit_filter' })(filter_all_add)
 app.route('/filter/edit_filter/add/<everything:name>', methods = ['POST', 'GET'], defaults = { 'tool' : 'edit_filter' })(filter_all_add)

+ 1 - 1
lang/en-US.json

@@ -55,7 +55,7 @@
         "close" : "Closed",
         "open" : "Open",
         "agreement" : "Agreement",
-        "template" : "Template",
+        "template" : "Template document",
         "file" : "File",
         "writer" : "Writer",
         "editor" : "Editor",

+ 1 - 1
lang/ko-KR.json

@@ -132,7 +132,7 @@
     "update_error": "자동 업데이트가 지원되지 않습니다.",
     "need_document": "필요한 문서들",
     "sub": "하위",
-    "template": "",
+    "template": "템플릿 문서",
     "user_document_acl": "사용자 문서 ACL",
     "password_confirm": "비밀번호 확인",
     "pinned": "고정",

+ 4 - 1
route/filter_all.py

@@ -42,6 +42,9 @@ def filter_all(tool):
         elif tool == 'outer_link':
             title = load_lang('outer_link_filter_list')
             curs.execute(db_change("select html, plus, plus_t from html_filter where kind = 'outer_link'"))
+        elif tool == 'template':
+            title = load_lang('template_document_list')
+            curs.execute(db_change("select html, plus, plus_t from html_filter where kind = 'template'"))
         else:
             title = load_lang('edit_tool_list')
             curs.execute(db_change("select html, plus, plus_t from html_filter where kind = 'edit_top'"))
@@ -53,7 +56,7 @@ def filter_all(tool):
 
             div += html.escape(data[0])
             if admin == 1:
-                if tool in ('inter_wiki', 'outer_link', 'edit_filter', 'document'):
+                if tool in ('inter_wiki', 'outer_link', 'edit_filter', 'document', 'edit_top', 'template'):
                     div += ' <a href="/filter/' + tool + '/add/' + url_pas(data[0]) + '">(' + load_lang('edit') + ')</a>'
                     
                 div += ' <a href="/filter/' + tool + '/del/' + url_pas(data[0]) + '">(' + load_lang('delete') + ')</a>'

+ 28 - 9
route/filter_all_add.py

@@ -78,6 +78,10 @@ def filter_all_add(tool, name = None):
                 elif tool == 'extension_filter':
                     admin_check(None, 'extension_filter edit')
                     type_d = 'extension'
+                elif tool == 'template':
+                    admin_check(None, 'template_document edit')
+                    type_d = 'template'
+                    plus_d = flask.request.form.get('exp', 'test')
                 else:
                     admin_check(None, 'edit_top edit')
                     type_d = 'edit_top'
@@ -160,12 +164,11 @@ def filter_all_add(tool, name = None):
                         ['31104000', load_lang('360_day')],
                         ['0', load_lang('limitless')]
                     ]
-                    for i in t_data:
-                        insert_data += '<a href="javascript:insert_v(\'second\', \'' + i[0] + '\')">(' + i[1] + ')</a> '
+                    insert_data += ''.join(['<a href="javascript:opennamu_insert_v(\'second\', \'' + for_a[0] + '\')">(' + for_a[1] + ')</a> ' for for_a in t_data])
 
                 title = load_lang('edit_filter_add')
                 form_data = '''
-                    <script>function insert_v(name, data) { document.getElementById(name).value = data; }</script>''' + insert_data + '''
+                    ''' + insert_data + '''
                     <hr class="main_hr">
                     <input placeholder="''' + load_lang('second') + '''" id="second" name="second" type="text" value="''' + html.escape(time_data) + '''">
                     <hr class="main_hr">
@@ -229,17 +232,33 @@ def filter_all_add(tool, name = None):
                         ''' + ''.join(['<option ' + for_a[0] + ' value=' + for_a[1] + '>' + ('normal' if for_a[1] == '' else for_a[1]) + '</option>' for for_a in acl_list]) + '''
                     </select>
                 '''
+            elif tool == 'template':
+                title = load_lang('template_document_add')
+
+                value = ''
+                if name:
+                    curs.execute(db_change("select plus from html_filter where html = ? and kind = 'template'"), [name])
+                    exist = curs.fetchall()
+                    value = exist[0][0] if exist else '' 
+
+                form_data = '' + \
+                    load_lang('template') + \
+                    '<hr class="main_hr">' + \
+                    '<input value="' + html.escape(name) + '" type="text" name="title">' + \
+                    '<hr class="main_hr">' + \
+                    load_lang('explanation') + \
+                    '<hr class="main_hr">' + \
+                    '<input value="' + html.escape(value) + '" type="text" name="exp">' + \
+                    '<hr class="main_hr">' + \
+                ''
             else:
                 title = load_lang('edit_tool_add')
+                
+                value = ''
                 if name:
                     curs.execute(db_change("select plus from html_filter where html = ? and kind = 'edit_top'"), [name])
                     exist = curs.fetchall()
-                    if exist:
-                        value = exist[0][0]
-                    else:
-                        value = ''
-                else:
-                    value = ''
+                    value = exist[0][0] if exist else ''    
 
                 form_data = '''
                     ''' + load_lang('title') + '''

+ 4 - 0
route/filter_all_delete.py

@@ -24,6 +24,10 @@ def filter_all_delete(tool, name = 'Test'):
             curs.execute(db_change("delete from html_filter where html = ? and kind = 'extension'"), [name])
         elif tool == 'document':
             curs.execute(db_change("delete from html_filter where html = ? and kind = 'document'"), [name])
+        elif tool == 'outer_link':
+            curs.execute(db_change("delete from html_filter where html = ? and kind = 'outer_link'"), [name])
+        elif tool == 'template':
+            curs.execute(db_change("delete from html_filter where html = ? and kind = 'template'"), [name])
         else:
             curs.execute(db_change("delete from html_filter where html = ? and kind = 'edit_top'"), [name])
 

+ 1 - 0
route/main_tool_admin.py

@@ -35,6 +35,7 @@ def main_tool_admin():
                     <li><a href="/filter/extension_filter">''' + load_lang('extension_filter_list') + '''</a></li>
                     <li><a href="/filter/document">''' + load_lang('document_filter_list') + '''</a></li>
                     <li><a href="/filter/outer_link">''' + load_lang('outer_link_filter_list') + '''</a> (''' + load_lang('beta') + ''')
+                    <li><a href="/filter/template">''' + load_lang('template_document_list') + '''</a> (''' + load_lang('beta') + ''')
                 </ul>
                 <h3>''' + load_lang('server') + '''</h2>
                 <ul class="opennamu_ul">

+ 14 - 1
route/main_tool_redirect.py

@@ -2,6 +2,8 @@ from .tool.func import *
 
 def main_tool_redirect(num = 1, add_2 = ''):
     with get_db_connect() as conn:
+        curs = conn.cursor()
+
         title_list = {
             0 : [load_lang('document_name'), '/acl', load_lang('acl')],
             1 : [0, '/list/user/check', load_lang('check')],
@@ -49,11 +51,22 @@ def main_tool_redirect(num = 1, add_2 = ''):
                 if num == 15:
                     plus = '<input type="checkbox" name="regex"> ' + load_lang('regex') + '<hr class="main_hr">'
 
+                top_plus = ''
+                if num == 13:
+                    curs.execute(db_change("select html, plus from html_filter where kind = 'template'"))
+                    db_data = curs.fetchall()
+                    for for_a in db_data:
+                        top_plus += '' + \
+                            '<a href="javascript:opennamu_insert_v(\'data_field\', \'' + get_tool_js_safe(for_a[0]) + '\')">' + html.escape(for_a[0]) + '</a> : ' + html.escape(for_a[1]) + \
+                            '<hr class="main_hr">' + \
+                        ''
+
                 return easy_minify(flask.render_template(skin_check(),
                     imp = [title_list[num][2], wiki_set(), wiki_custom(), wiki_css([0, 0])],
                     data = '''
                         <form method="post">
-                            <input placeholder="''' + placeholder + '''" name="name" type="text">
+                            ''' + top_plus + '''
+                            <input placeholder="''' + placeholder + '''" id="data_field" name="name" type="text">
                             <hr class="main_hr">
                             ''' + plus + '''
                             <button type="submit">''' + load_lang('go') + '''</button>

+ 1 - 1
route/tool/func.py

@@ -1025,7 +1025,7 @@ def wiki_css(data):
     data_css = ''
     data_css_add = ''
 
-    data_css_ver = '184'
+    data_css_ver = '185'
     data_css_ver = '.cache_v' + data_css_ver
 
     if 'main_css' in global_wiki_set:

+ 1 - 1
version.json

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

+ 4 - 0
views/main_css/js/func/func.js

@@ -154,4 +154,8 @@ function opennamu_get_main_skin_set(set_name) {
             }
         }
     });
+}
+
+function opennamu_insert_v(name, data) {
+    document.getElementById(name).value = data;
 }