Browse Source

하나 더 폐지

잉여개발기 1 year ago
parent
commit
ab5365104d

+ 8 - 8
app.py

@@ -605,9 +605,9 @@ app.route('/recent_block/private/<int:num>', defaults = { 'tool' : 'private' })(
 app.route('/recent_block/ongoing', defaults = { 'tool' : 'ongoing' })(list_recent_block)
 app.route('/recent_block/ongoing/<int:num>', defaults = { 'tool' : 'ongoing' })(list_recent_block)
 
-app.route('/recent_change')(list_recent_change)
-app.route('/recent_changes')(list_recent_change)
-app.route('/recent_change/<int:num>/<set_type>')(list_recent_change)
+app.route('/recent_change', defaults = { 'tool' : 'recent_change' })(list_history)
+app.route('/recent_changes', defaults = { 'tool' : 'recent_change' })(list_history)
+app.route('/recent_change/<int:num>/<set_type>', defaults = { 'tool' : 'recent_change' })(list_history)
 
 app.route('/recent_discuss', defaults = { 'tool' : 'normal' })(list_recent_discuss)
 app.route('/recent_discuss/<int:num>/<tool>')(list_recent_discuss)
@@ -831,10 +831,10 @@ app.route('/api/search_page/<int:num>/<everything:name>')(api_func_search_exter)
 app.route('/api/search_data/<everything:name>', defaults = { 'search_type' : 'data' })(api_func_search_exter)
 app.route('/api/search_data_page/<int:num>/<everything:name>', defaults = { 'search_type' : 'data' })(api_func_search_exter)
 
-app.route('/api/recent_change')(api_list_recent_change)
-app.route('/api/recent_changes')(api_list_recent_change)
-app.route('/api/recent_change/<int:limit>')(api_list_recent_change)
-app.route('/api/recent_change/<int:limit>/<set_type>/<int:num>')(api_list_recent_change)
+app.route('/api/recent_change')(api_list_recent_change_exter)
+app.route('/api/recent_changes')(api_list_recent_change_exter)
+app.route('/api/recent_change/<int:limit>')(api_list_recent_change_exter)
+app.route('/api/recent_change/<int:limit>/<set_type>/<int:num>')(api_list_recent_change_exter)
 
 app.route('/api/recent_edit_request')(api_list_recent_edit_request)
 app.route('/api/recent_edit_request/<int:limit>/<set_type>/<int:num>')(api_list_recent_edit_request)
@@ -852,7 +852,7 @@ app.route('/api/image/<everything:name>')(api_image_view)
 
 ## v2 API
 app.route('/api/v2/recent_edit_request/<set_type>/<int:num>', defaults = { 'limit' : 50 })(api_list_recent_edit_request)
-app.route('/api/v2/recent_change/<set_type>/<int:num>', defaults = { 'legacy' : '', 'limit' : 50 })(api_list_recent_change)
+app.route('/api/v2/recent_change/<set_type>/<int:num>', defaults = { 'legacy' : '', 'limit' : 50 })(api_list_recent_change_exter)
 app.route('/api/v2/recent_discuss/<set_type>/<int:num>', defaults = { 'legacy' : '', 'limit' : 50 })(api_list_recent_discuss)
 app.route('/api/v2/recent_block/<set_type>/<int:num>')(api_list_recent_block)
 app.route('/api/v2/recent_block/<set_type>/<int:num>/<everything:why>')(api_list_recent_block)

+ 1 - 2
route/__init__.py

@@ -157,7 +157,6 @@ from route.vote_end import vote_end
 from route.vote_list import vote_list
 from route.vote_select import vote_select
 
-from route.n_list_recent_change import list_recent_change
 from route.n_list_recent_discuss import list_recent_discuss
 from route.n_list_recent_block import list_recent_block
 from route.n_list_user_check_submit import list_user_check_submit
@@ -189,7 +188,7 @@ from route.go_api_func_search import api_func_search, api_func_search_exter
 
 from route.go_api_give_auth import api_give_auth
 
-from route.go_api_list_recent_change import api_list_recent_change
+from route.go_api_list_recent_change import api_list_recent_change, api_list_recent_change_exter
 from route.go_api_list_recent_discuss import api_list_recent_discuss
 from route.go_api_list_recent_block import api_list_recent_block
 from route.go_api_list_recent_edit_request import api_list_recent_edit_request, api_list_recent_edit_request_exter

+ 4 - 1
route/go_api_list_recent_change.py

@@ -8,7 +8,10 @@ async def api_list_recent_change(num = 1, set_type = 'normal', limit = 10, legac
     other_set["legacy"] = legacy
     other_set["ip"] = ip_check()
 
-    response = flask.make_response(flask.jsonify(await python_to_golang(sys._getframe().f_code.co_name, other_set)))
+    return await python_to_golang(sys._getframe().f_code.co_name, other_set)
+
+async def api_list_recent_change_exter(num = 1, set_type = 'normal', limit = 10, legacy = 'on'):
+    response = flask.make_response(flask.jsonify(await api_list_recent_change(num, set_type, limit, legacy)))
     
     response.headers.add("Access-Control-Allow-Origin", "*")
     response.headers.add('Access-Control-Allow-Headers', "Content-Type")

+ 40 - 20
route/list_history.py

@@ -1,6 +1,7 @@
 from .tool.func import *
 
 from .go_api_list_history import api_list_history
+from .go_api_list_recent_change import api_list_recent_change
 
 from .recent_change import recent_change_send_render
 
@@ -12,7 +13,7 @@ async def option_lang(lang_in, lang):
     
     return lang_in
 
-async def list_history(num = 1, set_type = 'normal', doc_name = 'Test'):
+async def list_history(tool = 'history', num = 1, set_type = 'normal', doc_name = 'Test'):
     with get_db_connect() as conn:
         if flask.request.method == 'POST':
             a = flask.request.form.get('a')
@@ -20,7 +21,18 @@ async def list_history(num = 1, set_type = 'normal', doc_name = 'Test'):
 
             return redirect(conn, f'/diff/{b}/{a}/{doc_name}')
         else:
-            data = await api_list_history(num, set_type, doc_name)
+            if tool == "history":
+                data = await api_list_history(num, set_type, doc_name)
+
+                title = doc_name
+                sub = '(' + get_lang(conn, 'history') + ')'
+                menu = [['other', get_lang(conn, 'return')], ['history_add/' + url_pas(doc_name), get_lang(conn, 'history_add')], ['history_reset/' + url_pas(doc_name), get_lang(conn, 'history_reset')]]
+            else:
+                data = await api_list_recent_change(num, set_type, 50, '')
+
+                title = get_lang(conn, 'recent_change')
+                sub = '(' + get_lang(conn, set_type) + ')'
+                menu = [['other', get_lang(conn, 'return')], ['recent_edit_request', get_lang(conn, 'edit_request')]]
 
             lang = data["language"]
             auth = data["auth"]
@@ -28,10 +40,16 @@ async def list_history(num = 1, set_type = 'normal', doc_name = 'Test'):
             
             data_html = ''
 
-            option_list = ['normal', 'edit', 'move', 'delete', 'revert', 'r1', 'setting']
-            for option in option_list:
-                label = await option_lang(option, lang)
-                data_html += f'<a href="/history_page/1/{option}/{doc_name}">({label})</a> '
+            if tool == "history":
+                option_list = ['normal', 'edit', 'move', 'delete', 'revert', 'r1', 'setting']
+                for option in option_list:
+                    label = await option_lang(option, lang)
+                    data_html += f'<a href="/history_page/1/{option}/{doc_name}">({label})</a> '
+            else:
+                option_list = ['normal', 'edit', 'move', 'delete', 'revert', 'r1', 'edit_request', 'user', 'file', 'category']
+                for option in option_list:
+                    label = await option_lang(option, lang)
+                    data_html += f'<a href="/recent_change/1/{option}">({label})</a> '
 
             date_heading = ''
             select = ''
@@ -45,7 +63,7 @@ async def list_history(num = 1, set_type = 'normal', doc_name = 'Test'):
                     data_html += await opennamu_make_list('----', '', '', '')
                     continue
 
-                left = ''
+                left = '<a href="/w/' + doc_name + '">' + html.escape(data[for_a][1]) + '</a> '
                 rev = ''
 
                 if data[for_a][6] != "":
@@ -59,13 +77,12 @@ async def list_history(num = 1, set_type = 'normal', doc_name = 'Test'):
                     before_rev = str(int(data[for_a][0]) - 1)
                     rev = f'<a href="/diff/{before_rev}/{data[for_a][0]}/{doc_name}">{rev}</a>'
 
-                left += rev
-
                 right = f'<span id="opennamu_list_history_{for_a}_over">'
                 right += f'<a id="opennamu_list_history_{for_a}" href="javascript:void(0);">'
                 right += '<span class="opennamu_svg opennamu_svg_tool">&nbsp;</span></a>'
                 right += f'<span class="opennamu_popup_footnote" id="opennamu_list_history_{for_a}_load" style="display: none;"></span>'
                 right += '</span> | '
+                right += rev + ' | '
 
                 diff_size = data[for_a][5]
                 if diff_size == '0':
@@ -127,18 +144,21 @@ async def list_history(num = 1, set_type = 'normal', doc_name = 'Test'):
                     </script>
                 '''
 
-            data_html+= get_next_page_bottom(conn, f'/recent_change/{{}}/{set_type}', num, data)
-            data_html = (
-                '<form method="post">'
-                f'<select name="a">{select}</select> '
-                f'<select name="b">{select}</select> '
-                f'<button type="submit">{lang["compare"]}</button>'
-                '</form>'
-                '<hr class="main_hr"></hr>' + data_html
-            )
+            if tool == "history":
+                data_html += get_next_page_bottom(conn, f'/history_page/{{}}/{set_type}/{doc_name}', num, data)
+                data_html = (
+                    '<form method="post">'
+                    f'<select name="a">{select}</select> '
+                    f'<select name="b">{select}</select> '
+                    f'<button type="submit">{lang["compare"]}</button>'
+                    '</form>'
+                    '<hr class="main_hr"></hr>' + data_html
+                )
+            else:
+                data_html += get_next_page_bottom(conn, f'/recent_change/{{}}/{set_type}', num, data)
 
             return easy_minify(conn, flask.render_template(skin_check(conn),
-                imp = [doc_name, wiki_set(conn), await wiki_custom(conn), wiki_css(['(' + get_lang(conn, 'history') + ')', 0])],
+                imp = [title, wiki_set(conn), await wiki_custom(conn), wiki_css([sub, 0])],
                 data = data_html,
-                menu = [['other', get_lang(conn, 'return')], ['history_add/' + url_pas(doc_name), get_lang(conn, 'history_add')], ['history_reset/' + url_pas(doc_name), get_lang(conn, 'history_reset')]]
+                menu = menu
             ))

+ 0 - 13
route/n_list_recent_change.py

@@ -1,13 +0,0 @@
-from .tool.func import *
-
-async def list_recent_change(num = 1, set_type = 'normal'):
-    with get_db_connect() as conn:
-        return easy_minify(conn, flask.render_template(skin_check(conn),
-            imp = [get_lang(conn, 'recent_change'), wiki_set(conn), await wiki_custom(conn), wiki_css(['(' + get_lang(conn, set_type) + ')', 0])],
-            data = '' + \
-                '<div id="opennamu_list_recent_change"></div>' + \
-                '<script defer src="/views/main_css/js/route/list_recent_change.js' + cache_v() + '"></script>' + \
-                '<script>window.addEventListener("DOMContentLoaded", function() { opennamu_list_recent_change(); });</script>' + \
-            '',
-            menu = [['other', get_lang(conn, 'return')], ['recent_edit_request', get_lang(conn, 'edit_request')]]
-        ))

+ 3 - 4
route/tool/func.py

@@ -1176,7 +1176,7 @@ def get_lang_name(conn, tool = ''):
 
 def get_lang(conn, data, safe = 0):
     lang_name = get_lang_name(conn)
-    
+
     if (lang_name + '_' + data) in global_lang_data:
         if safe == 1:
             return global_lang_data[lang_name + '_' + data]
@@ -1187,8 +1187,8 @@ def get_lang(conn, data, safe = 0):
         if (lang_name + '.json') in lang_list:
             lang = orjson.loads(open(os.path.join('lang', lang_name + '.json'), encoding = 'utf8').read())
             
-            for data in lang:
-                global_lang_data[lang_name + '_' + data] = lang[data] 
+            for title in lang:
+                global_lang_data[lang_name + '_' + title] = lang[title] 
         else:
             lang = {}
 
@@ -1274,7 +1274,6 @@ def wiki_css(data):
         data_css += '<script defer src="/views/main_css/js/func/insert_http_warning_text.js' + data_css_ver + '"></script>'
         
         data_css += '<script defer src="/views/main_css/js/func/ie_end_of_life.js' + data_css_ver + '"></script>'
-        data_css += '<script defer src="/views/main_css/js/func/shortcut.js' + data_css_ver + '"></script>'
         data_css += '<script defer src="/views/main_css/js/func/editor.js' + data_css_ver + '"></script>'
         data_css += '<script defer src="/views/main_css/js/func/render.js' + data_css_ver + '"></script>'
         

+ 0 - 166
views/main_css/js/route/list_recent_change.js

@@ -1,166 +0,0 @@
-"use strict";
-
-function opennamu_list_recent_change() {
-    const option_lang = function(lang_in, lang) {
-        if(lang_in === 'user') {
-            lang_in = lang['user_document'];
-        } else if(lang[lang_in] !== undefined) {
-            lang_in = lang[lang_in];
-        }
-    
-        return lang_in;
-    }
-
-    const url = window.location.pathname;
-    const url_split = url.split('/');
-    
-    let set_type = '';
-    let num = '';
-    if(url_split.length === 2) {
-        set_type = 'normal';
-        num = '1';
-    } else {
-        set_type = url_split[3];
-        num = url_split[2];
-    }
-
-    fetch('/api/v2/recent_change/' + set_type + '/' + num).then(function(res) {
-        return res.json();
-    }).then(function(data) {
-        let lang = data["language"];
-        let auth = data["auth"];
-        data = data["data"];
-
-        let data_html = '';
-
-        let option_list = ['normal', 'edit', 'move', 'delete', 'revert', 'r1', 'edit_request', 'user', 'file', 'category'];
-        for(let for_a = 0; for_a < option_list.length; for_a++) {
-            data_html += '<a href="/recent_change/1/' + option_list[for_a] + '">(' + option_lang(option_list[for_a], lang) + ')</a> ';
-        }
-
-        if(auth["hidel"] === true) {
-            data_html += '<hr class="main_hr">';
-            
-            data_html += '<a id="opennamu_list_admin_tool_button" href="javascript:void(0);">(' + lang["admin_tool"] + ')</a>';
-
-            data_html += '<span id="opennamu_list_admin_tool" style="display: none;">';
-            data_html += 'test';
-            data_html += '</span>';
-
-            data_html += '<span class="opennamu_popup_footnote" style="display: none;" id="opennamu_list_admin_tool_button_load">';
-            data_html += '</span>';
-        }
-
-        let date_heading = '';
-        for(let for_a = 0; for_a < data.length; for_a++) {
-            if(data[for_a][6] !== "" && data[for_a][1] === "") {
-                if(date_heading !== '----') {
-                    data_html += '<h2>----</h2>';
-                    date_heading = '----';
-                }
-
-                data_html += opennamu_make_list('----', '', '', '');
-
-                continue;
-            }
-
-            let doc_name = opennamu_do_url_encode(data[for_a][1]);
-            
-            let left = '<a href="/w/' + doc_name + '">' + opennamu_xss_filter(data[for_a][1]) + '</a> ';
-
-            let right = '<span id="opennamu_list_recent_change_' + String(for_a) + '_over">';
-
-            right += '<a id="opennamu_list_recent_change_' + String(for_a) + '" href="javascript:void(0);">';
-            right += '<span class="opennamu_svg opennamu_svg_tool">&nbsp;</span>';
-            right += '</a>';
-            right += '<span class="opennamu_popup_footnote" id="opennamu_list_recent_change_' + String(for_a) + '_load" style="display: none;"></span>';
-            right += '</span>';
-            right += ' | ';
-
-            let rev = '';
-            if(data[for_a][6] !== "") {
-                rev += '<span style="color: red;">r' + data[for_a][0] + '</span>';
-            } else {
-                rev += 'r' + data[for_a][0];
-            }
-
-            if(Number(data[for_a][0]) > 1) {
-                let before_rev = String(Number(data[for_a][0]) - 1);
-                rev = '<a href="/diff/' + before_rev + '/' + data[for_a][0] + '/' + doc_name + '">' + rev + '</a>';
-            }
-
-            right += rev + ' | ';
-            
-            if(data[for_a][5] === '0') {
-                right += '<span style="color: gray;">' + data[for_a][5] + '</span>';
-            } else if(data[for_a][5].match(/\+/)) {
-                right += '<span style="color: green;">' + data[for_a][5] + '</span>';
-            } else {
-                right += '<span style="color: red;">' + data[for_a][5] + '</span>';
-            }
-            right += ' | ';
-            
-            right += data[for_a][7] + ' | ';
-            
-            let edit_type = 'edit';
-            if(data[for_a][8] !== '') {
-                edit_type = data[for_a][8];
-            }
-
-            right += option_lang(edit_type, lang) + ' | ';
-
-            let time_split = data[for_a][2].split(' ');
-
-            if(date_heading !== time_split[0]) {
-                data_html += '<h2>' + time_split[0] + '</h2>';
-                date_heading = time_split[0];
-            }
-
-            if(time_split.length > 1) {
-                right += time_split[1];
-            }
-            
-            right += '<span style="display: none;" id="opennamu_history_tool_' + String(for_a) + '">';
-
-            right += '<a href="/raw_rev/' + data[for_a][0] + '/' + doc_name + '">' + lang['raw'] + '</a>';
-            right += ' | <a href="/revert/' + data[for_a][0] + '/' + doc_name + '">' + lang['revert'] + ' (r' + data[for_a][0] + ')</a>';
-            if(Number(data[for_a][0]) > 1) {
-                let before_rev = String(Number(data[for_a][0]) - 1);
-                right += ' | <a href="/revert/' + before_rev + '/' + doc_name + '">' + lang['revert'] + ' (r' + before_rev + ')</a>';
-                right += ' | <a href="/diff/' + before_rev + '/' + data[for_a][0] + '/' + doc_name + '">' + lang['compare'] + '</a>';
-            }
-            right += ' | <a href="/history/' + doc_name + '">' + lang['history'] + '</a>';
-
-            if(auth["hidel"] === true) {
-                right += ' | <a href="/history_hidden/' + data[for_a][0] + '/' + doc_name + '">' + lang['hide'] + '</a>';
-            }
-
-            if(auth["owner"] === true) {
-                right += ' | <a href="/history_delete/' + data[for_a][0] + '/' + doc_name + '">' + lang['history_delete'] + '</a>';
-                right += ' | <a href="/history_send/' + data[for_a][0] + '/' + doc_name + '">' + lang['send_edit'] + '</a>';
-            }
-
-            right += '</span>';
-            
-            let bottom = '';
-            if(data[for_a][4] !== "") {
-                bottom = opennamu_send_render(opennamu_xss_filter(data[for_a][4]));
-            }
-
-            data_html += opennamu_make_list(left, right, bottom);
-        }
-
-        data_html += opennamu_page_control('/recent_change/{}/' + set_type, Number(num), data.length);
-
-        document.getElementById('opennamu_list_recent_change').innerHTML = data_html;
-
-        for(let for_a = 0; for_a < data.length; for_a++) {
-            if(data[for_a][6] !== "" && data[for_a][1] === "") {
-                continue;
-            }
-
-            document.getElementById('opennamu_list_recent_change_' + String(for_a)).addEventListener("click", function() { opennamu_do_footnote_popover('opennamu_list_recent_change_' + String(for_a), '', 'opennamu_history_tool_' + String(for_a), 'open'); });
-            document.addEventListener("click", function() { opennamu_do_footnote_popover('opennamu_list_recent_change_' + String(for_a), '', 'opennamu_history_tool_' + String(for_a), 'close'); });
-        }
-    });
-}