Переглянути джерело

send render move to server side

잉여개발기 (SPDV) 3 роки тому
батько
коміт
c4a1febefe
2 змінених файлів з 16 додано та 25 видалено
  1. 16 1
      route/recent_change.py
  2. 0 24
      views/main_css/js/func/render_send.js

+ 16 - 1
route/recent_change.py

@@ -1,5 +1,20 @@
 from .tool.func import *
 
+def recent_change_send_render(data):
+    def send_render_href_replace(match):
+        match = match.group(1)
+        data_unescape = html.unescape(match)
+
+        return '<a href="/w/' + url_pas(data_unescape) + '">' + match + '</a>'
+
+    if data == '&lt;br&gt;' or data == '':
+        data = '<br>'
+    else:
+        data = data.replace('javascript:', '')
+        data = re.sub(r'&lt;a(?:(?:(?!&gt;).)*)&gt;((?:(?!&lt;\/a&gt;).)+)&lt;\/a&gt;', send_render_href_replace, data)
+
+    return data
+
 def recent_change(name = None, tool = ''):
     with get_db_connect() as conn:
         curs = conn.cursor()
@@ -132,7 +147,7 @@ def recent_change(name = None, tool = ''):
                         <td>''' + date + '''</td>
                     </tr>
                     <tr ''' + style[1] + '''>
-                        <td class="opennamu_js_send_content" colspan="3">''' + html.escape(send) + '''</td>
+                        <td colspan="3">''' + recent_change_send_render(html.escape(send)) + '''</td>
                     </tr>
                 '''
 

+ 0 - 24
views/main_css/js/func/render_send.js

@@ -1,24 +0,0 @@
-"use strict";
-
-function opennamu_send_render(i = 0) {
-    let get_class = document.getElementsByClassName('opennamu_js_send_content')[i];
-    if(get_class) {
-        opennamu_send_render(i + 1);
-        
-        let data = get_class.innerHTML;
-        if(data === '&lt;br&gt;' || data === '') {
-            document.getElementsByClassName('opennamu_js_send_content')[i].innerHTML = '<br>';
-        } else {
-            data = data.replace(/javascript:/i, '');
-            data = data.replace(/&lt;a(?:(?:(?!&gt;).)*)&gt;((?:(?!&lt;\/a&gt;).)+)&lt;\/a&gt;/g, function(x, x_1) {
-                let x_1_org = x_1.replace('&lt;', '<').replace('&gt;', '>');
-                
-                return '<a href="/w/' + encodeURIComponent(x_1_org) + '">' + x_1 + '</a>';
-            });
-            
-            document.getElementsByClassName('opennamu_js_send_content')[i].innerHTML = data;
-        }
-    }
-}
-
-opennamu_send_render();