2
0
Эх сурвалжийг харах

Merge branch 'master' into master

Surplus_UP (2DU) 7 жил өмнө
parent
commit
8f650017f2
3 өөрчлөгдсөн 145 нэмэгдсэн , 133 устгасан
  1. 118 115
      app.py
  2. 25 17
      func.py
  3. 2 1
      views/main_css/main.css

+ 118 - 115
app.py

@@ -315,7 +315,7 @@ def alarm():
     curs.execute("select data, date from alarm where name = ? order by date desc", [ip_check()])
     data_list = curs.fetchall()
     if data_list:
-        data = '<a href="/del_alarm">(' + load_lang('delete') + ')</a><hr>' + data
+        data = '<a href="/del_alarm">(' + load_lang('delete') + ')</a><hr class=\"main_hr\">' + data
 
         for data_one in data_list:
             data += '<li>' + data_one[0] + ' (' + data_one[1] + ')</li>'
@@ -391,7 +391,7 @@ def inter_wiki(tools = None):
         div += '</ul>'
 
         if admin == 1:
-            div += '<hr><a href="/' + plus_link + '">(' + load_lang('plus') + ')</a>'
+            div += '<hr class=\"main_hr\"><a href="/' + plus_link + '">(' + load_lang('plus') + ')</a>'
     else:
         if admin == 1:
             div += '<a href="/' + plus_link + '">(' + load_lang('plus') + ')</a>'
@@ -464,7 +464,7 @@ def plus_inter(tools = None, name = None):
             title = load_lang('interwiki') + ' ' + load_lang('plus')
             form_data = '''
                         <input placeholder="''' + load_lang('name') + '''" type="text" name="title">
-                        <hr>
+                        <hr class=\"main_hr\">
                         <input placeholder="link" type="text" name="link">
                         '''
         elif tools == 'plus_edit_filter':
@@ -487,9 +487,9 @@ def plus_inter(tools = None, name = None):
             title = load_lang('edit') + ' ' + load_lang('filter') + ' ' + load_lang('plus')
             form_data = '''
                         <input placeholder="''' + load_lang('second') + '''" name="second" type="text" value="''' + html.escape(time_data) + '''">
-                        <hr>
+                        <hr class=\"main_hr\">
                         <input ''' + stat + ''' type="checkbox" ''' + time_check + ''' name="limitless"> ''' + load_lang('limitless') + '''
-                        <hr>
+                        <hr class=\"main_hr\">
                         <input ''' + stat + ''' placeholder="''' + load_lang('regex') + '''" name="content" value="''' + html.escape(textarea) + '''" type="text">
                         '''
         elif tools == 'plus_name_filter':
@@ -504,7 +504,7 @@ def plus_inter(tools = None, name = None):
             data =  '''
                     <form method="post">
                         ''' + form_data + '''
-                        <hr>
+                        <hr class=\"main_hr\">
                         <button ''' + stat + ''' type="submit">''' + load_lang('plus') + '''</button>
                     </form>
                     ''',
@@ -621,73 +621,73 @@ def setting(num = 0):
                             <br>
                             <br>
                             <input placeholder="''' + load_lang('name') + '''" type="text" name="name" value="''' + html.escape(d_list[0]) + '''">
-                            <hr>
+                            <hr class=\"main_hr\">
                             <span>''' + load_lang('logo') + ''' (html)</span>
                             <br>
                             <br>
                             <input placeholder="''' + load_lang('logo') + '''" type="text" name="logo" value="''' + html.escape(d_list[1]) + '''">
-                            <hr>
+                            <hr class=\"main_hr\">
                             <span>''' + load_lang('frontpage') + '''</span>
                             <br>
                             <br>
                             <input placeholder="''' + load_lang('frontpage') + '''" type="text" name="frontpage" value="''' + html.escape(d_list[2]) + '''">
-                            <hr>
+                            <hr class=\"main_hr\">
                             <span>''' + load_lang('bottom') + ' ' + load_lang('text') + ''' (html)</span>
                             <br>
                             <br>
                             <input placeholder="''' + load_lang('bottom') + ' ' + load_lang('text') + '''" type="text" name="license" value="''' + html.escape(d_list[3]) + '''">
-                            <hr>
+                            <hr class=\"main_hr\">
                             <span>''' + load_lang('max_file_size') + ''' [mb]</span>
                             <br>
                             <br>
                             <input placeholder="''' + load_lang('max_file_size') + '''" type="text" name="upload" value="''' + html.escape(d_list[4]) + '''">
-                            <hr>
+                            <hr class=\"main_hr\">
                             <span>''' + load_lang('backup_interval') + ' [' + load_lang('hour') + '''] (off : 0) {restart}</span>
                             <br>
                             <br>
                             <input placeholder="''' + load_lang('backup_interval') + '''" type="text" name="back_up" value="''' + html.escape(d_list[9]) + '''">
-                            <hr>
+                            <hr class=\"main_hr\">
                             <span>''' + load_lang('skin') + '''</span>
                             <br>
                             <br>
                             <select name="skin">''' + div2 + '''</select>
-                            <hr>
+                            <hr class=\"main_hr\">
                             <span>''' + load_lang('default') + ''' acl</span>
                             <br>
                             <br>
                             <select name="edit">''' + div + '''</select>
-                            <hr>
+                            <hr class=\"main_hr\">
                             <span>''' + load_lang('default') + ' ' + load_lang('discussion') + ''' acl</span>
                             <br>
                             <br>
                             <select name="discussion">''' + div4 + '''</select>
-                            <hr>
+                            <hr class=\"main_hr\">
                             <input type="checkbox" name="reg" ''' + ch_1 + '''> ''' + load_lang('register') + ''' X
-                            <hr>
+                            <hr class=\"main_hr\">
                             <input type="checkbox" name="ip_view" ''' + ch_2 + '''> ip ''' + load_lang('hide') + '''
-                            <hr>
+                            <hr class=\"main_hr\">
                             <input type="checkbox" name="email_have" ''' + ch_3 + '''> must have email {<a href="/setting/5">must set google imap</a>}
-                            <hr>
+                            <hr class=\"main_hr\">
                             <span>''' + load_lang('port') + '''</span>
                             <br>
                             <br>
                             <input placeholder="''' + load_lang('port') + '''" type="text" name="port" value="''' + html.escape(d_list[10]) + '''">
-                            <hr>
+                            <hr class=\"main_hr\">
                             <span>''' + load_lang('secret_key') + '''</span>
                             <br>
                             <br>
                             <input placeholder="''' + load_lang('secret_key') + '''" type="password" name="key" value="''' + html.escape(d_list[11]) + '''">
-                            <hr>
+                            <hr class=\"main_hr\">
                             <span>''' + load_lang('update_branch') + '''</span>
                             <br>
                             <br>
                             <select name="update">''' + div3 + '''</select>
-                            <hr>
+                            <hr class=\"main_hr\">
                             <span>encryption method</span>
                             <br>
                             <br>
                             <select name="encode">''' + div5 + '''</select>
-                            <hr>
+                            <hr class=\"main_hr\">
                             <button id="save" type="submit">''' + load_lang('save') + '''</button>
                         </form>
                         ''',
@@ -731,12 +731,12 @@ def setting(num = 0):
                             <br>
                             <br>
                             <input placeholder="''' + load_lang('register_text') + '''" type="text" name="contract" value="''' + html.escape(d_list[0]) + '''">
-                            <hr>
+                            <hr class=\"main_hr\">
                             <span>''' + load_lang('non_login_alert') + '''</span>
                             <br>
                             <br>
                             <input placeholder="''' + load_lang('non_login_alert') + '''" type="text" name="no_login_warring" value="''' + html.escape(d_list[1]) + '''">
-                            <hr>
+                            <hr class=\"main_hr\">
                             <button id="save" type="submit">''' + load_lang('save') + '''</button>
                         </form>
                         ''',
@@ -781,7 +781,7 @@ def setting(num = 0):
                 data =  '''
                         <form method="post">
                             <textarea rows="25" name="content">''' + html.escape(data) + '''</textarea>
-                            <hr>
+                            <hr class=\"main_hr\">
                             <button id="save" type="submit">''' + load_lang('save') + '''</button>
                         </form>
                         ''',
@@ -823,10 +823,10 @@ def setting(num = 0):
                 imp = ['robots.txt', wiki_set(), custom(), other2([0, 0])],
                 data =  '''
                         <a href="/robots.txt">(view)</a>
-                        <hr>
+                        <hr class=\"main_hr\">
                         <form method="post">
                             <textarea rows="25" name="content">''' + html.escape(data) + '''</textarea>
-                            <hr>
+                            <hr class=\"main_hr\">
                             <button id="save" type="submit">''' + load_lang('save') + '''</button>
                         </form>
                         ''',
@@ -873,23 +873,23 @@ def setting(num = 0):
                             <br>
                             <br>
                             <input placeholder="recaptcha (html)" type="text" name="recaptcha" value="''' + html.escape(d_list[0]) + '''">
-                            <hr>
+                            <hr class=\"main_hr\">
                             <span>recaptcha (secret key)</span>
                             <br>
                             <br>
                             <input placeholder="recaptcha (secret key)" type="text" name="sec_re" value="''' + html.escape(d_list[1]) + '''">
-                            <hr>
+                            <hr class=\"main_hr\">
                             <h2><a href="https://support.google.com/mail/answer/7126229">google imap</a> {restart}</h1>
                             <span>google email</span>
                             <br>
                             <br>
                             <input placeholder="google email" type="text" name="g_email" value="''' + html.escape(d_list[2]) + '''">
-                            <hr>
+                            <hr class=\"main_hr\">
                             <span><a href="https://security.google.com/settings/security/apppasswords">google app password</a></span>
                             <br>
                             <br>
                             <input placeholder="google app password" type="password" name="g_pass" value="''' + html.escape(d_list[3]) + '''">
-                            <hr>
+                            <hr class=\"main_hr\">
                             <button id="save" type="submit">''' + load_lang('save') + '''</button>
                         </form>
                         ''',
@@ -902,13 +902,10 @@ def setting(num = 0):
 def not_close_topic():
     div = '<ul>'
     
-    curs.execute('select title, sub from rd order by date desc')
+    curs.execute('select title, sub from rd where stop != "O" order by date desc')
     n_list = curs.fetchall()
     for data in n_list:
-        curs.execute('select * from rd where title = ? and sub = ? and close = "O"', [data[0], data[1]])
-        is_close = curs.fetchall()
-        if not is_close:
-            div += '<li><a href="/topic/' + url_pas(data[0]) + '/sub/' + url_pas(data[1]) + '">' + data[0] + ' (' + data[1] + ')</a></li>'
+        div += '<li><a href="/topic/' + url_pas(data[0]) + '/sub/' + url_pas(data[1]) + '">' + html.escape(data[0]) + ' (' + data[1] + ')</a></li>'
             
     div += '</ul>'
 
@@ -1046,7 +1043,7 @@ def admin_plus(name = None):
             data =  '''
                     <form method="post">
                         ''' + data + '''
-                        <hr>
+                        <hr class=\"main_hr\">
                         <button id="save" ''' + state +  ''' type="submit">''' + load_lang('save') + '''</button>
                     </form>
                     ''',
@@ -1130,7 +1127,7 @@ def user_log():
 
         list_data +=    '''
                         </ul>
-                        <hr>
+                        <hr class=\"main_hr\">
                         <ul>
                             <li>all : ''' + str(count) + '''</li>
                         </ul>
@@ -1180,7 +1177,7 @@ def give_log():
 
         list_data += '<li><a href="/admin_plus/' + url_pas(data[0]) + '">' + data[0] + '</a></li>'
     
-    list_data += '</ul><hr><a href="/manager/8">(' + load_lang('create') + ')</a>'
+    list_data += '</ul><hr class=\"main_hr\"><a href="/manager/8">(' + load_lang('create') + ')</a>'
 
     return easy_minify(flask.render_template(skin_check(), 
         imp = [load_lang('admin_group') + ' ' + load_lang('list'), wiki_set(), custom(), other2([0, 0])],
@@ -1384,7 +1381,7 @@ def recent_discuss():
         m_sub = ' (' + load_lang('close') + ')'
 
     div +=  '''
-            <hr>
+            <hr class=\"main_hr\">
             <table id="main_table_set">
                 <tbody>
                     <tr>
@@ -1438,9 +1435,9 @@ def block_log(name = None, tool = None, tool2 = None):
         if not tool2:
             div =   '''
                     <a href="/manager/11">(''' + load_lang('blocked') + ''')</a> <a href="/manager/12">(''' + load_lang('admin') + ''')</a>
-                    <hr>
+                    <hr class=\"main_hr\">
                     <a href="/block_log/ip">(ip)</a> <a href="/block_log/user">(''' + load_lang('subscriber') + ')</a> <a href="/block_log/never_end">(' + load_lang('limitless') + ')</a> <a href="/block_log/can_end">(' + load_lang('period') + ')</a> <a href="/block_log/end">(' + load_lang('release') + ')</a> <a href="/block_log/now">(' + load_lang('now') + ')</a> <a href="/block_log/edit_filter">(' + load_lang('edit') + ' ' + load_lang('filter') + ''')</a>
-                    <hr>
+                    <hr class=\"main_hr\">
                     ''' + div
             
             sub = 0
@@ -1584,7 +1581,7 @@ def deep_search(name = None):
                     <a ''' + link_id + ' href="/w/' + url_pas(name) + '">' + name + '''</a>
                 </li>
             </ul>
-            <hr>
+            <hr class=\"main_hr\">
             <ul>
             '''
 
@@ -1595,7 +1592,7 @@ def deep_search(name = None):
         
         for data in all_list:
             if data[1] != test:
-                div_plus += '</ul><hr><ul>'
+                div_plus += '</ul><hr class=\"main_hr\"><ul>'
                 
                 test = data[1]
 
@@ -1722,10 +1719,10 @@ def revert(name = None):
             data =  '''
                     <form method="post">
                         <span>''' + flask.request.args.get('num', '0') + load_lang('version') + '''</span>
-                        <hr>
+                        <hr class=\"main_hr\">
                         ''' + ip_warring() + '''
                         <input placeholder="''' + load_lang('why') + '''" name="send" type="text">
-                        <hr>
+                        <hr class=\"main_hr\">
                         ''' + captcha_get() + '''
                         <button type="submit">''' + load_lang('revert') + '''</button>
                     </form>
@@ -1815,7 +1812,7 @@ def edit(name = None):
         if not flask.request.args.get('section', None):
             get_name =  '''
                         <a href="/manager/15?plus=''' + url_pas(name) + '">(' + load_lang('load') + ')</a> <a href="/edit_filter">(' + load_lang('edit') + ' ' + load_lang('filter') + ''')</a>
-                        <hr>
+                        <hr class=\"main_hr\">
                         '''
             action = ''
         else:
@@ -1838,9 +1835,9 @@ def edit(name = None):
                         ''' + js_data[1] + '''
                         <textarea id="content" rows="25" name="content">''' + html.escape(re.sub('\n$', '', data)) + '''</textarea>
                         <textarea style="display: none;" name="otent">''' + html.escape(re.sub('\n$', '', data_old)) + '''</textarea>
-                        <hr>
+                        <hr class=\"main_hr\">
                         <input placeholder="''' + load_lang('why') + '''" name="send" type="text">
-                        <hr>
+                        <hr class=\"main_hr\">
                         ''' + captcha_get() + ip_warring() + '''
                         <button id="save" type="submit">''' + load_lang('save') + '''</button>
                         <button id="preview" type="submit" formaction="/preview/''' + url_pas(name) + action + '">' + load_lang('preview') + '''</button>
@@ -1876,14 +1873,14 @@ def preview(name = None):
                     ''' + js_data[1] + '''
                     <textarea id="content" rows="25" name="content">''' + html.escape(flask.request.form.get('content', None)) + '''</textarea>
                     <textarea style="display: none;" name="otent">''' + html.escape(flask.request.form.get('otent', None)) + '''</textarea>
-                    <hr>
+                    <hr class=\"main_hr\">
                     <input placeholder="''' + load_lang('why') + '''" name="send" type="text">
-                    <hr>
+                    <hr class=\"main_hr\">
                     ''' + captcha_get() + '''
                     <button id="save" type="submit">''' + load_lang('save') + '''</button>
                     <button id="preview" type="submit" formaction="/preview/''' + url_pas(name) + action + '">' + load_lang('preview') + '''</button>
                 </form>
-                <hr>
+                <hr class=\"main_hr\">
                 ''' + end_data,
         menu = [['w/' + url_pas(name), load_lang('document')]]
     ))
@@ -1935,7 +1932,7 @@ def delete(name = None):
                     <form method="post">
                         ''' + ip_warring() + '''
                         <input placeholder="''' + load_lang('why') + '''" name="send" type="text">
-                        <hr>
+                        <hr class=\"main_hr\">
                         ''' + captcha_get() + '''
                         <button type="submit">''' + load_lang('delete') + '''</button>
                     </form>
@@ -2057,9 +2054,9 @@ def move(name = None):
                     <form method="post">
                         ''' + ip_warring() + '''
                         <input placeholder="''' + load_lang('document') + ' ' + load_lang('name') + '" value="' + name + '''" name="title" type="text">
-                        <hr>
+                        <hr class=\"main_hr\">
                         <input placeholder="''' + load_lang('why') + '''" name="send" type="text">
-                        <hr>
+                        <hr class=\"main_hr\">
                         ''' + captcha_get() + '''
                         <button type="submit">''' + load_lang('move') + '''</button>
                     </form>
@@ -2180,7 +2177,7 @@ def manager(num = 1):
                 data =  '''
                         <form method="post">
                             <input placeholder="''' + placeholder + '''" name="name" type="text">
-                            <hr>
+                            <hr class=\"main_hr\">
                             <button type="submit">''' + load_lang('move') + '''</button>
                         </form>
                         ''',
@@ -2208,7 +2205,7 @@ def title_index():
     curs.execute("select title from data order by title asc limit ?, ?", [str(sql_num), str(num)])
     title_list = curs.fetchall()
     if title_list:
-        data += '<hr><ul>'
+        data += '<hr class=\"main_hr\"><ul>'
 
     for list_data in title_list:
         data += '<li>' + str(all_list) + '. <a href="/w/' + url_pas(list_data[0]) + '">' + list_data[0] + '</a></li>'        
@@ -2237,11 +2234,11 @@ def title_index():
         
         data += '''
                 </ul>
-                <hr>
+                <hr class=\"main_hr\">
                 <ul>
                     <li>all : ''' + str(count_end[0]) + '''</li>
                 </ul>
-                <hr>
+                <hr class=\"main_hr\">
                 <ul>
                     <li>''' + load_lang('template') + ' : ' + str(count_end[1]) + '''</li>
                     <li>''' + load_lang('category') + ' : ' + str(count_end[2]) + '''</li>
@@ -2504,7 +2501,7 @@ def topic(name = None, sub = None):
             else:
                 all_data += '<a href="/topic/' + url_pas(name) + '/sub/' + url_pas(sub) + '/tool/agree">(' + load_lang('agreement') + ')</a>'
             
-            all_data += '<hr>'
+            all_data += '<hr class=\"main_hr\">'
         
         if (close_data or stop_data) and admin != 1:
             display = 'display: none;'
@@ -2609,7 +2606,7 @@ def topic(name = None, sub = None):
                     <form style="''' + display + '''" method="post">
                     <br>
                     <textarea style="height: 100px;" name="content"></textarea>
-                    <hr>
+                    <hr class=\"main_hr\">
                     ''' + captcha_get()
             
             if display == '':
@@ -2696,9 +2693,9 @@ def close_topic_list(name = None, tool = None):
             
             plus =  '''
                     <a href="/topic/''' + url_pas(name) + '''/close">(''' + load_lang('close') + ''')</a> <a href="/topic/''' + url_pas(name) + '''/agree">(''' + load_lang('agreement') + ''')</a>
-                    <hr>
+                    <hr class=\"main_hr\">
                     <input placeholder="''' + load_lang('discussion') + ' ' + load_lang('name') + '''" name="topic" type="text">
-                    <hr>
+                    <hr class=\"main_hr\">
                     <button type="submit">''' + load_lang('open') + '''</button>
                     '''
 
@@ -2784,14 +2781,14 @@ def login():
             data =  '''
                     <form method="post">
                         <input placeholder="''' + load_lang('id') + '''" name="id" type="text">
-                        <hr>
+                        <hr class=\"main_hr\">
                         <input placeholder="''' + load_lang('password') + '''" name="pw" type="password">
-                        <hr>
+                        <hr class=\"main_hr\">
                         ''' + captcha_get() + '''
                         <button type="submit">''' + load_lang('login') + '''</button><a href="/register">''' + load_lang('register_suggest') + '''</a>
-                        <hr>
+                        <hr class=\"main_hr\">
                         ''' + oauth_content + '''
-                        <hr>
+                        <hr class=\"main_hr\">
                         <span>''' + load_lang('http_warring') + '''</span>
                     </form>
                     ''',
@@ -2982,7 +2979,7 @@ def change_password():
                 data =  '''
                         <form method="post">
                             <span>id : ''' + ip + '''</span>
-                            <hr>
+                            <hr class=\"main_hr\">
                             <input placeholder="''' + load_lang('now') + ' ' + load_lang('password') + '''" name="pw4" type="password">
                             <br>
                             <br>
@@ -2990,22 +2987,22 @@ def change_password():
                             <br>
                             <br>
                             <input placeholder="''' + load_lang('password') + ' ' + load_lang('confirm') + '''" name="pw3" type="password">
-                            <hr>
+                            <hr class=\"main_hr\">
                             <span>''' + load_lang('user') + ' ' + load_lang('skin') + '''</span>
                             <br>
                             <br>
                             <select name="skin">''' + div2 + '''</select>
-                            <hr>
+                            <hr class=\"main_hr\">
                             <span>''' + load_lang('user') + ' ' + load_lang('language') + '''</span>
                             <br>
                             <br>
                             <select name="lang">''' + div3 + '''</select>
-                            <hr>
+                            <hr class=\"main_hr\">
                             <span>OAuth ''' + load_lang('connection') + '''</span>
                             ''' + oauth_content + '''
-                            <hr>
+                            <hr class=\"main_hr\">
                             <button type="submit">''' + load_lang('edit') + '''</button>
-                            <hr>
+                            <hr class=\"main_hr\">
                             <span>''' + load_lang('http_warring') + '''</span>
                         </form>
                         ''',
@@ -3055,9 +3052,9 @@ def user_check(name = None):
     record = curs.fetchall()
     if record:
         if not flask.request.args.get('plus', None):
-            div = '<a href="/manager/14?plus=' + url_pas(name) + '">(' + load_lang('compare') + ')</a><hr>'
+            div = '<a href="/manager/14?plus=' + url_pas(name) + '">(' + load_lang('compare') + ')</a><hr class=\"main_hr\">'
         else:
-            div = '<a href="/check/' + url_pas(name) + '">(' + name + ')</a> <a href="/check/' + url_pas(flask.request.args.get('plus', None)) + '">(' + flask.request.args.get('plus', None) + ')</a><hr>'
+            div = '<a href="/check/' + url_pas(name) + '">(' + name + ')</a> <a href="/check/' + url_pas(flask.request.args.get('plus', None)) + '">(' + flask.request.args.get('plus', None) + ')</a><hr class=\"main_hr\">'
 
         div +=  '''
                 <table id="main_table_set">
@@ -3155,13 +3152,16 @@ def register():
 
             return redirect('/need_email')
         else:
+            curs.execute('select data from other where name = "encode"')
+            db_data = curs.fetchall()
+
             curs.execute("select id from user limit 1")
             if not curs.fetchall():
-                curs.execute("insert into user (id, pw, acl, date) values (?, ?, 'owner', ?)", [flask.request.form.get('id', None), hashed, get_time()])
+                curs.execute("insert into user (id, pw, acl, date, encode) values (?, ?, 'owner', ?, ?)", [flask.request.form.get('id', None), hashed, get_time(), db_data[0][0]])
 
                 first = 1
             else:
-                curs.execute("insert into user (id, pw, acl, date) values (?, ?, 'user', ?)", [flask.request.form.get('id', None), hashed, get_time()])
+                curs.execute("insert into user (id, pw, acl, date, encode) values (?, ?, 'user', ?, ?)", [flask.request.form.get('id', None), hashed, get_time(), db_data[0][0]])
 
                 first = 0
 
@@ -3186,7 +3186,7 @@ def register():
         curs.execute('select data from other where name = "contract"')
         data = curs.fetchall()
         if data and data[0][0] != '':
-            contract = data[0][0] + '<hr>'
+            contract = data[0][0] + '<hr class=\"main_hr\">'
 
         return easy_minify(flask.render_template(skin_check(),    
             imp = [load_lang('register'), wiki_set(), custom(), other2([0, 0])],
@@ -3194,14 +3194,14 @@ def register():
                     <form method="post">
                         ''' + contract + '''
                         <input placeholder="''' + load_lang('id') + '''" name="id" type="text">
-                        <hr>
+                        <hr class=\"main_hr\">
                         <input placeholder="''' + load_lang('password') + '''" name="pw" type="password">
-                        <hr>
+                        <hr class=\"main_hr\">
                         <input placeholder="''' + load_lang('confirm') + '''" name="pw2" type="password">
-                        <hr>
+                        <hr class=\"main_hr\">
                         ''' + captcha_get() + '''
                         <button type="submit">''' + load_lang('register') + '''</button>
-                        <hr>
+                        <hr class=\"main_hr\">
                         <span>''' + load_lang('http_warring') + '''</span>
                     </form>
                     ''',
@@ -3249,10 +3249,10 @@ def need_email(tool = 'pass_find'):
                 imp = ['email', wiki_set(), custom(), other2([0, 0])],
                 data =  '''
                         <a href="/email_filter">(email ''' + load_lang('list') + ''')</a>
-                        <hr>
+                        <hr class=\"main_hr\">
                         <form method="post">
                             <input placeholder="email" name="email" type="text">
-                            <hr>
+                            <hr class=\"main_hr\">
                             <button type="submit">''' + load_lang('save') + '''</button>
                         </form>
                         ''',
@@ -3264,9 +3264,9 @@ def need_email(tool = 'pass_find'):
                 data =  '''
                         <form method="post">
                             <input placeholder="''' + load_lang('id') + '''" name="id" type="text">
-                            <hr>
+                            <hr class=\"main_hr\">
                             <input placeholder="email" name="email" type="text">
-                            <hr>
+                            <hr class=\"main_hr\">
                             <button type="submit">''' + load_lang('save') + '''</button>
                         </form>
                         ''',
@@ -3278,13 +3278,16 @@ def check_key(tool = 'check_pass_key'):
     if flask.request.method == 'POST':
         if tool == 'check_key':
             if 'c_id' in flask.session and flask.session['c_key'] == flask.request.form.get('key', None):
+                curs.execute('select data from other where name = "encode"')
+                db_data = curs.fetchall()
+
                 curs.execute("select id from user limit 1")
                 if not curs.fetchall():
-                    curs.execute("insert into user (id, pw, acl, date) values (?, ?, 'owner', ?)", [flask.session['c_id'], flask.session['c_pw'], get_time()])
+                    curs.execute("insert into user (id, pw, acl, date, encode) values (?, ?, 'owner', ?)", [flask.session['c_id'], flask.session['c_pw'], get_time(), db_data[0][0]])
 
                     first = 1
                 else:
-                    curs.execute("insert into user (id, pw, acl, date) values (?, ?, 'user', ?)", [flask.session['c_id'], flask.session['c_pw'], get_time()])
+                    curs.execute("insert into user (id, pw, acl, date, encode) values (?, ?, 'user', ?)", [flask.session['c_id'], flask.session['c_pw'], get_time(), db_data[0][0]])
 
                     first = 0
 
@@ -3344,7 +3347,7 @@ def check_key(tool = 'check_pass_key'):
             data =  '''
                     <form method="post">
                         <input placeholder="key" name="key" type="text">
-                        <hr>
+                        <hr class=\"main_hr\">
                         <button type="submit">''' + load_lang('save') + '''</button>
                     </form>
                     ''',
@@ -3404,9 +3407,9 @@ def user_ban(name = None):
                 data += '<li>' + load_lang('login') + ' ' + load_lang('able') + '</li>'
 
             if end[0][1] != '':
-                data += '<li>' + load_lang('why') + ' : ' + end[0][1] + '</li></ul><hr>'
+                data += '<li>' + load_lang('why') + ' : ' + end[0][1] + '</li></ul><hr class=\"main_hr\">'
             else:
-                data += '</ul><hr>'
+                data += '</ul><hr class=\"main_hr\">'
         else:
             if re.search("^([0-9]{1,3}\.[0-9]{1,3})$", name):
                 now = load_lang('band') + ' ' + load_lang('ban')
@@ -3414,17 +3417,17 @@ def user_ban(name = None):
                 now = load_lang('ban')
                 
             if ip_or_user(name) == 1:
-                plus = '<input type="checkbox" name="login"> ' + load_lang('login') + ' ' + load_lang('able') + '<hr>'
+                plus = '<input type="checkbox" name="login"> ' + load_lang('login') + ' ' + load_lang('able') + '<hr class=\"main_hr\">'
             else:
                 plus = ''
 
             data =  '''
                     <input placeholder="''' + load_lang('second') + '''" name="second" type="text">
-                    <hr>
+                    <hr class=\"main_hr\">
                     <input type="checkbox" name="limitless"> ''' + load_lang('limitless') + '''
-                    <hr>
+                    <hr class=\"main_hr\">
                     <input placeholder="''' + load_lang('why') + '''" name="why" type="text">
-                    <hr>
+                    <hr class=\"main_hr\">
                     ''' + plus
 
         return easy_minify(flask.render_template(skin_check(), 
@@ -3503,7 +3506,7 @@ def acl(name = None):
         data += '</select>'
         
         if not re.search('^user:', name):
-            data += '<hr>' + load_lang('discussion') + ' acl<br><br><select name="dis" ' + check_ok + '>'
+            data += '<hr class=\"main_hr\">' + load_lang('discussion') + ' acl<br><br><select name="dis" ' + check_ok + '>'
         
             curs.execute("select dis, why, view from acl where title = ?", [name])
             acl_data = curs.fetchall()
@@ -3517,7 +3520,7 @@ def acl(name = None):
                 
             data += '</select>'
 
-            data += '<hr>' + load_lang('view') + ' acl<br><br><select name="view" ' + check_ok + '>'
+            data += '<hr class=\"main_hr\">' + load_lang('view') + ' acl<br><br><select name="view" ' + check_ok + '>'
             for data_list in acl_list:
                 if acl_data and acl_data[0][2] == data_list[0]:
                     check = 'selected="selected"'
@@ -3530,16 +3533,16 @@ def acl(name = None):
                 
             if check_ok == '':
                 if acl_data:
-                    data += '<hr><input value="' + html.escape(acl_data[0][1]) + '" placeholder="' + load_lang('why') + '" name="why" type="text" ' + check_ok + '>'
+                    data += '<hr class=\"main_hr\"><input value="' + html.escape(acl_data[0][1]) + '" placeholder="' + load_lang('why') + '" name="why" type="text" ' + check_ok + '>'
                 else:
-                    data += '<hr><input placeholder="' + load_lang('why') + '" name="why" type="text" ' + check_ok + '>'
+                    data += '<hr class=\"main_hr\"><input placeholder="' + load_lang('why') + '" name="why" type="text" ' + check_ok + '>'
             
         return easy_minify(flask.render_template(skin_check(), 
             imp = [name, wiki_set(), custom(), other2([' (acl)', 0])],
             data =  '''
                     <form method="post">
                         ''' + data + '''
-                        <hr>
+                        <hr class=\"main_hr\">
                         <button type="submit" ''' + check_ok + '''>acl ''' + load_lang('edit') + '''</button>
                     </form>
                     ''',
@@ -3603,7 +3606,7 @@ def user_admin(name = None):
             data =  '''
                     <form method="post">
                         <select name="select">''' + div + '''</select>
-                        <hr>
+                        <hr class=\"main_hr\">
                         <button type="submit">''' + load_lang('edit') + '''</button>
                     </form>
                     ''',
@@ -3804,7 +3807,7 @@ def read_view(name = None):
     curs.execute("select data from other where name = 'body'")
     body = curs.fetchall()
     if body:
-        div = body[0][0] + '<hr>' + div
+        div = body[0][0] + '<hr class=\"main_hr\">' + div
 
     return easy_minify(flask.render_template(skin_check(), 
         imp = [flask.request.args.get('show', name), wiki_set(), custom(), other2([sub + acl, r_date])],
@@ -3910,7 +3913,7 @@ def recent_changes(name = None, tool = 'record'):
                         '''
 
                 if what == 'all':
-                    div = '<a href="/topic_record/' + url_pas(name) + '">(' + load_lang('discussion') + ')</a> <a href="/record/' + url_pas(name) + '?what=delete">(' + load_lang('delete') + ')</a> <a href="/record/' + url_pas(name) + '?what=move">(' + load_lang('move') + ')</a> <a href="/record/' + url_pas(name) + '?what=revert">(' + load_lang('revert') + ')</a><hr>' + div
+                    div = '<a href="/topic_record/' + url_pas(name) + '">(' + load_lang('discussion') + ')</a> <a href="/record/' + url_pas(name) + '?what=delete">(' + load_lang('delete') + ')</a> <a href="/record/' + url_pas(name) + '?what=move">(' + load_lang('move') + ')</a> <a href="/record/' + url_pas(name) + '?what=revert">(' + load_lang('revert') + ')</a><hr class=\"main_hr\">' + div
                     
                     curs.execute("select id, title, date, ip, send, leng from history where ip = ? order by date desc limit ?, '50'", [name, str(sql_num)])
                 else:
@@ -3939,9 +3942,9 @@ def recent_changes(name = None, tool = 'record'):
                     '''
             
             if what == 'all':
-                div = '<a href="/recent_changes?what=delete">(' + load_lang('delete') + ')</a> <a href="/recent_changes?what=move">(' + load_lang('move') + ')</a> <a href="/recent_changes?what=revert">(' + load_lang('revert') + ')</a><hr>' + div
+                div = '<a href="/recent_changes?what=delete">(' + load_lang('delete') + ')</a> <a href="/recent_changes?what=move">(' + load_lang('move') + ')</a> <a href="/recent_changes?what=revert">(' + load_lang('revert') + ')</a><hr class=\"main_hr\">' + div
 
-                div = '<a href="/recent_discuss">(' + load_lang('discussion') + ')</a> <a href="/block_log">(' + load_lang('ban') + ')</a> <a href="/user_log">(' + load_lang('subscriber') + ')</a> <a href="/admin_log">(' + load_lang('authority') + ')</a><hr>' + div
+                div = '<a href="/recent_discuss">(' + load_lang('discussion') + ')</a> <a href="/block_log">(' + load_lang('ban') + ')</a> <a href="/user_log">(' + load_lang('subscriber') + ')</a> <a href="/admin_log">(' + load_lang('authority') + ')</a><hr class=\"main_hr\">' + div
                 
                 curs.execute("select id, title, date, ip, send, leng from history where not title like 'user:%' order by date desc limit ?, 50", [str(sql_num)])
             else:
@@ -4039,9 +4042,9 @@ def recent_changes(name = None, tool = 'record'):
                             <select name="a">''' + select + '''</select> <select name="b">''' + select + '''</select>
                             <button type="submit">''' + load_lang('compare') + '''</button>
                         </form>
-                        <hr>
+                        <hr class=\"main_hr\">
                         <a href="/move_data/''' + url_pas(name) + '''">(''' + load_lang('move') + ''')</a>
-                        <hr>
+                        <hr class=\"main_hr\">
                         ''' + div
                 title = name
                 
@@ -4166,11 +4169,11 @@ def upload():
             data =  '''
                     <form method="post" enctype="multipart/form-data" accept-charset="utf8">
                         <input type="file" name="f_data">
-                        <hr>
+                        <hr class=\"main_hr\">
                         <input placeholder="''' + load_lang('name') + '''" name="f_name" type="text">
-                        <hr>
+                        <hr class=\"main_hr\">
                         <input placeholder="''' + load_lang('license') + '''" name="f_lice" type="text">
-                        <hr>
+                        <hr class=\"main_hr\">
                         ''' + captcha_get() + '''
                         <button id="save" type="submit">''' + load_lang('save') + '''</button>
                     </form>
@@ -4277,7 +4280,7 @@ def user_info():
 
 @app.route('/watch_list')
 def watch_list():
-    div = 'limit : 10<hr>'
+    div = 'limit : 10<hr class=\"main_hr\">'
     
     if custom()[2] == 0:
         return redirect('/login')
@@ -4288,7 +4291,7 @@ def watch_list():
         div += '<li><a href="/w/' + url_pas(data_list[0]) + '">' + data_list[0] + '</a> <a href="/watch_list/' + url_pas(data_list[0]) + '">(' + load_lang('delete') + ')</a></li>'
 
     if data:
-        div = '<ul>' + div + '</ul><hr>'
+        div = '<ul>' + div + '</ul><hr class=\"main_hr\">'
 
     div += '<a href="/manager/13">(' + load_lang('plus') + ')</a>'
 
@@ -4348,21 +4351,21 @@ def custom_head_view():
             else:
                 data = ''
         else:
-            start = '<span>' + load_lang('user_head_warring') + '</span><hr>'
+            start = '<span>' + load_lang('user_head_warring') + '</span><hr class=\"main_hr\">'
             
             if 'head' in flask.session:
                 data = flask.session['head']
             else:
                 data = ''
 
-        start += '<span>&lt;style&gt;css&lt;/style&gt;<br>&lt;script&gt;js&lt;/script&gt;</span><hr>'
+        start += '<span>&lt;style&gt;css&lt;/style&gt;<br>&lt;script&gt;js&lt;/script&gt;</span><hr class=\"main_hr\">'
 
         return easy_minify(flask.render_template(skin_check(), 
             imp = [load_lang('user') + ' head', wiki_set(), custom(), other2([0, 0])],
             data =  start + '''
                     <form method="post">
                         <textarea rows="25" cols="100" name="content">''' + data + '''</textarea>
-                        <hr>
+                        <hr class=\"main_hr\">
                         <button id="save" type="submit">''' + load_lang('save') + '''</button>
                     </form>
                     ''',

+ 25 - 17
func.py

@@ -86,7 +86,7 @@ def captcha_get():
             curs.execute('select data from other where name = "sec_re"')
             sec_re = curs.fetchall()
             if sec_re and sec_re[0][0] != '':
-                data += recaptcha[0][0] + '<hr>'
+                data += recaptcha[0][0] + '<hr class=\"main_hr\">'
 
     return data
 
@@ -188,17 +188,25 @@ def pw_check(data, data2, type_d = 'no', id_d = ''):
     else:
         set_data = db_data[0][0]
     
-    if set_data in ['sha256', 'sha3']:
-        data3 = pw_encode(data = data, type_d = set_data)
-        if data3 == data2:
-            re_data = 1
-        else:
-            re_data = 0
-    else:
-        if pw_encode(data, data2, 'bcrypt') == data2:
-            re_data = 1
+    while 1:
+        if set_data in ['sha256', 'sha3']:
+            data3 = pw_encode(data = data, type_d = set_data)
+            if data3 == data2:
+                re_data = 1
+            else:
+                re_data = 0
+
+            break
         else:
-            re_data = 0
+            try:
+                if pw_encode(data, data2, 'bcrypt') == data2:
+                    re_data = 1
+                else:
+                    re_data = 0
+
+                break
+            except:
+                set_data = db_data[0][0]
 
     if db_data[0][0] != set_data and re_data == 1 and id_d != '':
         curs.execute("update user set pw = ?, encode = ? where id = ?", [pw_encode(data), db_data[0][0], id_d])
@@ -304,16 +312,16 @@ def edit_help_button():
     for insert_data in insert_list:
         data += '<a href="javascript:void(0);" onclick="insert_data(\'content\', \'' + insert_data[0] + '\');">(' + insert_data[1] + ')</a> '
 
-    return [js_data, data + '<hr>']
+    return [js_data, data + '<hr class=\"main_hr\">']
 
 def ip_warring():
     if custom()[2] == 0:    
         curs.execute('select data from other where name = "no_login_warring"')
         data = curs.fetchall()
         if data and data[0][0] != '':
-            text_data = '<span>' + data[0][0] + '</span><hr>'
+            text_data = '<span>' + data[0][0] + '</span><hr class=\"main_hr\">'
         else:
-            text_data = '<span>' + load_lang('no_login_warring') + '</span><hr>'
+            text_data = '<span>' + load_lang('no_login_warring') + '</span><hr class=\"main_hr\">'
     else:
         text_data = ''
 
@@ -341,11 +349,11 @@ def next_fix(link, num, page, end = 50):
 
     if num == 1:
         if len(page) == end:
-            list_data += '<hr><a href="' + link + str(num + 1) + '">(' + load_lang('next') + ')</a>'
+            list_data += '<hr class=\"main_hr\"><a href="' + link + str(num + 1) + '">(' + load_lang('next') + ')</a>'
     elif len(page) != end:
-        list_data += '<hr><a href="' + link + str(num - 1) + '">(' + load_lang('previous') + ')</a>'
+        list_data += '<hr class=\"main_hr\"><a href="' + link + str(num - 1) + '">(' + load_lang('previous') + ')</a>'
     else:
-        list_data += '<hr><a href="' + link + str(num - 1) + '">(' + load_lang('previous') + ')</a> <a href="' + link + str(num + 1) + '">(' + load_lang('next') + ')</a>'
+        list_data += '<hr class=\"main_hr\"><a href="' + link + str(num - 1) + '">(' + load_lang('previous') + ')</a> <a href="' + link + str(num + 1) + '">(' + load_lang('next') + ')</a>'
 
     return list_data
 

+ 2 - 1
views/main_css/main.css

@@ -31,4 +31,5 @@ s:hover, strike:hover, del:hover { color: gray; background-color: gainsboro; tex
 #main_table_width_half { width: 50%; }
 #main_table_width_quarter { width: 25%; }
 #redirect { border: 1px solid; padding: 10px; }
-body { word-break: break-all; overflow: scroll; }
+body { word-break: break-all; overflow: scroll; }
+hr.main_hr { border: none; }