Bladeren bron

Merge pull request #1722 from openNAMU/dev

Dev
잉여개발기 (SPDV) 3 jaren geleden
bovenliggende
commit
431d8f06cb
3 gewijzigde bestanden met toevoegingen van 23 en 13 verwijderingen
  1. 21 11
      route/tool/func.py
  2. 1 1
      route/tool/func_render_namumark.py
  3. 1 1
      version.json

+ 21 - 11
route/tool/func.py

@@ -1337,6 +1337,9 @@ def render_set(doc_name = '', doc_data = '', data_type = 'view', data_in = '', d
     # data_type in ['view', 'raw', 'api_view', 'backlink']
     doc_acl = acl_check(doc_name, 'render') if doc_acl == '' else doc_acl
     doc_data = 0 if doc_data == None else doc_data
+
+    acl_dict = {}
+    acl_dict[doc_name] = doc_acl
         
     if doc_acl == 1:
         return 'HTTP Request 401.3'
@@ -1355,22 +1358,29 @@ def render_set(doc_name = '', doc_data = '', data_type = 'view', data_in = '', d
             if data_type == 'backlink':
                 return ''
 
+            
             if 'include' in get_class_render[2]:
                 for_a = 0
                 while len(get_class_render[2]['include']) > for_a:
                     include_data = get_class_render[2]['include'][for_a]
-                    if acl_check(include_data[1], 'render') == 0:
-                        include_regex = re.compile('<div id="' + include_data[0] + '"><\/div>')
-                        
-                        include_data_render = class_do_render(conn, render_lang_data).do_render(include_data[1], include_data[2], data_type, include_data[0] + data_in)
-                        if len(include_data) > 3:
-                            include_data_render[0] = '<div id="' + include_data[0] + '" ' + include_data[3] + '>' + include_data_render[0] + '</div>'
-                        else:
-                            include_data_render[0] = '<div id="' + include_data[0] + '">' + include_data_render[0] + '</div>'
+                    if include_data[1] in acl_dict:
+                        acl_result = acl_dict[include_data[1]]
+                    else:
+                        acl_result = acl_check(include_data[1], 'render')
+                        acl_dict[include_data[1]] = acl_result
 
-                        get_class_render[0] = re.sub(include_regex, include_data_render[0], get_class_render[0])
-                        get_class_render[1] += include_data_render[1]
-                        get_class_render[2]['include'] += include_data_render[2]['include']
+                    if acl_result == 0:
+                        include_regex = re.compile('<div id="' + include_data[0] + '"><\/div>')
+                        if re.search(include_regex, get_class_render[0]):
+                            include_data_render = class_do_render(conn, render_lang_data).do_render(include_data[1], include_data[2], data_type, include_data[0] + data_in)
+                            if len(include_data) > 3:
+                                include_data_render[0] = '<div id="' + include_data[0] + '" ' + include_data[3] + '>' + include_data_render[0] + '</div>'
+                            else:
+                                include_data_render[0] = '<div id="' + include_data[0] + '">' + include_data_render[0] + '</div>'
+
+                            get_class_render[0] = re.sub(include_regex, include_data_render[0], get_class_render[0])
+                            get_class_render[1] += include_data_render[1]
+                            get_class_render[2]['include'] += include_data_render[2]['include']
 
                     for_a += 1
 

+ 1 - 1
route/tool/func_render_namumark.py

@@ -1925,6 +1925,6 @@ class class_do_render_namumark:
             self.render_data_js, # js
             {
                 'backlink' : self.data_backlink, # backlink
-                'include' : self.data_include # include data
+                'include' : list(reversed(self.data_include)) # include data
             } # other
         ]

+ 1 - 1
version.json

@@ -1,6 +1,6 @@
 {
     "beta" : {
-        "r_ver" : "v3.4.6-RC3-dev146",
+        "r_ver" : "v3.4.6-RC3-dev148",
         "c_ver" : "3500360",
         "s_ver" : "3500111"
     }