Jelajahi Sumber

필요한 도구 다 넣은 API 테스트

잉여개발기 2 tahun lalu
induk
melakukan
a59d5fc387

+ 2 - 0
app.py

@@ -706,6 +706,8 @@ app.route('/api/recent_changes', defaults = { 'db_set' : db_set_str })(api_list_
 app.route('/api/recent_change/<int:limit>', defaults = { 'db_set' : db_set_str })(api_list_recent_change)
 app.route('/api/recent_change/<int:limit>/<set_type>/<int:num>', defaults = { 'db_set' : db_set_str })(api_list_recent_change)
 
+app.route('/api/new/recent_change/<int:limit>/<set_type>/<int:num>', defaults = { 'db_set' : db_set_str, 'legacy' : '' })(api_list_recent_change)
+
 app.route('/api/recent_edit_request', defaults = { 'db_set' : db_set_str })(api_list_recent_edit_request)
 app.route('/api/recent_edit_request/<int:limit>/<set_type>/<int:num>', defaults = { 'db_set' : db_set_str })(api_list_recent_edit_request)
 

+ 2 - 1
route/go_api_list_recent_change.py

@@ -1,10 +1,11 @@
 from .tool.func import *
 
-def api_list_recent_change(db_set, num = 1, set_type = 'normal', limit = 10):
+def api_list_recent_change(db_set, num = 1, set_type = 'normal', limit = 10, legacy = 'on'):
     other_set = {}
     other_set["num"] = str(num)
     other_set["limit"] = str(limit)
     other_set["set_type"] = set_type
+    other_set["legacy"] = legacy
     other_set["ip"] = ip_check()
     other_set = json.dumps(other_set)
 

+ 1 - 1
route/tool/func.py

@@ -1042,7 +1042,7 @@ def skin_check(conn, set_n = 0):
         return skin
     
 def cache_v():
-    return '.cache_v233'
+    return '.cache_v234'
 
 def wiki_css(data):
     global global_wiki_set

+ 1 - 2
route/tool/func_render_namumark.py

@@ -1483,8 +1483,7 @@ class class_do_render_namumark:
                             '',
                             footnote_data_org
                         )
-                        self.render_data_js += 'document.getElementById("' + rfn + '_over").addEventListener("mouseenter", function() { opennamu_do_footnote_popover("' + rfn + '", "' + fn + '"); });\n'
-                        self.render_data_js += 'document.getElementById("' + rfn + '_over").addEventListener("mouseleave", function() { opennamu_do_footnote_popover("' + rfn + '", "' + fn + '"); });\n'
+                        self.render_data_js += 'document.getElementById("' + rfn + '_over").addEventListener("click", function() { opennamu_do_footnote_popover("' + rfn + '", "' + fn + '"); });\n'
                     else:
                         data_name = self.get_tool_data_storage('<sup><a fn_target="' + fn + '" id="' + rfn + '" href="#' + fn + '">(' + foot_v_name + ')</a></sup>', '', footnote_data_org)
 

TEMPAT SAMPAH
route_go/bin/main.amd64.bin


TEMPAT SAMPAH
route_go/bin/main.amd64.exe


TEMPAT SAMPAH
route_go/bin/main.arm64.bin


TEMPAT SAMPAH
route_go/bin/main.arm64.exe


+ 28 - 1
route_go/route/api_list_recent_change.go

@@ -132,8 +132,35 @@ func Api_list_recent_change(call_arg []string) {
 
 	if len(data_list) == 0 {
 		fmt.Print("{}")
-	} else {
+	} else if other_set["legacy"] != "" {
 		json_data, _ := json.Marshal(data_list)
 		fmt.Print(string(json_data))
+	} else {
+		auth_name := tool.Get_user_auth(db, db_set, other_set["ip"])
+		auth_info := tool.Get_auth_group_info(db, db_set, auth_name)
+
+		return_data := make(map[string]interface{})
+		return_data["language"] = map[string]string{
+			"tool":           tool.Get_language(db, db_set, "tool", false),
+			"normal":         tool.Get_language(db, db_set, "normal", false),
+			"edit":           tool.Get_language(db, db_set, "edit", false),
+			"move":           tool.Get_language(db, db_set, "move", false),
+			"delete":         tool.Get_language(db, db_set, "delete", false),
+			"revert":         tool.Get_language(db, db_set, "revert", false),
+			"new_doc":        tool.Get_language(db, db_set, "new_doc", false),
+			"edit_request":   tool.Get_language(db, db_set, "edit_request", false),
+			"user_document":  tool.Get_language(db, db_set, "user_document", false),
+			"raw":            tool.Get_language(db, db_set, "raw", false),
+			"compare":        tool.Get_language(db, db_set, "compare", false),
+			"history":        tool.Get_language(db, db_set, "history", false),
+			"hide":           tool.Get_language(db, db_set, "hide", false),
+			"history_delete": tool.Get_language(db, db_set, "history_delete", false),
+			"send_edit":      tool.Get_language(db, db_set, "send_edit", false),
+		}
+		return_data["auth"] = auth_info
+		return_data["data"] = data_list
+
+		json_data, _ := json.Marshal(return_data)
+		fmt.Print(string(json_data))
 	}
 }

+ 109 - 124
views/main_css/js/route/list_recent_change.js

@@ -1,130 +1,115 @@
 "use strict";
 
 function opennamu_list_recent_change(num, set_type) {
-    let lang_data = new FormData();
-    // user_document -> 8
-    lang_data.append('data', 'tool normal edit move delete revert new_doc edit_request user_document raw revert compare history hide history_delete send_edit');
-
-    fetch('/api/lang', {
-        method : 'post',
-        body : lang_data,
-    }).then(function(res) {
+    fetch('/api/new/recent_change/50/' + set_type + '/' + String(num)).then(function(res) {
         return res.json();
-    }).then(function(lang) {
-        lang = lang["data"];
-        
-        fetch('/api/auth_list').then(function(res) {
-            return res.json();
-        }).then(function(auth) {
-            fetch('/api/recent_change/50/' + set_type + '/' + String(num)).then(function(res) {
-                return res.json();
-            }).then(function(data) {
-                let data_html = '';
-
-                let option_list = [
-                    ['normal', lang[1]],
-                    ['edit', lang[2]],
-                    ['move', lang[3]],
-                    ['delete', lang[4]],
-                    ['revert', lang[5]],
-                    ['r1', lang[6]],
-                    ['edit_request', lang[7]],
-                    ['user', lang[8]]
-                ];
-                for(let for_a = 0; for_a < option_list.length; for_a++) {
-                    data_html += '<a href="/recent_change/1/' + option_list[for_a][0] + '">(' + option_list[for_a][1] + ')</a> ';
-                }
-
-                data_html += '<hr class="main_hr">'
-
-                for(let for_a = 0; for_a < data.length; for_a++) {
-                    if(data[for_a][6] !== "" && data[for_a][1] === "") {
-                        data_html += '<div class="opennamu_recent_change">----</div>';
-                        data_html += '<hr class="main_hr">';
-
-                        continue;
-                    }
-
-                    let doc_name = opennamu_do_url_encode(data[for_a][1]);
-
-                    data_html += '<div class="opennamu_recent_change">';
-                    data_html += '<a href="/w/' + doc_name + '">' + opennamu_xss_filter(data[for_a][1]) + '</a> ';
-
-                    data_html += '<div style="float: right;">';
-
-                    data_html += '<span id="opennamu_list_recent_change_' + String(for_a) + '_over">';
-                    data_html += '<a id="opennamu_list_recent_change_' + String(for_a) + '" href="javascript:void(0);">';
-                    data_html += '⚒️';
-                    data_html += '</a>';
-                    data_html += '<span class="opennamu_popup_footnote" id="opennamu_list_recent_change_' + String(for_a) + '_load" style="display: none;"></span>';
-                    data_html += '</span>';
-                    data_html += ' | '
-
-                    if(data[for_a][6] !== "") {
-                        data_html += '<span style="color: red;">r' + data[for_a][0] + '</span>';
-                    } else {
-                        data_html += 'r' + data[for_a][0];
-                    }
-                    data_html += ' | '
-                    
-                    if(data[for_a][5] === '0') {
-                        data_html += '<span style="color: gray;">' + data[for_a][5] + '</span>';
-                    } else if(data[for_a][5].match(/\+/)) {
-                        data_html += '<span style="color: green;">' + data[for_a][5] + '</span>';
-                    } else {
-                        data_html += '<span style="color: red;">' + data[for_a][5] + '</span>';
-                    }
-                    data_html += ' | ';
-                    
-                    data_html += data[for_a][7] + ' | ';
-                    data_html += data[for_a][2];
-                    
-                    data_html += '<span style="display: none;" id="opennamu_history_tool_' + String(for_a) + '">';
-
-                    data_html += '<a href="/raw_rev/' + data[for_a][0] + '/' + doc_name + '">' + lang[9] + '</a>';
-                    data_html += ' | <a href="/revert/' + data[for_a][0] + '/' + doc_name + '">' + lang[10] + ' (r' + data[for_a][0] + ')</a>';
-                    if(Number(data[for_a][0]) > 1) {
-                        let before_rev = String(Number(data[for_a][0]) - 1);
-                        data_html += ' | <a href="/revert/' + before_rev + '/' + doc_name + '">' + lang[10] + ' (r' + before_rev + ')</a>';
-                        data_html += ' | <a href="/diff/' + before_rev + '/' + data[for_a][0] + '/' + doc_name + '">' + lang[11] + '</a>';
-                    }
-                    data_html += ' | <a href="/history/' + doc_name + '">' + lang[12] + '</a>';
-
-                    if(auth["owner"] === true || auth["hidel"] === true) {
-                        data_html += ' | <a href="/history_hidden/' + data[for_a][0] + '/' + doc_name + '">' + lang[13] + '</a>';
-                    }
-
-                    if(auth["owner"] === true) {
-                        data_html += ' | <a href="/history_delete/' + data[for_a][0] + '/' + doc_name + '">' + lang[14] + '</a>';
-                        data_html += ' | <a href="/history_send/' + data[for_a][0] + '/' + doc_name + '">' + lang[15] + '</a>';
-                    }
-
-                    data_html += '</span>';
-                    
-                    data_html += '</div>'
-                    data_html += '<div style="clear: both;"></div>';
-
-                    if(data[for_a][4] !== "") {
-                        data_html += '<hr>'
-                        data_html += opennamu_send_render(opennamu_xss_filter(data[for_a][4]));
-                    }
-
-                    data_html += '</div>';
-                    data_html += '<hr class="main_hr">';
-                }
-
-                data_html += opennamu_page_control('/recent_change/{}/' + set_type, 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)); });
-                }
-            });
-        });
+    }).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'];
+        for(let for_a = 0; for_a < option_list.length; for_a++) {
+            let lang_in = option_list[for_a];
+            if(lang_in === 'user') {
+                lang_in = lang['user_document'];
+            } else if(lang_in !== 'r1') {
+                lang_in = lang[lang_in];
+            }
+
+            data_html += '<a href="/recent_change/1/' + option_list[for_a] + '">(' + lang_in + ')</a> ';
+        }
+
+        data_html += '<hr class="main_hr">'
+
+        for(let for_a = 0; for_a < data.length; for_a++) {
+            if(data[for_a][6] !== "" && data[for_a][1] === "") {
+                data_html += '<div class="opennamu_recent_change">----</div>';
+                data_html += '<hr class="main_hr">';
+
+                continue;
+            }
+
+            let doc_name = opennamu_do_url_encode(data[for_a][1]);
+
+            data_html += '<div class="opennamu_recent_change">';
+            data_html += '<a href="/w/' + doc_name + '">' + opennamu_xss_filter(data[for_a][1]) + '</a> ';
+
+            data_html += '<div style="float: right;">';
+
+            data_html += '<span id="opennamu_list_recent_change_' + String(for_a) + '_over">';
+            data_html += '<a id="opennamu_list_recent_change_' + String(for_a) + '" href="javascript:void(0);">';
+            data_html += '⚒️';
+            data_html += '</a>';
+            data_html += '<span class="opennamu_popup_footnote" id="opennamu_list_recent_change_' + String(for_a) + '_load" style="display: none;"></span>';
+            data_html += '</span>';
+            data_html += ' | '
+
+            if(data[for_a][6] !== "") {
+                data_html += '<span style="color: red;">r' + data[for_a][0] + '</span>';
+            } else {
+                data_html += 'r' + data[for_a][0];
+            }
+            data_html += ' | '
+            
+            if(data[for_a][5] === '0') {
+                data_html += '<span style="color: gray;">' + data[for_a][5] + '</span>';
+            } else if(data[for_a][5].match(/\+/)) {
+                data_html += '<span style="color: green;">' + data[for_a][5] + '</span>';
+            } else {
+                data_html += '<span style="color: red;">' + data[for_a][5] + '</span>';
+            }
+            data_html += ' | ';
+            
+            data_html += data[for_a][7] + ' | ';
+            data_html += data[for_a][2];
+            
+            data_html += '<span style="display: none;" id="opennamu_history_tool_' + String(for_a) + '">';
+
+            data_html += '<a href="/raw_rev/' + data[for_a][0] + '/' + doc_name + '">' + lang['raw'] + '</a>';
+            data_html += ' | <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);
+                data_html += ' | <a href="/revert/' + before_rev + '/' + doc_name + '">' + lang['revert'] + ' (r' + before_rev + ')</a>';
+                data_html += ' | <a href="/diff/' + before_rev + '/' + data[for_a][0] + '/' + doc_name + '">' + lang['compare'] + '</a>';
+            }
+            data_html += ' | <a href="/history/' + doc_name + '">' + lang['history'] + '</a>';
+
+            if(auth["owner"] === true || auth["hidel"] === true) {
+                data_html += ' | <a href="/history_hidden/' + data[for_a][0] + '/' + doc_name + '">' + lang['hide'] + '</a>';
+            }
+
+            if(auth["owner"] === true) {
+                data_html += ' | <a href="/history_delete/' + data[for_a][0] + '/' + doc_name + '">' + lang['history_delete'] + '</a>';
+                data_html += ' | <a href="/history_send/' + data[for_a][0] + '/' + doc_name + '">' + lang['send_edit'] + '</a>';
+            }
+
+            data_html += '</span>';
+            
+            data_html += '</div>'
+            data_html += '<div style="clear: both;"></div>';
+
+            if(data[for_a][4] !== "") {
+                data_html += '<hr>'
+                data_html += opennamu_send_render(opennamu_xss_filter(data[for_a][4]));
+            }
+
+            data_html += '</div>';
+            data_html += '<hr class="main_hr">';
+        }
+
+        data_html += opennamu_page_control('/recent_change/{}/' + set_type, 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)); });
+        }
     });
 }