Pārlūkot izejas kodu

역사도 Golang 기반으로 수정

잉여개발기 1 gadu atpakaļ
vecāks
revīzija
60d4e905fd

+ 2 - 2
app.py

@@ -533,8 +533,8 @@ app.route('/record/topic/<name>')(recent_record_topic)
 app.route('/record/bbs/<name>', defaults = { 'tool' : 'record' })(bbs_w)
 app.route('/record/bbs_comment/<name>', defaults = { 'tool' : 'comment_record' })(bbs_w)
 
-app.route('/history/<everything:name>', defaults = { 'tool' : 'history' }, methods = ['POST', 'GET'])(recent_change)
-app.route('/history_page/<int:num>/<set_type>/<everything:name>', defaults = { 'tool' : 'history' }, methods = ['POST', 'GET'])(recent_change)
+app.route('/history/<everything:doc_name>', methods = ['POST', 'GET'])(list_history)
+app.route('/history_page/<int:num>/<set_type>/<everything:doc_name>', methods = ['POST', 'GET'])(list_history)
 
 app.route('/history_tool/<int(signed = True):rev>/<everything:name>')(recent_history_tool)
 app.route('/history_delete/<int(signed = True):rev>/<everything:name>', methods = ['POST', 'GET'])(recent_history_delete)

+ 1 - 0
route/__init__.py

@@ -162,6 +162,7 @@ from route.n_list_recent_discuss import list_recent_discuss
 from route.n_list_recent_block import list_recent_block
 from route.n_list_old_page import list_old_page
 from route.n_list_user_check_submit import list_user_check_submit
+from route.n_list_history import list_history
 
 from route.n_bbs_in import bbs_in
 from route.n_bbs_set import bbs_set

+ 0 - 2
route/n_list_history.py

@@ -2,8 +2,6 @@ from .tool.func import *
 
 def list_history(num = 1, set_type = 'normal', doc_name = 'Test'):
     with get_db_connect() as conn:
-        
-
         return easy_minify(conn, flask.render_template(skin_check(conn),
             imp = [doc_name, wiki_set(conn), wiki_custom(conn), wiki_css(['(' + get_lang(conn, 'history') + ')', 0])],
             data = '' + \

BIN
route_go/bin/main.amd64.bin


BIN
route_go/bin/main.amd64.exe


BIN
route_go/bin/main.arm64.bin


BIN
route_go/bin/main.arm64.exe


+ 2 - 0
route_go/main.go

@@ -97,6 +97,8 @@ func main() {
 		route_data = route.Api_bbs_w_comment_one(call_arg[1:])
 	} else if call_arg[0] == "api_bbs_w_comment" {
 		route_data = route.Api_bbs_w_comment(call_arg[1:])
+	} else if call_arg[0] == "api_list_history" {
+		route_data = route.Api_list_history(call_arg[1:])
 	} else {
 		log.Fatal(call_arg[0] + " is 404")
 	}

+ 20 - 1
route_go/route/api_list_history.go

@@ -114,7 +114,26 @@ func Api_list_history(call_arg []string) string {
 	auth_info := tool.Get_auth_group_info(db, auth_name)
 
 	return_data := make(map[string]interface{})
-	return_data["language"] = map[string]string{}
+	return_data["language"] = map[string]string{
+		"tool":           tool.Get_language(db, "tool", false),
+		"normal":         tool.Get_language(db, "normal", false),
+		"edit":           tool.Get_language(db, "edit", false),
+		"move":           tool.Get_language(db, "move", false),
+		"delete":         tool.Get_language(db, "delete", false),
+		"revert":         tool.Get_language(db, "revert", false),
+		"new_doc":        tool.Get_language(db, "new_doc", false),
+		"edit_request":   tool.Get_language(db, "edit_request", false),
+		"user_document":  tool.Get_language(db, "user_document", false),
+		"raw":            tool.Get_language(db, "raw", false),
+		"compare":        tool.Get_language(db, "compare", false),
+		"history":        tool.Get_language(db, "history", false),
+		"hide":           tool.Get_language(db, "hide", false),
+		"history_delete": tool.Get_language(db, "history_delete", false),
+		"send_edit":      tool.Get_language(db, "send_edit", false),
+		"file":           tool.Get_language(db, "file", false),
+		"category":       tool.Get_language(db, "category", false),
+		"setting":        tool.Get_language(db, "setting", false),
+	}
 	return_data["data"] = data_list
 	return_data["auth"] = auth_info
 

+ 1 - 1
version.json

@@ -1,6 +1,6 @@
 {
     "beta" : {
-        "r_ver" : "v3.5.0-v174",
+        "r_ver" : "v3.5.0-v175",
         "c_ver" : "20240513",
         "s_ver" : "20240426"
     }

+ 49 - 24
views/main_css/js/route/list_history.js

@@ -1,6 +1,23 @@
 "use strict";
 
-function opennamu_list_recent_change() {
+function opennamu_list_history_post() {
+    const url = window.location.pathname;
+    const url_split = url.split('/');
+
+    let doc_name = '';
+    if(url_split[1] === 'history') {
+        doc_name = url_split.slice(2).join('/');
+    } else {
+        doc_name = url_split.slice(4).join('/');
+    }
+
+    let a = document.getElementById('opennamu_list_history_a').value;
+    let b = document.getElementById('opennamu_list_history_b').value;
+
+    window.location.pathname = '/diff/' + b + '/' + a + '/' + doc_name;
+}
+
+function opennamu_list_history() {
     const option_lang = function(lang_in, lang) {
         if(lang_in === 'user') {
             lang_in = lang['user_document'];
@@ -16,15 +33,18 @@ function opennamu_list_recent_change() {
     
     let set_type = '';
     let num = '';
-    if(url_split.length === 2) {
+    let doc_name = '';
+    if(url_split[1] === 'history') {
         set_type = 'normal';
         num = '1';
+        doc_name = url_split.slice(2).join('/');
     } else {
         set_type = url_split[3];
         num = url_split[2];
+        doc_name = url_split.slice(4).join('/');
     }
 
-    fetch('/api/v2/recent_change/' + set_type + '/' + num).then(function(res) {
+    fetch('/api/v2/history/' + num + '/' + set_type + '/' + doc_name).then(function(res) {
         return res.json();
     }).then(function(data) {
         let lang = data["language"];
@@ -33,14 +53,13 @@ function opennamu_list_recent_change() {
 
         let data_html = '';
 
-        let option_list = ['normal', 'edit', 'move', 'delete', 'revert', 'r1', 'edit_request', 'user', 'file', 'category'];
+        let option_list = ['normal', 'edit', 'move', 'delete', 'revert', 'r1', 'setting'];
         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> ';
+            data_html += '<a href="/history_page/1/' + option_list[for_a] + '/' + doc_name + '">(' + option_lang(option_list[for_a], lang) + ')</a> ';
         }
 
-        data_html += '<hr class="main_hr">';
-
         let date_heading = '';
+        let select = '';
         for(let for_a = 0; for_a < data.length; for_a++) {
             if(data[for_a][6] !== "" && data[for_a][1] === "") {
                 data_html += opennamu_make_list('----');
@@ -48,19 +67,7 @@ function opennamu_list_recent_change() {
                 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 left = '';
             let rev = '';
             if(data[for_a][6] !== "") {
                 rev += '<span style="color: red;">r' + data[for_a][0] + '</span>';
@@ -68,12 +75,23 @@ function opennamu_list_recent_change() {
                 rev += 'r' + data[for_a][0];
             }
 
+            select += '<option value="' + data[for_a][0] + '">' + data[for_a][0] + '</option>';
+
             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 + ' | ';
+            left += rev;
+
+            let right = '<span id="opennamu_list_history_' + String(for_a) + '_over">';
+
+            right += '<a id="opennamu_list_history_' + 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_history_' + String(for_a) + '_load" style="display: none;"></span>';
+            right += '</span>';
+            right += ' | ';
             
             if(data[for_a][5] === '0') {
                 right += '<span style="color: gray;">' + data[for_a][5] + '</span>';
@@ -135,16 +153,23 @@ function opennamu_list_recent_change() {
         }
 
         data_html += opennamu_page_control('/recent_change/{}/' + set_type, Number(num), data.length);
+        data_html = '' +
+            '<form method="post">' +
+                '<select id="opennamu_list_history_a">' + select + '</select> <select id="opennamu_list_history_b">' + select + '</select> ' +
+                '<button onclick="opennamu_list_history_post();" type="button">' + lang["compare"] + '</button>' +
+            '</form>' +
+            '<hr class="main_hr"></hr>' +
+        '' + data_html;
 
-        document.getElementById('opennamu_list_recent_change').innerHTML = data_html;
+        document.getElementById('opennamu_list_history').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'); });
+            document.getElementById('opennamu_list_history_' + String(for_a)).addEventListener("click", function() { opennamu_do_footnote_popover('opennamu_list_history_' + String(for_a), '', 'opennamu_history_tool_' + String(for_a), 'open'); });
+            document.addEventListener("click", function() { opennamu_do_footnote_popover('opennamu_list_history_' + String(for_a), '', 'opennamu_history_tool_' + String(for_a), 'close'); });
         }
     });
 }

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

@@ -38,8 +38,6 @@ function opennamu_list_recent_change() {
             data_html += '<a href="/recent_change/1/' + option_list[for_a] + '">(' + option_lang(option_list[for_a], lang) + ')</a> ';
         }
 
-        data_html += '<hr class="main_hr">';
-
         let date_heading = '';
         for(let for_a = 0; for_a < data.length; for_a++) {
             if(data[for_a][6] !== "" && data[for_a][1] === "") {