Bladeren bron

Merge pull request #1245 from openNAMU/dev

Dev
잉여개발기 (SPDV) 4 jaren geleden
bovenliggende
commit
36bbbcbc23

+ 11 - 11
app.py

@@ -624,8 +624,9 @@ def edit_revert(name = None):
     return edit_revert_2(conn, name)
 
 @app.route('/edit/<everything:name>', methods = ['POST', 'GET'])
-def edit(name = 'Test'):
-    return edit_2(conn, name)
+@app.route('/edit/<everything:name>/doc_section/<int:section>', methods = ['POST', 'GET'])
+def edit(name = 'Test', section = 0):
+    return edit_2(conn, name, section)
 
 @app.route('/backlink_reset/<everything:name>')
 def edit_backlink_reset(name = 'Test'):
@@ -749,7 +750,7 @@ def user_star_doc_name(name = 'Test'):
 
 # login -> login/2fa -> login/2fa/email with login_id
 # register -> register/email -> regiter/email/check with reg_id
-# pass_find -> passfind/email with find_id
+# pass_find -> pass_find/email with find_id
 
 @app.route('/login', methods = ['POST', 'GET'])
 def login_login():
@@ -781,15 +782,14 @@ def login_register_email_check():
 def login_register_submit():
     return login_register_submit_2(conn)
 
-@app.route('/<regex("need_email"):tool>', methods = ['POST', 'GET'])
-@app.route('/<regex("pass_find"):tool>', methods = ['POST', 'GET'])
-def login_need_email(tool = 'pass_find'):
-    return login_need_email_2(conn, tool)
+# 개편 필요
+@app.route('/pass_find', methods = ['POST', 'GET'])
+def login_pass_find():
+    return login_pass_find_2(conn, 'pass_find')
 
-@app.route('/<regex("check_key"):tool>', methods = ['POST', 'GET'])
-@app.route('/<regex("check_pass_key"):tool>', methods = ['POST', 'GET'])
-def login_check_key(tool = 'check_pass_key'):
-    return login_check_key_2(conn, tool)
+@app.route('/pass_find/email', methods = ['POST', 'GET'])
+def login_pass_find_email():
+    return login_pass_find_email_2(conn, 'check_key')
 
 @app.route('/logout')
 def login_logout():

+ 2 - 2
route/edit.py

@@ -1,6 +1,6 @@
 from .tool.func import *
 
-def edit_2(conn, name):
+def edit_2(conn, name, section):
     curs = conn.cursor()
 
     ip = ip_check()
@@ -11,7 +11,7 @@ def edit_2(conn, name):
     doc_ver = curs.fetchall()
     doc_ver = doc_ver[0][0] if doc_ver else '0'
     
-    section = flask.request.args.get('section', '')
+    section = '' if section == 0 else section
     post_ver = flask.request.form.get('ver', '')
     if flask.request.method == 'POST':
         edit_repeat = 'error' if post_ver != doc_ver else 'post'

+ 4 - 3
route/login_need_email.py → route/login_pass_find.py

@@ -1,6 +1,7 @@
 from .tool.func import *
 
-def login_need_email_2(conn, tool):
+# 개편 필요
+def login_pass_find_2(conn, tool):
     curs = conn.cursor()
     
     if flask.request.method == 'POST':
@@ -53,7 +54,7 @@ def login_need_email_2(conn, tool):
             if send_email(user_email, t_text, i_text) == 0:
                 return re_error('/error/18')
 
-            return redirect('/check_key')
+            return redirect('/pass_find/email')
         else:
             curs.execute(db_change('select id from user_set where name = "email" and data = ?'), [user_email])
             if curs.fetchall():
@@ -70,7 +71,7 @@ def login_need_email_2(conn, tool):
 
             flask.session['c_email'] = user_email
 
-            return redirect('/check_key')
+            return redirect('/pass_find/email')
     else:
         if tool == 'pass_find':
             curs.execute(db_change('select data from other where name = "password_search_text"'))

+ 1 - 1
route/login_check_key.py → route/login_pass_find_email.py

@@ -1,6 +1,6 @@
 from .tool.func import *
 
-def login_check_key_2(conn, tool):
+def login_pass_find_email_2(conn, tool):
     curs = conn.cursor()
 
     if  flask.request.method == 'POST' or \

+ 3 - 3
route/login_register_email.py

@@ -30,9 +30,9 @@ def login_register_email_2(conn):
         curs.execute(db_change('select data from other where name = "email_text"'))
         sql_d = curs.fetchall()
         if sql_d and sql_d[0][0] != '':
-            i_text = html.escape(sql_d[0][0]) + '\n\nKey : ' + flask.session['c_key']
+            i_text = html.escape(sql_d[0][0]) + '\n\nKey : ' + str(flask.session.get('reg_key'))
         else:
-            i_text = 'Key : ' + flask.session['c_key']
+            i_text = 'Key : ' + str(flask.session.get('reg_key'))
         
 
         curs.execute(db_change('select id from user_set where name = "email" and data = ?'), [user_email])
@@ -63,4 +63,4 @@ def login_register_email_2(conn):
                 </form>
             ''',
             menu = [['user', load_lang('return')]]
-        ))
+        ))

+ 46 - 44
route/main_manager.py

@@ -26,50 +26,52 @@ def main_manager_2(conn, num, r_ver):
         return easy_minify(flask.render_template(skin_check(),
             imp = [load_lang('admin_tool'), wiki_set(), wiki_custom(), wiki_css([0, 0])],
             data = '''
-                <h2>''' + load_lang('admin') + '''</h2>
-                <ul class="inside_ul">
-                    <li><a href="/manager/2">''' + load_lang('acl_change') + '''</a></li>
-                    <li><a href="/manager/3">''' + load_lang('check_user') + '''</a></li>
-                    <li><a href="/ban">''' + load_lang('ban') + '''</a></li>
-                    <li><a href="/manager/17">''' + load_lang('release') + '''</a></li>
-                    <li><a href="/manager/5">''' + load_lang('authorize') + '''</a></li>
-                </ul>
-                <h2>''' + load_lang('owner') + '''</h2>
-                <ul class="inside_ul">
-                    <li><a href="/admin_group">''' + load_lang('admin_group_list') + '''</a></li>
-                    <li><a href="/many_delete">''' + load_lang('many_delete') + '''</a></li>
-                    <li><a href="/app_submit">''' + load_lang('application_list') + '''</a></li>
-                    <li><a href="/api/sitemap.xml">''' + load_lang('get_sitemap') + '''</a></li>
-                    <li><a href="/register">''' + load_lang('add_user') + '''</a></li>
-                    <li><a href="/setting">''' + load_lang('setting') + '''</a></li>
-                </ul>
-                <h3>''' + load_lang('filter') + '''</h3>
-                <ul class="inside_ul">
-                    <li><a href="/edit_filter">''' + load_lang('edit_filter_list') + '''</a></li>
-                    <li><a href="/inter_wiki">''' + load_lang('interwiki_list') + '''</a></li>
-                    <li><a href="/edit_top">''' + load_lang('edit_tool_list') + '''</a></li>
-                    <li><a href="/image_license">''' + load_lang('image_license_list') + '''</a></li>
-                    <li><a href="/email_filter">''' + load_lang('email_filter_list') + '''</a></li>
-                    <li><a href="/name_filter">''' + load_lang('id_filter_list') + '''</a></li>
-                    <li><a href="/file_filter">''' + load_lang('file_filter_list') + '''</a></li>
-                    <li><a href="/extension_filter">''' + load_lang('extension_filter_list') + '''</a></li>
-                </ul>
-                <h2>''' + load_lang('server') + '''</h2>
-                <ul class="inside_ul">
-                    <li><a href="/restart">''' + load_lang('wiki_restart') + '''</a></li>
-                    <li><a href="/shutdown">''' + load_lang('wiki_shutdown') + '''</a></li>
-                    <li><a href="/update">''' + load_lang('update') + '''</a></li>
-                </ul>
-                <h2>''' + load_lang('version') + '''</h2>
-                <ul class="inside_ul">
-                    <li>
-                        <a href="/api/skin_info?all=true">''' + load_lang('skin_info') + '''</a>
-                        <span id="need_skin_update"></span>
-                    </li>
-                    <li>''' + load_lang('version') + ' : ' + r_ver + '''</li>
-                    <li id="ver_send" style="display: none;">''' + load_lang('lastest') + ''' : </li>
-                </ul>
-                <script>load_ver(); do_skin_ver_check();</script>
+                <div id="other_simple_render">
+                    <h2>1. ''' + load_lang('admin') + '''</h2>
+                    <ul class="inside_ul">
+                        <li><a href="/manager/2">''' + load_lang('acl_change') + '''</a></li>
+                        <li><a href="/manager/3">''' + load_lang('check_user') + '''</a></li>
+                        <li><a href="/ban">''' + load_lang('ban') + '''</a></li>
+                        <li><a href="/manager/17">''' + load_lang('release') + '''</a></li>
+                        <li><a href="/manager/5">''' + load_lang('authorize') + '''</a></li>
+                    </ul>
+                    <h2>2. ''' + load_lang('owner') + '''</h2>
+                    <ul class="inside_ul">
+                        <li><a href="/admin_group">''' + load_lang('admin_group_list') + '''</a></li>
+                        <li><a href="/many_delete">''' + load_lang('many_delete') + '''</a></li>
+                        <li><a href="/app_submit">''' + load_lang('application_list') + '''</a></li>
+                        <li><a href="/api/sitemap.xml">''' + load_lang('get_sitemap') + '''</a></li>
+                        <li><a href="/register">''' + load_lang('add_user') + '''</a></li>
+                        <li><a href="/setting">''' + load_lang('setting') + '''</a></li>
+                    </ul>
+                    <h3>2.1. ''' + load_lang('filter') + '''</h3>
+                    <ul class="inside_ul">
+                        <li><a href="/edit_filter">''' + load_lang('edit_filter_list') + '''</a></li>
+                        <li><a href="/inter_wiki">''' + load_lang('interwiki_list') + '''</a></li>
+                        <li><a href="/edit_top">''' + load_lang('edit_tool_list') + '''</a></li>
+                        <li><a href="/image_license">''' + load_lang('image_license_list') + '''</a></li>
+                        <li><a href="/email_filter">''' + load_lang('email_filter_list') + '''</a></li>
+                        <li><a href="/name_filter">''' + load_lang('id_filter_list') + '''</a></li>
+                        <li><a href="/file_filter">''' + load_lang('file_filter_list') + '''</a></li>
+                        <li><a href="/extension_filter">''' + load_lang('extension_filter_list') + '''</a></li>
+                    </ul>
+                    <h3>2.2. ''' + load_lang('server') + '''</h2>
+                    <ul class="inside_ul">
+                        <li><a href="/restart">''' + load_lang('wiki_restart') + '''</a></li>
+                        <li><a href="/shutdown">''' + load_lang('wiki_shutdown') + '''</a></li>
+                        <li><a href="/update">''' + load_lang('update') + '''</a></li>
+                    </ul>
+                    <h2>3. ''' + load_lang('version') + '''</h2>
+                    <ul class="inside_ul">
+                        <li>
+                            <a href="/api/skin_info?all=true">''' + load_lang('skin_info') + '''</a>
+                            <span id="need_skin_update"></span>
+                        </li>
+                        <li>''' + load_lang('version') + ' : ' + r_ver + '''</li>
+                        <li id="ver_send" style="display: none;">''' + load_lang('lastest') + ''' : </li>
+                    </ul>
+                </div>
+                <script>load_ver(); do_skin_ver_check(); simple_render('other_simple_render');</script>
             ''',
             menu = [['other', load_lang('return')]]
         ))

+ 3 - 1
route/view_read.py

@@ -139,8 +139,10 @@ def view_read_2(conn, name, doc_rev, doc_from):
         div = '''
             <div id="get_user_info"></div>
             <script>load_user_info("''' + user_name + '''");</script>
+            <hr class="main_hr">
         ''' + div
-        menu += [['w/' + url_pas(name) + '/' + url_pas(get_time().split()[0]), load_lang('today_doc')]]
+        if name == 'user:' + user_name:
+            menu += [['w/' + url_pas(name) + '/' + url_pas(get_time().split()[0]), load_lang('today_doc')]]
 
     curs.execute(db_change("select data from other where name = 'body'"))
     body = curs.fetchall()

+ 1 - 1
version.json

@@ -1,6 +1,6 @@
 {
     "beta" : {
-        "r_ver" : "v3.5.0-beta (stable1) (beta1) (dev3)",
+        "r_ver" : "v3.5.0-beta (stable1) (beta3) (dev4)",
         "c_ver" : "3500101",
         "s_ver" : "3500101"
     }

+ 5 - 3
views/main_css/js/load_shortcut.js

@@ -23,12 +23,14 @@ document.onkeypress = function(e) {
         }
 
         if(window.location.pathname.match(doc_shortcut)) {
+            let doc_href = window.location.pathname.replace(doc_shortcut, '');
+            doc_href = doc_href.replace(/%2Fdoc_from%2F(?:((?!%2F).)+)$/, '');
             if(shortcut_key_list['w'] === 1) {
-                window.location.pathname = window.location.pathname.replace(doc_shortcut, '/w/');
+                window.location.pathname = '/w/' + doc_href;
             } else if(shortcut_key_list['e'] === 1) {
-                window.location.pathname = window.location.pathname.replace(doc_shortcut, '/edit/');
+                window.location.pathname = '/edit/' + doc_href;
             } else if(shortcut_key_list['h'] === 1) {
-                window.location.pathname = window.location.pathname.replace(doc_shortcut, '/history/');
+                window.location.pathname = '/history/' + doc_href;
             }
         }
     }

+ 6 - 6
views/main_css/js/render_onmark.js

@@ -195,10 +195,10 @@ function do_onmark_heading_render(data, data_js, name_doc, name_include) {
             (toc_n === 1 ? '' : '</div>') +
             '<h' + heading_level + ' class="render_heading_text">' + 
                 '<a href="#toc" id="s-' + heading_level_string_no_end + '">' + heading_level_string + '</a> ' + 
-                heading_data_text + 
+                heading_data_text + ' ' +
                 '<a id="edit_load_' + String(toc_n) + '" ' +
                     'style="font-size: 70%;"' +
-                    'href="/edit/' + do_url_change(name_doc) + '?section=' + String(toc_n) + '">✎</a> ' +
+                    'href="/edit/' + do_url_change(name_doc) + '/doc_section/' + String(toc_n) + '">✎</a> ' +
                 '<a href="javascript:void(0);" ' +
                     'onclick="javascript:do_open_folding(\'' + name_include + 'in_data_' + String(toc_n) + '\', this);"' +
                     'style="font-size: 70%;">' + (heading_data[2] ? '⊕' : '⊖') + '</a>' +
@@ -565,8 +565,8 @@ function do_onmark_macro_render(data, data_js) {
             } else if(x_1 === 'nicovideo') {
                 var video_src = 'https://embed.nicovideo.jp/watch/' + video_code
             } else {
-				var video_src = 'https://tv.naver.com/embed/' + video_code
-			}
+                var video_src = 'https://tv.naver.com/embed/' + video_code
+            }
             
             return '<iframe style="width: ' + video_width + '; height: ' + video_height + ';" src="' + video_src + '" frameborder="0" allowfullscreen></iframe>';
         } else if(x_1 === 'anchor') {
@@ -1289,7 +1289,7 @@ function do_onmark_render(
     var data_js = '';
     var data_backlink = [];
     var data_nowiki = {};
-    
+
     var data_var = do_onmark_redirect_render(data, data_js, name_doc);
     data = data_var[0];
     data_js = data_var[1];
@@ -1317,7 +1317,7 @@ function do_onmark_render(
         data_nowiki = data_var[2];
 
         data = do_onmark_text_render(data);
-        data = do_onmark_heading_render(data, name_doc, name_include);
+        data = do_onmark_heading_render(data, data_js, name_doc, name_include);
         data = do_onmark_table_render(data);
 
         data_var = do_onmark_link_render(