2du 5 年之前
父節點
當前提交
ed2d32c389

+ 5 - 2
route/api_topic_sub.py

@@ -32,12 +32,15 @@ def api_topic_sub_2(conn, topic_num):
         ip_a = ip_pas([i[3] for i in data])
         ip_a = ip_pas([i[3] for i in data])
         ip_a_2 = ip_pas([i[3] for i in data], 1)
         ip_a_2 = ip_pas([i[3] for i in data], 1)
         for i in data:
         for i in data:
+            data_v = i[1] if i[4] != 'O' or admin == 1 else ''
             data_a[i[0]] = {
             data_a[i[0]] = {
-                "data" : i[1] if i[4] != 'O' or admin == 1 else '',
+                "data" : data_v,
                 "date" : i[2],
                 "date" : i[2],
                 "ip" : ip_a_2[i[3]],
                 "ip" : ip_a_2[i[3]],
-                "ip_pas" : ip_a[i[3]],
                 "blind" : i[4],
                 "blind" : i[4],
+                
+                "ip_pas" : ip_a[i[3]],
+                "data_pas" : render_set(data = data_v, num = 2, include = 'topic_' + i[0], acl = get_acl)
             }
             }
 
 
         return flask.jsonify(data_a)
         return flask.jsonify(data_a)

+ 3 - 3
route/tool/func.py

@@ -586,7 +586,7 @@ def next_fix(link, num, page, end = 50):
 
 
 def other2(data):
 def other2(data):
     global req_list
     global req_list
-    main_css_ver = '75'
+    main_css_ver = '76'
     data += ['' for _ in range(0, 3 - len(data))]
     data += ['' for _ in range(0, 3 - len(data))]
 
 
     if req_list == '':
     if req_list == '':
@@ -1236,8 +1236,8 @@ def edit_filter_do(data):
     return 0
     return 0
 
 
 def redirect(data = '/'):
 def redirect(data = '/'):
-    return '<script>document.location.href = "' + data + '";</script>'
-
+    return flask.redirect(flask.request.host_url + data)
+    
 def get_acl_list(type_d = 'normal'):
 def get_acl_list(type_d = 'normal'):
     if type_d == 'user':
     if type_d == 'user':
         return ['', 'user', 'all']
         return ['', 'user', 'all']

+ 1 - 1
route/tool/init.py

@@ -29,7 +29,7 @@ server_set_var = {
         'display' : 'Markup',
         'display' : 'Markup',
         'require' : 'select',
         'require' : 'select',
         'default' : 'namumark',
         'default' : 'namumark',
-        'list' : ['namumark', 'markdown', 'custom', 'js_onmark', 'raw']
+        'list' : ['namumark', 'custom', 'js_onmark']
     },
     },
     'encode' : {
     'encode' : {
         'display' : 'Encryption method',
         'display' : 'Encryption method',

+ 3 - 6
route/tool/mark.py

@@ -1,5 +1,4 @@
 from .set_mark.namumark import namumark
 from .set_mark.namumark import namumark
-from .set_mark.markdown import markdown
 
 
 from .set_mark.tool import *
 from .set_mark.tool import *
 
 
@@ -54,17 +53,15 @@ def render_do(title, data, num, include):
         data = namumark(conn, data, title, include)
         data = namumark(conn, data, title, include)
     elif rep_data[0][0] == 'markdown':
     elif rep_data[0][0] == 'markdown':
         data = markdown(conn, data, title, include)
         data = markdown(conn, data, title, include)
-    elif rep_data[0][0] == 'custom':
+    elif rep_data[0][0] in ('custom', 'raw'):
         data = custom_mark(conn, data, title, include)
         data = custom_mark(conn, data, title, include)
     elif rep_data[0][0] == 'js_onmark':
     elif rep_data[0][0] == 'js_onmark':
         include = (include + '_') if include else ''
         include = (include + '_') if include else ''
         data = [
         data = [
-            '<div id="' + include + 'render_contect">' + html.escape(data) + '</div>', 
-            'do_onmark_render(0, "' + include + 'render_contect");',
+            '<div id="' + include + 'render_content">' + html.escape(data) + '</div>', 
+            'do_onmark_render(0, "' + include + 'render_content");',
             []
             []
         ]
         ]
-    elif rep_data[0][0] == 'raw':
-        data = [data, '', []]
     else:
     else:
         data = ['', '', []]
         data = ['', '', []]
 
 

+ 0 - 159
route/tool/set_mark/markdown.py

@@ -1,159 +0,0 @@
-from . import tool
-
-import datetime
-import html
-import re
-
-class head_render:
-    def __init__(self):
-        self.head_level = [0, 0, 0, 0, 0, 0]
-        self.toc_data = '' + \
-            '<div id="toc">' + \
-                '<span id="toc_title">TOC</span>' + \
-                '<br>' + \
-                '<br>' + \
-        ''
-        self.toc_num = 0
-
-    def __call__(self, match):
-        head_len_num = len(match[1])
-        head_len = str(head_len_num)
-        head_len_num -= 1
-        head_data = match[2]
-        self.head_level[head_len_num] += 1
-        for i in range(head_len_num + 1, 6):
-            self.head_level[i] = 0
-            
-        self.toc_num += 1
-        toc_num_str = str(self.toc_num)
-        head_level_str_2 = '.'.join([str(i) for i in self.head_level if i != 0])
-        head_level_str = head_level_str_2 + '.'
-
-        self.toc_data += '<a href="#s-' + head_level_str_2 + '">' + head_level_str + '</a> ' + head_data + '<br>'
-        return '<h' + head_len + ' id="s-' + head_level_str_2 + '"><a href="#toc">' + head_level_str + '</a> ' + head_data + '</h' + head_len + '>'
-
-    def get_toc(self):
-        return self.toc_data + '</div>'
-
-class link_render:
-    def __init__(self, plus_data, include_name):
-        self.str_e_link_id = 0
-        self.plus_data = ''
-        self.include_name = include_name
-
-    def __call__(self, match):
-        str_e_link_id = str(self.str_e_link_id)
-        self.str_e_link_id += 1
-
-        if match[1] == '!':    
-            file_name = ''
-            if re.search(r'^http(s)?:\/\/', match[3], flags = re.I):
-                file_src = match[3]
-                file_alt = match[3]
-                exist = '1'
-            else:
-                file_name = re.search(r'^([^.]+)\.([^.]+)$', match[3])
-                if file_name:
-                    file_end = file_name.group(2)
-                    file_name = file_name.group(1)
-                else:
-                    file_name = 'Test'
-                    file_end = 'jpg'
-
-                file_src = '/image/' + tool.sha224_replace(file_name) + '.' + file_end
-                file_alt = 'file:' + file_name + '.' + file_end
-                exist = None
-
-            return '' + \
-                '<span  class="' + self.include_name + 'file_finder" ' + \
-                        'under_alt="' + file_alt + '" ' + \
-                        'under_src="' + file_src + '" ' + \
-                        'under_style="" ' + \
-                        'under_href="' + ("out_link" if exist else '/upload?name=' + tool.url_pas(file_name)) + '">' + \
-                '</span>' + \
-            ''
-        else:
-            if re.search(r'^http(s)?:\/\/', match[3], flags = re.I):
-                self.plus_data += '' + \
-                    'document.getElementsByName("' + self.include_name + 'set_link_' + str_e_link_id + '")[0].href = ' + \
-                        '"' + match[3] + '";' + \
-                    '\n' + \
-                ''
-
-                return '<a  id="out_link" ' + \
-                            'href="" ' + \
-                            'name="' + self.include_name + 'set_link_' + str_e_link_id + '">' + match[2] + '</a>'
-            else:
-                self.plus_data += '' + \
-                    'document.getElementsByName("' + self.include_name + 'set_link_' + str_e_link_id + '")[0].href = ' + \
-                        '"/w/' + tool.url_pas(match[3]) + '";' + \
-                    '\n' + \
-                ''
-                self.plus_data += '' + \
-                    'document.getElementsByName("' + self.include_name + 'set_link_' + str_e_link_id + '")[0].title = ' + \
-                        '"' + match[3] + '";' + \
-                    '\n' + \
-                ''
-
-                return '<a  class="' + self.include_name + 'link_finder" ' + \
-                            'title="" ' + \
-                            'href="" ' + \
-                            'name="' + self.include_name + 'set_link_' + str_e_link_id + '">' + match[2] + '</a>'
-
-    def get_plus_data(self):
-        return self.plus_data
-
-class list_sub_render:
-    def __init__(self):
-        pass
-
-    def __call__(self, match):
-        return '<li style="margin-left: ' + str(len(match[1]) * 20) + 'px;">' + match[2] + '</li>'
-
-class list_render:
-    def __init__(self):
-        pass
-
-    def __call__(self, match):
-        list_sub_r = r'(?:\n( +)\* ([^\n]+))'
-        list_sub_do = list_sub_render()
-        list_data = re.sub(list_sub_r, list_sub_do, match[1])
-
-        return '\n' + list_data
-
-def markdown(conn, data, title, include_name):
-    backlink = []
-    include_name = include_name + '_' if include_name else ''
-    plus_data = '' + \
-        'get_link_state("' + include_name + '");\n' + \
-        'get_file_state("' + include_name + '");\n' + \
-    ''
-
-    data = html.escape(data)
-    data = data.replace('\r\n', '\n')
-    data = '\n' + data
-
-    head_r = r'\n(#{1,6}) ?([^\n]+)'
-    head_do = head_render()
-    data = re.sub(head_r, head_do, data)
-    data = head_do.get_toc() + data
-
-    list_r = r'((?:\n(?: +)\* (?:[^\n]+))+)'
-    list_do = list_render()
-    data = re.sub(list_r, list_do, data)
-
-    link_r = r'(!)?\[((?:(?!\]\().)+)\]\(([^\]]+)\)'
-    link_do = link_render(plus_data, include_name)
-    data = re.sub(link_r, link_do, data)
-    plus_data = link_do.get_plus_data() + plus_data
-
-    data = re.sub(r'\*\*(?P<A>(?:(?!\*\*).)+)\*\*', '<b>\g<A></b>', data)
-    data = re.sub(r'__(?P<A>(?:(?!__).)+)__', '<i>\g<A></i>', data)
-
-    data = re.sub('^(\n| )+', '', data)
-    data = re.sub('(\n| )+$', '', data)
-    data = data.replace('\n', '<br>')
-
-    data = re.sub(r'(?P<A><\/h[0-6]>)<br>', '\g<A>', data)
-    
-    return [data, plus_data, backlink]

+ 6 - 4
views/main_css/js/load_topic.js

@@ -136,10 +136,10 @@ function new_topic_load(topic_num, con = 1, type_do = 0, some = '', where = 'top
     xhr.onreadystatechange = function() {
     xhr.onreadystatechange = function() {
         if(this.readyState === 4 && this.status === 200) {
         if(this.readyState === 4 && this.status === 200) {
             var data_t = JSON.parse(this.responseText);
             var data_t = JSON.parse(this.responseText);
-            var data_a = '';
             var start = 0;
             var start = 0;
             
             
             for(var key in data_t) {
             for(var key in data_t) {
+                var data_a = '';
                 if(start === 0) {
                 if(start === 0) {
                     var admin = data_t['data_main']['admin'];
                     var admin = data_t['data_main']['admin'];
                     var ip_first = data_t['data_main']['ip_first'];
                     var ip_first = data_t['data_main']['ip_first'];
@@ -191,6 +191,7 @@ function new_topic_load(topic_num, con = 1, type_do = 0, some = '', where = 'top
                     color_t = 'toron_color';
                     color_t = 'toron_color';
                 }
                 }
                 
                 
+                console.log(data_t[key])
                 data_a += '' + 
                 data_a += '' + 
                     '<table id="toron">' + 
                     '<table id="toron">' + 
                         '<tr>' + 
                         '<tr>' + 
@@ -202,16 +203,17 @@ function new_topic_load(topic_num, con = 1, type_do = 0, some = '', where = 'top
                         '</tr>' + 
                         '</tr>' + 
                         '<tr>' + 
                         '<tr>' + 
                             '<td id="' + color_b + '">' + 
                             '<td id="' + color_b + '">' + 
-                                '<div id="topic_scroll">' + data_t[key]['data'] + '</div>' + 
+                                '<div id="topic_scroll">' + data_t[key]['data_pas'][0] + '</div>' + 
                             '</td>' + 
                             '</td>' + 
                         '</tr>' +
                         '</tr>' +
                     '</table>' + 
                     '</table>' + 
                     '<hr class="main_hr">' + 
                     '<hr class="main_hr">' + 
                 ''
                 ''
+
+                document.getElementById(where).innerHTML += data_a;
+                eval(data_t[key]['data_pas'][1]);
             }
             }
             
             
-            document.getElementById(where).innerHTML += data_a;
-            
             if(con === 1) {
             if(con === 1) {
                 new_topic_load(topic_num, 0, type_do + 1, '', where);
                 new_topic_load(topic_num, 0, type_do + 1, '', where);
             }
             }

+ 0 - 0
views/main_css/js/load_namumark.js → views/main_css/js/render_namumark.js


+ 0 - 0
views/main_css/js/load_onmark_render.js → views/main_css/js/render_onmark.js