2du преди 4 години
родител
ревизия
f8a13727ab

+ 0 - 3
emergency_tool.py

@@ -34,7 +34,6 @@ print('9. Delete set.json')
 print('10. Change name')
 print('11. Delete mysql.json')
 print('12. All title count reset')
-print('13. Cache data reset')
 print('14. Delete Main <HEAD>')
 print('15. Give owner')
 print('16. Delete 2FA password')
@@ -197,8 +196,6 @@ elif what_i_do == '12':
         ),
         [str(count_data)]
     )
-elif what_i_do == '13':
-    curs.execute(db_change('delete from cache_data'))
 elif what_i_do == '14':
     curs.execute(db_change('delete from other where name = "head"'))
 elif what_i_do == '15':

+ 18 - 16
route/list_acl.py

@@ -7,25 +7,27 @@ def list_acl_2(conn):
     sql_num = (num * 50 - 50) if num * 50 > 0 else 0
     div = '<ul class="inside_ul">'
 
-    curs.execute(db_change("select distinct title from acl where data != '' order by title desc limit ?, 50"), [sql_num])
+    curs.execute(db_change(
+        "select distinct title, data, type from acl where data != '' and not title like 'user:%' order by title desc limit ?, 50"
+    ), [sql_num])
     list_data = curs.fetchall()
+    print(list_data)
     for data in list_data:
-        if not re.search(r'^user:', data[0]) and not re.search(r'^file:', data[0]):
-            curs.execute(db_change("select time from re_admin where what like ? order by time desc limit 1"), ['acl (' + data[0] + ')%'])
-            time_data = curs.fetchall()
-            time_data = (time_data[0][0] + ' | ') if time_data else ''
-            
-            curs.execute(db_change("select data from acl where title = ? and type = 'why'"), [data[0]])
-            why_data = curs.fetchall()
-            why_data = (' | ' + why_data[0][0]) if why_data and why_data[0][0] != '' else ''
+        curs.execute(db_change("select time from re_admin where what like ? order by time desc limit 1"), ['acl (' + data[0] + ')%'])
+        time_data = curs.fetchall()
+        time_data = (time_data[0][0] + ' | ') if time_data else ''
 
-            div += '' + \
-                '<li>' + \
-                    time_data + \
-                    '<a href="/acl/' + url_pas(data[0]) + '">' + html.escape(data[0]) + '</a>' + \
-                    why_data + \
-                '</li>' + \
-            ''
+        curs.execute(db_change("select data from acl where title = ? and type = 'why'"), [data[0]])
+        why_data = curs.fetchall()
+        why_data = (' | ' + why_data[0][0]) if why_data and why_data[0][0] != '' else ''
+
+        div += '' + \
+            '<li>' + \
+                time_data + \
+                '<a href="/acl/' + url_pas(data[0]) + '">' + html.escape(data[0]) + '</a>' + \
+                why_data + \
+            '</li>' + \
+        ''
 
     div += '</ul>'
     div += next_fix('/acl_list?num=', num, list_data)

+ 7 - 2
route/tool/func.py

@@ -536,6 +536,11 @@ def update(ver_num, set_data):
                 "insert into user_set (name, id, data) values (?, ?, ?)"
             ), ['application', i[0], json.dumps(sql_data)])
     
+    if ver_num < 3500105:
+        curs.execute(db_change(
+            'delete from acl where title like "file:%" and data = "admin" and type like "decu%"'
+        ))
+    
     conn.commit()
     
     # 아이피 상태인 이메일 제거 예정
@@ -921,8 +926,8 @@ def wiki_css(data):
 def cut_100(data):
     # without_DB
     
-    data = data.replace('<pre class="render_content_load" id="render_content_load">', '')
-    data = data.replace('</pre>', ' ' * 100)
+    data = data.replace('<div class="render_content_load" id="render_content_load">', '')
+    data = data.replace('</div>', ' ' * 100)
     
     return data[0 : 100]
 

+ 4 - 4
route/tool/func_mark.py

@@ -117,8 +117,8 @@ class class_do_render:
                 doc_name = html.escape(doc_name)
                 
                 data_end = [
-                    '<pre class="render_content_load" id="' + data_in + 'render_content_load">' + doc_data + '</pre>' + \
-                    '<div class="render_content" id="' + data_in + 'render_content"></div>', 
+                    '<div class="render_content_load" id="' + data_in + 'render_content_load">' + doc_data + '</div>' + \
+                    '<div class="render_content" id="' + data_in + 'render_content" style="display: none;"></div>', 
                     '''
                         do_onmark_render(
                             test_mode = "normal", 
@@ -135,8 +135,8 @@ class class_do_render:
                 doc_name = html.escape(doc_name)
                 
                 data_end = [
-                    '<pre class="render_content_load" id="' + data_in + 'render_content_load">' + html.escape(doc_data) + '</pre>' + \
-                    '<div class="render_content" id="' + data_in + 'render_content"></div>', 
+                    '<div class="render_content_load" id="' + data_in + 'render_content_load">' + html.escape(doc_data) + '</div>' + \
+                    '<div class="render_content" id="' + data_in + 'render_content" style="display: none;"></div>', 
                     'new opennamu_render_markdown(' + \
                         'render_part_id = "render_content_load",' + \
                         'render_part_id_after = "render_content",' + \

+ 2 - 2
version.json

@@ -1,7 +1,7 @@
 {
     "beta" : {
-        "r_ver" : "v3.4.4 (stable1) (beta1) (dev6)",
-        "c_ver" : "3500101",
+        "r_ver" : "v3.4.4 (stable1) (beta2) (dev7)",
+        "c_ver" : "3500105",
         "s_ver" : "3500110"
     }
 }

+ 1 - 5
views/main_css/css/main.css

@@ -182,16 +182,12 @@ hr {
     border-top: 1px solid gainsboro;
 }
 
-.render_content {
+.render_content_load, .render_content {
     white-space: pre-wrap;
     
     line-break: anywhere;
 }
 
-.render_content_load {
-    display: none;
-}
-
 blockquote {
     padding: 15px 40px 15px 15px;
     margin: 15px 0 0;

+ 6 - 0
views/main_css/js/render/markdown.js

@@ -30,6 +30,7 @@ class opennamu_render_markdown {
         this.parser_count['parser'] = 0;
         this.parser_count['nowiki'] = 0;
         
+        this.render_part_id = render_part_id;
         this.render_part_id_add = render_part_id_add;
         this.render_part_id_after = render_part_id_after;
     }
@@ -508,7 +509,12 @@ class opennamu_render_markdown {
         this.do_part_final();
         
         this.doc_data = this.do_func_parser_to_text(this.doc_data);
+        
         document.getElementById(this.render_part_id_add + this.render_part_id_after).innerHTML = this.doc_data;
+        
+        document.getElementById(this.render_part_id_add + this.render_part_id).style.display = "none";
+        document.getElementById(this.render_part_id_add + this.render_part_id_after).style.display = "";
+        
         for(let x1 in this.parser_data_js) {
             eval(this.parser_data_js[x1]);
         }

+ 5 - 0
views/main_css/js/render_onmark.js

@@ -1464,6 +1464,7 @@ function do_onmark_render(
             );
             
             data_js += '' + 
+                'do_heading_move();\n' + 
                 'get_link_state("' + name_include + '");\n' + 
                 'get_file_state("' + name_include + '");\n' + 
         		'get_heading_name();\n' +
@@ -1472,6 +1473,10 @@ function do_onmark_render(
             
             if(test_mode === 'normal') {
                 document.getElementById(name_id).innerHTML = data + '<script>' + data_js + '</script>';
+                
+                document.getElementById(name_id).style.display = "";
+                document.getElementById(name_id + '_load').style.display = "none";
+                
                 eval(data_js);
             } else if(test_mode === 'manual') {
                 return [data, data_js];

+ 15 - 0
views/main_css/js/render_wiki.js

@@ -1,3 +1,9 @@
+function do_render_wiki() {
+    (function (callback) {
+        
+    });
+}
+
 function get_link_state(data) {
     let data_exter_link = '0';
     if(document.cookie.match(main_css_regex_data('main_css_exter_link'))) {
@@ -59,6 +65,15 @@ function get_heading_name() {
     }
 }
 
+function do_heading_move() {
+    let data_url_v = window.location.hash.replace(/^#/, '');
+    if(data_url_v !== '') {
+        if(document.getElementById(data_url_v)) {
+            document.getElementById(data_url_v).focus();
+        }
+    }
+}
+
 function load_image_link(data, data_type = 0) {
     let data_end = '';
     data_end = '' +

+ 15 - 6
views/main_css/js/route/thread.js

@@ -26,6 +26,7 @@ function opennamu_do_thread_make(topic_num, type_do = 'top', some = '', where =
             let data_all = '';
             let data_all_js = '';
             
+            let count = 0;
             for(let key in data_t) {
                 let data_a = '';
                 
@@ -109,11 +110,19 @@ function opennamu_do_thread_make(topic_num, type_do = 'top', some = '', where =
                     '<hr class="main_hr">' + 
                 ''
 
-                data_all += data_a;
+                document.getElementById(where).innerHTML += data_a;
+                
+                count += 1;
                 data_all_js += data_t[key]['data_pas'][1] + '\n';
+                
+                if(count > 100) {
+                    eval(data_all_js);
+                    
+                    count = 0;
+                    data_all_js = '';
+                }
             }
             
-            document.getElementById(where).innerHTML += data_all;
             eval(data_all_js);
             
             opennamu_do_ip_parser();
@@ -121,10 +130,10 @@ function opennamu_do_thread_make(topic_num, type_do = 'top', some = '', where =
             if(type_do === 'top') {
                 opennamu_do_thread_make(topic_num, 'main', '', 'main_topic');
             } else if(type_do === 'main') {
-                let data_url_v = window.location.href.split('#');
-                if(data_url_v.length !== 0) {
-                    if(document.getElementById(data_url_v[1])) {
-                        document.getElementById(data_url_v[1]).focus();
+                let data_url_v = window.location.hash.replace(/^#/, '');
+                if(data_url_v !== '') {
+                    if(document.getElementById(data_url_v)) {
+                        document.getElementById(data_url_v).focus();
                     }
                 }