2du 4 years ago
parent
commit
e88f1592e1

+ 4 - 2
app.py

@@ -597,6 +597,8 @@ def user_setting_head():
 def user_info(name = ''):
     return user_info_2(load_db.db_get(), name)
 
+app.route('/challenge')(user_challenge)
+
 @app.route('/count')
 @app.route('/count/<name>')
 def user_count_edit(name = None):
@@ -691,7 +693,7 @@ def vote_add():
 
 # Func-api
 app.route('/api/w/<everything:name>/doc_tool/<tool>/doc_rev/<int(signed = True):rev>')(api_w)
-app.route('/api/w/<everything:name>/doc_tool/<tool>', methods = ['GET', 'POST'])(api_w)
+app.route('/api/w/<everything:name>/doc_tool/<tool>', methods = ['POST', 'GET'])(api_w)
 app.route('/api/w/<everything:name>', methods = ['GET', 'POST'])(api_w)
 app.route('/api/raw/<everything:name>')(api_raw)
 
@@ -699,7 +701,7 @@ app.route('/api/version', defaults = { 'version_list' : version_list })(api_vers
 app.route('/api/skin_info')(api_skin_info)
 app.route('/api/skin_info/<name>')(api_skin_info)
 app.route('/api/markup')(api_markup)
-app.route('/api/user_info/<name>')(api_user_info)
+app.route('/api/user_info/<name>', methods = ['POST', 'GET'])(api_user_info)
 app.route('/api/setting/<name>')(api_setting)
 
 app.route('/api/thread/<int:topic_num>/<tool>/<int:num>')(api_topic_sub)

+ 0 - 0
route/api_backlink.py


+ 92 - 59
route/api_user_info.py

@@ -4,73 +4,106 @@ def api_user_info(name = ''):
     with get_db_connect() as conn:
         curs = conn.cursor()
 
-        if flask.request.args.get('render', None):
-            plus_d = ''
-            plus_t = []
+        if flask.request.method == 'POST':
+            try:
+                data_list = json.loads(flask.request.form.get('title_list', ''))
+                data_list = list(set(title_list))
+            except:
+                data_list = [name]
 
-            curs.execute(db_change("update rb set ongoing = '' where end < ? and end != '' and ongoing = '1'"), [get_time()])
-            conn.commit()
+            data_result = {}
+            for user_name in data_list:
+                data_result[user_name] = {}
+                
+                curs.execute(db_change("select data from user_set where id = ? and name = 'acl'"), [user_name])
+                db_data = curs.fetchall()
+                if db_data:
+                    if db_data[0][0] != 'user':
+                        curs.execute(db_change("select name from alist where name = ?"), [db_data[0][0]])
+                        if curs.fetchall():
+                            data_result[user_name]['auth'] = db_data[0][0]
+                        else:
+                            data_result[user_name]['auth'] = 1
+                    else:
+                        data_result[user_name]['auth'] = 1
+                else:
+                    data_result[user_name]['auth'] = 0
+                    
+                curs.execute(db_change("select title from data where title = ?"), [user_name])
+                if curs.fetchall():
+                    data_result[user_name]['document'] = 1
+                else:
+                    data_result[user_name]['document'] = 0
+                    
+            return flask.jsonify(data_result)
+        else:
+            if flask.request.args.get('render', None):
+                plus_d = ''
+                plus_t = []
+
+                curs.execute(db_change("update rb set ongoing = '' where end < ? and end != '' and ongoing = '1'"), [get_time()])
+                conn.commit()
 
-            plus_d = '''
-                <table class="user_info_table">
-                    <tbody>
-                        <tr>
-                            <td>''' + load_lang('user_name') + '''</td>
-                            <td>{}</td>
-                        </tr>
-                        <tr>
-                            <td>''' + load_lang('authority') + '''</td>
-                            <td>{}</td>
-                        </tr>
-                        <tr>
-                            <td>''' + load_lang('state') + '''</td>
-                            <td>{}</td>
-                        </tr>
-                    </tbody>
-                </table>
-            '''
+                plus_d = '''
+                    <table class="user_info_table">
+                        <tbody>
+                            <tr>
+                                <td>''' + load_lang('user_name') + '''</td>
+                                <td>{}</td>
+                            </tr>
+                            <tr>
+                                <td>''' + load_lang('authority') + '''</td>
+                                <td>{}</td>
+                            </tr>
+                            <tr>
+                                <td>''' + load_lang('state') + '''</td>
+                                <td>{}</td>
+                            </tr>
+                        </tbody>
+                    </table>
+                '''
 
-            curs.execute(db_change("select data from user_set where id = ? and name = 'acl'"), [name])
-            data = curs.fetchall()
-            if data:
-                if data[0][0] != 'user':
-                    curs.execute(db_change("select name from alist where name = ?"), [data[0][0]])
-                    if curs.fetchall():
-                        plus_t += [data[0][0]]
+                curs.execute(db_change("select data from user_set where id = ? and name = 'acl'"), [name])
+                data = curs.fetchall()
+                if data:
+                    if data[0][0] != 'user':
+                        curs.execute(db_change("select name from alist where name = ?"), [data[0][0]])
+                        if curs.fetchall():
+                            plus_t += [data[0][0]]
+                        else:
+                            plus_t += [load_lang('member')]
                     else:
                         plus_t += [load_lang('member')]
                 else:
-                    plus_t += [load_lang('member')]
-            else:
-                plus_t += [load_lang('normal')]
+                    plus_t += [load_lang('normal')]
 
-            if ban_check(name) == 0:
-                plus_t += [load_lang('normal')]
-            else:
-                plus_t += [load_lang('blocked') + '<br>']
-                regex_ban = 0
+                if ban_check(name) == 0:
+                    plus_t += [load_lang('normal')]
+                else:
+                    plus_t += [load_lang('blocked') + '<br>']
+                    regex_ban = 0
 
-                curs.execute(db_change("select login, block, end, why from rb where band = 'regex' and ongoing = '1'"))
-                for test_r in curs.fetchall():
-                    if re.compile(test_r[1]).search(name):
-                        plus_t[1] += load_lang('type') + ' : ' + load_lang('regex')
-                        plus_t[1] += '<br>' + load_lang('period') + ' : ' + (test_r[2] if test_r[2] != '' else load_lang('limitless'))
-                        plus_t[1] += ('<br>' + load_lang('login_able') if test_r[0] == 'O' else '')
-                        plus_t[1] += ('<br>' + load_lang('why') + ' : ' + test_r[3] if test_r[3] != '' else '')
-                        regex_ban = 1
+                    curs.execute(db_change("select login, block, end, why from rb where band = 'regex' and ongoing = '1'"))
+                    for test_r in curs.fetchall():
+                        if re.compile(test_r[1]).search(name):
+                            plus_t[1] += load_lang('type') + ' : ' + load_lang('regex')
+                            plus_t[1] += '<br>' + load_lang('period') + ' : ' + (test_r[2] if test_r[2] != '' else load_lang('limitless'))
+                            plus_t[1] += ('<br>' + load_lang('login_able') if test_r[0] == 'O' else '')
+                            plus_t[1] += ('<br>' + load_lang('why') + ' : ' + test_r[3] if test_r[3] != '' else '')
+                            regex_ban = 1
 
-                if regex_ban == 0:
-                    curs.execute(db_change("select end, login, band, why from rb where block = ? and ongoing = '1'"), [name])
-                    block_data = curs.fetchall()
-                    if block_data:
-                        plus_t[1] += load_lang('type') + ' : ' + (load_lang('band_blocked') if block_data[0][2] == 'O' else load_lang('normal'))
-                        plus_t[1] += (' (' + load_lang('login_able') + ')' if block_data[0][1] != '' else '')
-                        plus_t[1] += '<br>' + load_lang('period') + ' : ' + (block_data[0][0] if block_data[0][0] != '' else load_lang('limitless'))
-                        plus_t[1] += ('<br>' + load_lang('band_blocked') if block_data[0][2] == 'O' else '')
-                        plus_t[1] += ('<br>' + load_lang('why') + ' : ' + block_data[0][3] if block_data[0][3] != '' else '')
+                    if regex_ban == 0:
+                        curs.execute(db_change("select end, login, band, why from rb where block = ? and ongoing = '1'"), [name])
+                        block_data = curs.fetchall()
+                        if block_data:
+                            plus_t[1] += load_lang('type') + ' : ' + (load_lang('band_blocked') if block_data[0][2] == 'O' else load_lang('normal'))
+                            plus_t[1] += (' (' + load_lang('login_able') + ')' if block_data[0][1] != '' else '')
+                            plus_t[1] += '<br>' + load_lang('period') + ' : ' + (block_data[0][0] if block_data[0][0] != '' else load_lang('limitless'))
+                            plus_t[1] += ('<br>' + load_lang('band_blocked') if block_data[0][2] == 'O' else '')
+                            plus_t[1] += ('<br>' + load_lang('why') + ' : ' + block_data[0][3] if block_data[0][3] != '' else '')
 
-            plus_d = plus_d.format(ip_pas(name), plus_t[0], plus_t[1])
+                plus_d = plus_d.format(ip_pas(name), plus_t[0], plus_t[1])
 
-            return flask.jsonify({ "data" : plus_d })
-        else:
-            return flask.jsonify({})
+                return flask.jsonify({ "data" : plus_d })
+            else:
+                return flask.jsonify({})

+ 1 - 1
route/api_w.py

@@ -67,7 +67,7 @@ def api_w(name = 'Test', tool = '', rev = ''):
                     title_list = json.loads(flask.request.form.get('title_list', ''))
                     title_list = list(set(title_list))
                 except:
-                    title_list = []
+                    title_list = [name]
 
                 data_exist = {}
                 for i in title_list:

+ 5 - 2
route/edit.py

@@ -137,7 +137,8 @@ def edit(name = 'Test', name_load = 0, section = 0):
             p_text = html.escape(sql_d[0][0]) if sql_d and sql_d[0][0] != '' else load_lang('default_edit_help')
     
             data = re.sub(r'\n+$', '', data)
-    
+            
+            # 이 파트 JS로 이동 예정
             monaco_on = flask.request.cookies.get('main_css_monaco', '0')
             if monaco_on == '1':
                 editor_display = 'style="display: none;"'
@@ -160,7 +161,9 @@ def edit(name = 'Test', name_load = 0, section = 0):
                         window.editor = monaco.editor.create(document.getElementById('monaco_editor'), {
                             value: document.getElementById('textarea_edit_view').value,
                             language: 'plaintext',
-                            theme: \'''' + monaco_thema + '''\'
+                            wordWrap: true,
+                            theme: \'''' + monaco_thema + '''\',
+                            minimap: { enabled: false }
                         });
                     });
                 '''

+ 8 - 3
route/main_func_setting.py

@@ -44,7 +44,8 @@ def main_func_setting(db_set, num = 0):
                 21 : ['backup_where', ''],
                 22 : ['domain', flask.request.host_url],
                 23 : ['ua_get', ''],
-                24 : ['enable_comment', '']
+                24 : ['enable_comment', ''],
+                25 : ['enable_challenge', '']
             }
 
             if flask.request.method == 'POST':
@@ -79,7 +80,7 @@ def main_func_setting(db_set, num = 0):
                     else:
                         acl_div[0] += '<option value="' + acl_data + '">' + acl_data + '</option>'
 
-                check_box_div = ['', '', '', '', '', '']
+                check_box_div = ['', '', '', '', '', '', '']
                 for i in range(0, len(check_box_div)):
                     if i == 0:
                         acl_num = 7
@@ -91,6 +92,8 @@ def main_func_setting(db_set, num = 0):
                         acl_num = 23
                     elif i == 5:
                         acl_num = 24
+                    elif i == 6:
+                        acl_num = 25
 
                     if d_list[acl_num]:
                         check_box_div[i] = 'checked="checked"'
@@ -148,9 +151,11 @@ def main_func_setting(db_set, num = 0):
                             <select name="encode">''' + acl_div[0] + '''</select>
                             
                             <h3>1.1. ''' + load_lang('communication_function') + '''</h3>
-                            <hr class="main_hr">
                             <input type="checkbox" name="enable_comment" ''' + check_box_div[5] + '''> ''' + load_lang('enable_comment_function') + '''
                             <hr class="main_hr">
+                            
+                            <input type="checkbox" name="enable_challenge" ''' + check_box_div[6] + '''> ''' + load_lang('enable_challenge_function') + '''
+                            <hr class="main_hr">
 
                             <h2>2. ''' + load_lang('design_set') + '''</h2>
                             <span>''' + load_lang('wiki_skin') + '''</span>

+ 15 - 14
route/tool/func.py

@@ -35,10 +35,16 @@ if data_up_date == 1:
         f.write(version_list['beta']['r_ver'])
     
     if platform.system() in ('Linux', 'Windows'):
-        os.system(
-            'python' + ('3' if platform.system() != 'Windows' else '') + ' ' + \
-            '-m pip install --upgrade --user -r requirements.txt'
-        )
+        if platform.python_implementation() == 'PyPy':
+            os.system(
+                'pypy' + ('3' if platform.system() != 'Windows' else '') + ' ' + \
+                '-m pip install --upgrade --user -r requirements.txt'
+            )
+        else:
+            os.system(
+                'python' + ('3' if platform.system() != 'Windows' else '') + ' ' + \
+                '-m pip install --upgrade --user -r requirements.txt'
+            )
         
         print('----')
         try:
@@ -890,7 +896,7 @@ def wiki_css(data):
         <script src="https://cdn.jsdelivr.net/npm/katex@0.13.2/dist/katex.min.js"
                 integrity="sha384-1Or6BdeNQb0ezrmtGeqQHFpppNd7a/gw29xeiSikBbsb44xu3uAo8c7FwbF5jhbd"
                 crossorigin="anonymous"></script>
-    ''' + data_css + '<script>window.addEventListener(\'DOMContentLoaded\', main_css_skin_load);</script>'] + data[2:]
+    ''' + data_css] + data[2:]
 
     return data
 
@@ -1558,12 +1564,11 @@ def ban_check(ip = None, tool = ''):
 
     return 0
 
-def ip_pas(raw_ip, type_d = 0):
+def ip_pas(raw_ip, type_data = 0):
     curs = conn.cursor()
 
     hide = 0
     end_ip = {}
-    i = 0
 
     return_data = 0
     if type(raw_ip) != type([]):
@@ -1580,7 +1585,7 @@ def ip_pas(raw_ip, type_d = 0):
     
     get_ip = list(set(get_ip))
     
-    for raw_ip in get_ip:
+    for raw_ip in get_ip:        
         change_ip = 0
         is_this_ip = ip_or_user(raw_ip)
         if is_this_ip != 0 and ip_view != '':
@@ -1591,12 +1596,8 @@ def ip_pas(raw_ip, type_d = 0):
         else:     
             ip = raw_ip
             
-        if type_d == 0:
-            if is_this_ip == 0:
-                ip = '<a href="/w/' + url_pas('user:' + raw_ip) + '">' + raw_ip + '</a>'
-                
-            if change_ip == 0:
-                ip += ' <a href="/user/' + url_pas(raw_ip) + '">(' + load_lang('tool') + ')</a>'
+        if type_data == 0 and change_ip == 0:
+            ip = '<span class="opennamu_ip_render">' + raw_ip + '</span>'
 
         end_ip[raw_ip] = ip
     

+ 134 - 0
route/user_challenge.py

@@ -0,0 +1,134 @@
+from .tool.func import *
+
+def do_make_challenge_design(img, title, info, disable = 0):
+    if disable == 1:
+        table_style = 'style="border: 2px solid green"'
+    else:
+        table_style = 'style="border: 2px solid red"'
+    
+    return '''
+        <table id="main_table_set" ''' + table_style + '''>
+            <tr>
+                <td id="main_table_width_quarter" rowspan="2">
+                    <span style="font-size: 64px;">''' + img + '''</span>
+                </td>
+                <td>
+                    <span style="font-size: 32px;">''' + title + '''</span>
+                </td>
+            </tr>
+            <tr>
+                <td>''' + info + '''</td>
+        </table>
+        <hr class="main_hr">
+    '''
+
+def user_challenge():
+    ip = ip_check()
+    if ip_or_user(ip) == 1:
+        return redirect('/user')
+    
+    with get_db_connect() as conn:
+        curs = conn.cursor()
+
+        data_html = ''
+        data_html_green = ''
+        data_html_red = ''
+        
+        data_html += do_make_challenge_design(
+            '🆕',
+            load_lang('challenge_title_register'), 
+            load_lang('challenge_info_register'),
+            1
+        )
+        
+        curs.execute(db_change('select count(*) from history where id = ?'), [ip])
+        db_data = curs.fetchall()
+        
+        disable = 1 if db_data[0][0] >= 1 else 0
+        data_html += do_make_challenge_design(
+            '✏',
+            load_lang('challenge_title_first_contribute'), 
+            load_lang('challenge_info_first_contribute'),
+            disable
+        )
+        
+        disable = 1 if db_data[0][0] >= 10 else 0
+        data_html += do_make_challenge_design(
+            '🗊',
+            load_lang('challenge_title_tenth_contribute'), 
+            load_lang('challenge_info_tenth_contribute'),
+            disable
+        )
+        
+        disable = 1 if db_data[0][0] >= 100 else 0
+        data_html += do_make_challenge_design(
+            '🗀',
+            load_lang('challenge_title_hundredth_contribute'), 
+            load_lang('challenge_info_hundredth_contribute'),
+            disable
+        )
+        
+        disable = 1 if db_data[0][0] >= 1000 else 0
+        data_html += do_make_challenge_design(
+            '🖪',
+            load_lang('challenge_title_thousandth_contribute'), 
+            load_lang('challenge_info_thousandth_contribute'),
+            disable
+        )
+        
+        disable = 1 if db_data[0][0] >= 10000 else 0
+        data_html += do_make_challenge_design(
+            '🖴',
+            load_lang('challenge_title_tenthousandth_contribute'), 
+            load_lang('challenge_info_tenthousandth_contribute'),
+            disable
+        )
+        
+        curs.execute(db_change("select count(*) from topic where ip = ?"), [ip])
+        db_data = curs.fetchall()
+        
+        disable = 1 if db_data[0][0] >= 1 else 0
+        data_html += do_make_challenge_design(
+            '🗨',
+            load_lang('challenge_title_first_discussion'), 
+            load_lang('challenge_info_first_discussion'),
+            disable
+        )
+        
+        disable = 1 if db_data[0][0] >= 10 else 0
+        data_html += do_make_challenge_design(
+            '🗪',
+            load_lang('challenge_title_tenth_discussion'), 
+            load_lang('challenge_info_tenth_discussion'),
+            disable
+        )
+        
+        disable = 1 if db_data[0][0] >= 100 else 0
+        data_html += do_make_challenge_design(
+            '🖅',
+            load_lang('challenge_title_hundredth_discussion'), 
+            load_lang('challenge_info_hundredth_discussion'),
+            disable
+        )
+        
+        disable = 1 if db_data[0][0] >= 1000 else 0
+        data_html += do_make_challenge_design(
+            '☏',
+            load_lang('challenge_title_thousandth_discussion'), 
+            load_lang('challenge_info_thousandth_discussion'),
+            disable
+        )
+        
+        disable = 1 if db_data[0][0] >= 10000 else 0
+        data_html += do_make_challenge_design(
+            '🖧',
+            load_lang('challenge_title_tenthousandth_discussion'), 
+            load_lang('challenge_info_tenthousandth_discussion'),
+            disable
+        )
+        
+        return easy_minify(flask.render_template(skin_check(),
+            imp = [load_lang('challenge'), wiki_set(), wiki_custom(), wiki_css([0, 0])],
+            data = data_html,
+            menu = [['user', load_lang('return')]]
+        ))

+ 1 - 0
route/user_info.py

@@ -27,6 +27,7 @@ def user_info_2(conn, name):
 
             tool_menu += '<li><a href="/watch_list">' + load_lang('watchlist') + '</a></li>'
             tool_menu += '<li><a href="/star_doc">' + load_lang('star_doc') + '</a></li>'
+            tool_menu += '<li><a href="/challenge">' + load_lang('challenge') + '</a></li>'
             tool_menu += '<li><a href="/acl/user:' + url_pas(ip) + '">' + load_lang('user_document_acl') + '</a></li>'
         else:
             login_menu += '''

+ 1 - 1
version.json

@@ -1,6 +1,6 @@
 {
     "beta" : {
-        "r_ver" : "v3.4.4 (stable1) (beta1) (dev1)",
+        "r_ver" : "v3.4.4 (stable1) (beta1) (dev2)",
         "c_ver" : "3500101",
         "s_ver" : "3500110"
     }

+ 10 - 0
views/main_css/js/load_new_ie_end_of_life.js

@@ -0,0 +1,10 @@
+function opennamu_ie_end_support() {
+    if(document.currentScript === undefined) {
+        window.location = 'microsoft-edge:' + window.location;
+        setTimeout(function() {
+            window.location = 'https://go.microsoft.com/fwlink/?linkid=2135547';
+        }, 1);
+    }
+}
+
+opennamu_ie_end_support();

+ 94 - 0
views/main_css/js/load_new_other.js

@@ -0,0 +1,94 @@
+"use strict";
+
+function opennamu_do_id_check(data) {
+    if(data.match(/\.|\:/)) {
+        return 0;
+    } else {
+        return 1;
+    }
+}
+
+function opennamu_do_url_encode(data) {
+    return encodeURIComponent(data);
+}
+
+function opennamu_do_user_document_check() {
+    let data_all = document.getElementsByClassName('opennamu_user_link');
+    for(let for_a = 0; for_a < data_all.length; for_a++) {
+        if(data_all && data_all[for_a]) {
+            if(data_all[for_a].getAttribute('complete') === '1') {
+                continue;
+            }
+        }
+        
+        let data = data_all[for_a].innerHTML;
+        
+        let xhr = new XMLHttpRequest();
+        xhr.open("POST", "/api/user_info/" + opennamu_do_url_encode(data));
+        xhr.send();
+        
+        xhr.onreadystatechange = function() {
+            if(this.readyState === 4 && this.status === 200) {
+                let xhr_data = JSON.parse(this.responseText);
+                console.log(xhr_data);
+                if(xhr_data[data]['document'] === 0) {
+                    document.getElementsByClassName('opennamu_user_link')[for_a].id = "not_thing";
+                }
+                
+                if(xhr_data[data]['auth'] === 0) {
+                    
+                } else if(xhr_data[data]['auth'] === 1) {
+                    
+                } else {
+                    document.getElementsByClassName('opennamu_user_link')[for_a].innerHTML += "✅";
+                }
+                
+                document.getElementsByClassName('opennamu_user_link')[for_a].setAttribute('complete', '1');
+            }
+        }
+    }
+}
+
+function opennamu_do_ip_parser() {
+    let data_all = document.getElementsByClassName('opennamu_ip_render');
+    let data_list = {};
+    for(let for_a = 0; for_a < data_all.length; for_a++) {
+        if(data_all && data_all[for_a]) {
+            if(data_all[for_a].getAttribute('complete') === '1') {
+                continue;
+            }
+        }
+        
+        let data = data_all[for_a].innerHTML;
+        let data_raw = data;
+        
+        if(data_list[data_raw]) {
+            document.getElementsByClassName('opennamu_ip_render')[for_a].innerHTML = data_list[data_raw];
+            document.getElementsByClassName('opennamu_ip_render')[for_a].setAttribute('complete', '1');
+            
+            continue;
+        }
+        
+        if(opennamu_do_id_check(data_raw)) {
+            data = '' + 
+                '<a class="opennamu_user_link" ' + 
+                    'href="/w/user:' + opennamu_do_url_encode(data_raw) + '">' + 
+                    data_raw + 
+                '</a>' +
+            '';
+        } else {
+            
+        }
+        
+        data += ' <a href="/user/' + opennamu_do_url_encode(data_raw) + '">(🛠︎)</a>';
+
+        document.getElementsByClassName('opennamu_ip_render')[for_a].innerHTML = data;
+        document.getElementsByClassName('opennamu_ip_render')[for_a].setAttribute('complete', '1');
+
+        data_list[data_raw] = data;
+    }
+    
+    opennamu_do_user_document_check();
+}
+
+document.addEventListener("DOMContentLoaded", opennamu_do_ip_parser);

+ 3 - 1
views/main_css/js/load_skin_set.js

@@ -488,4 +488,6 @@ function main_css_skin_set() {
     ';
  
     simple_render('main_skin_set');
-}
+}
+
+document.addEventListener("DOMContentLoaded", main_css_skin_load);

+ 2 - 12
views/main_css/js/load_something.js

@@ -7,6 +7,7 @@ function load_user_info(name) {
     xhr.onreadystatechange = function() {
         if(this.readyState === 4 && this.status === 200) {
             document.getElementById('get_user_info').innerHTML += JSON.parse(this.responseText)['data'];
+            opennamu_do_ip_parser();
         }
     }
 }
@@ -148,15 +149,4 @@ function simple_render(name_ele) {
     }
     
     document.getElementById(name_ele).innerHTML = skin_set_data;
-}
-
-function ie_end_support() {
-    if(document.currentScript === undefined) {
-        window.location = 'microsoft-edge:' + window.location;
-        setTimeout(function() {
-            window.location = 'https://go.microsoft.com/fwlink/?linkid=2135547';
-        }, 1);
-    }
-}
-
-ie_end_support();
+}

+ 2 - 0
views/main_css/js/load_topic.js

@@ -103,6 +103,8 @@ function new_topic_load(topic_num, type_do = 'top', some = '', where = 'top_topi
                 eval(data_t[key]['data_pas'][1]);
             }
             
+            opennamu_do_ip_parser();
+            
             if(type_do === 'top') {
                 new_topic_load(topic_num, 'main', '', 'main_topic');
             } else if(type_do === 'main') {

+ 11 - 3
views/main_css/js/render_onmark.js

@@ -140,6 +140,14 @@ function do_onmark_text_render(data) {
     return data;
 }
 
+function do_onmark_set_toc_name(toc_name) {
+    let toc_data = document.getElementById("heading_text_" + toc_name).innerText;
+    
+    for(let for_a = 0; document.getElementsByClassName("toc_text_" + toc_name)[for_a]; for_a++) {
+        document.getElementsByClassName("toc_text_" + toc_name)[for_a].innerHTML = toc_data;
+    }
+}
+
 function do_onmark_heading_render(
     data, 
     data_js, 
@@ -192,13 +200,13 @@ function do_onmark_heading_render(
         toc_data += '' +
             '<span style="margin-left: ' + String((heading_level_string.match(/\./g).length - 1) * 10) + 'px;">' +
                 '<a href="#s-' + heading_level_string_no_end + '">' + 
-                    heading_level_string + ' ' +
+                    heading_level_string + 
                 '</a> ' + 
-                '<span id="toc_text_' + heading_level_string_no_end + '"></span>' +
+                '<span class="toc_text_' + heading_level_string_no_end + '"></span>' +
             '</span>' +
             '\n' +
         ''
-        data_js += 'document.getElementById("toc_text_' + heading_level_string_no_end + '").innerHTML = document.getElementById("heading_text_' + heading_level_string_no_end + '").innerText;\n';
+        data_js += 'do_onmark_set_toc_name(' + heading_level_string_no_end + ');\n';
         
         data = data.replace(heading_re, 
             '\n' +

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

@@ -8,7 +8,6 @@ function get_link_state(data) {
     var link_list_2 = {}
     for(var i = 0; document.getElementsByClassName(data + 'link_finder')[i]; i++) {
         var data_class = document.getElementsByClassName(data + 'link_finder')[i];
-        console.log(data_class.href)
         if(
             data_class.id !== 'out_link' && 
             data_class.id !== 'inside' &&