Przeglądaj źródła

ban이랑 rb 테이블 통합

Surplus_Up (2DU) 6 lat temu
rodzic
commit
65e9a58404

+ 1 - 3
app.py

@@ -132,7 +132,6 @@ create_data['all_data'] = [
     'rd',
     'user',
     'user_set',
-    'ban',
     'topic',
     'rb',
     'back',
@@ -179,9 +178,8 @@ if setup_tool != 0:
     create_data['user'] = ['id', 'pw', 'acl', 'date', 'encode']
     create_data['user_set'] = ['name', 'id', 'data']
     create_data['user_application'] = ['id', 'pw', 'date', 'encode', 'question', 'answer', 'ip', 'ua', 'token', 'email']
-    create_data['ban'] = ['block', 'end', 'why', 'band', 'login']
     create_data['topic'] = ['id', 'data', 'date', 'ip', 'block', 'top', 'code']
-    create_data['rb'] = ['block', 'end', 'today', 'blocker', 'why', 'band']
+    create_data['rb'] = ['block', 'end', 'today', 'blocker', 'why', 'band', 'login', 'ongoing']
     create_data['back'] = ['title', 'link', 'type']
     create_data['custom'] = ['user', 'css']
     create_data['other'] = ['name', 'data', 'coverage']

+ 1 - 1
emergency_tool.py

@@ -195,7 +195,7 @@ elif what_i_do == '3':
         ''
     ])
 
-    curs.execute(db_change("delete from ban where block = ?"), [user_data])
+    curs.execute(db_change("update rb set ongoing = '' where block = ?"), [user_data])
 elif what_i_do == '4':
     print('----')
     print('Host : ', end = '')

+ 3 - 3
route/api_user_info.py

@@ -7,7 +7,7 @@ def api_user_info_2(conn, name):
         plus_d = ''
         plus_t = []
 
-        curs.execute(db_change("delete from ban where (end < ? and end like '2%')"), [get_time()])
+        curs.execute(db_change("update rb set ongoing = '' where end < ? and end != '' and ongoing = '1'"), [get_time()])
         conn.commit()
 
         plus_d = '''
@@ -49,7 +49,7 @@ def api_user_info_2(conn, name):
             plus_t += [load_lang('blocked') + '<br>']
             regex_ban = 0
 
-            curs.execute(db_change("select login, block, end, why from ban where band = 'regex'"))
+            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')
@@ -59,7 +59,7 @@ def api_user_info_2(conn, name):
                     regex_ban = 1
 
             if regex_ban == 0:
-                curs.execute(db_change("select end, login, band, why from ban where block = ?"), [name])
+                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'))

+ 16 - 21
route/give_user_ban.py

@@ -19,9 +19,6 @@ def give_user_ban_2(conn, name):
     if flask.request.method == 'POST':
         name = name if name else flask.request.form.get('name', 'test')
 
-        if admin_check(1, 'ban' + ((' (' + name + ')') if name else '')) != 1:
-            return re_error('/error/3')
-
         end = flask.request.form.get('second', '0')
         end = end if end else '0'
 
@@ -35,6 +32,9 @@ def give_user_ban_2(conn, name):
         else:
             type_d = None
 
+        if admin_check(1, 'ban' + (' ' + type_d if type_d else '') + ' (' + name + ')') != 1:
+            return re_error('/error/3')
+
         ban_insert(
             name,
             end,
@@ -49,7 +49,7 @@ def give_user_ban_2(conn, name):
         if admin_check(1) != 1:
             return re_error('/error/3')
 
-        curs.execute(db_change("select end, why from ban where block = ?"), [name])
+        curs.execute(db_change("select end, why from rb where block = ? and ongoing = '1'"), [name])
         end = curs.fetchall()
         if end:
             main_name = name
@@ -61,37 +61,32 @@ def give_user_ban_2(conn, name):
             else:
                 data = '<ul><li>' + load_lang('period') + ' : ' + end[0][0] + '</li>'
 
-            curs.execute(db_change("select block from ban where block = ? and login = 'O'"), [name])
+            curs.execute(db_change("select block from rb where block = ? and login = 'O' and ongoing = '1'"), [name])
             if curs.fetchall():
                 data += '<li>' + load_lang('login_able') + '</li>'
 
             if end[0][1] != '':
-                data += '<li>' + load_lang('why') + ' : ' + end[0][1] + '</li></ul><hr class=\"main_hr\">'
+                data += '<li>' + load_lang('why') + ' : ' + end[0][1] + '</li></ul><hr class="main_hr">'
             else:
-                data += '</ul><hr class=\"main_hr\">'
+                data += '</ul><hr class="main_hr">'
         else:
             if name:
                 main_name = name
-
-                if name and re.search(r"^([0-9]{1,3}\.[0-9]{1,3})$", name):
-                    b_now = load_lang('band_ban')
-                else:
-                    b_now = load_lang('ban')
-
+                b_now = load_lang('ban')
                 now = ' (' + b_now + ')'
 
                 if name and ip_or_user(name) == 1:
-                    plus = '<input type="checkbox" name="login"> ' + load_lang('login_able') + '<hr class=\"main_hr\">'
+                    plus = '<input type="checkbox" name="login"> ' + load_lang('login_able') + '<hr class="main_hr">'
                 else:
                     plus = ''
 
-                name += '<hr class=\"main_hr\">'
+                name += '<hr class="main_hr">'
                 regex = ''
             else:
                 main_name = load_lang('ban')
-                name = '<input placeholder="' + load_lang('name_or_ip_or_regex') + '" name="name" type="text"><hr class=\"main_hr\">'
-                regex = '<input type="checkbox" name="regex"> ' + load_lang('regex') + '<hr class=\"main_hr\">'
-                plus = '<input type="checkbox" name="login"> ' + load_lang('login_able') + '<hr class=\"main_hr\">'
+                name = '<input placeholder="' + load_lang('name_or_ip_or_regex') + '" name="name" type="text"><hr class="main_hr">'
+                regex = '<input type="checkbox" name="regex"> ' + load_lang('regex') + '<hr class="main_hr">'
+                plus = '<input type="checkbox" name="login"> ' + load_lang('login_able') + '<hr class="main_hr">'
                 now = 0
                 b_now = load_lang('ban')
 
@@ -109,12 +104,12 @@ def give_user_ban_2(conn, name):
 
             data = name + '''
                 <script>function insert_v(name, data) { document.getElementById(name).value = data; }</script>''' + insert_data + '''
-                <hr class=\"main_hr\">
+                <hr class="main_hr">
                 <input placeholder="''' + load_lang('ban_period') + ''' (''' + load_lang('second') + ''')" name="second" id="second" type="text">
-                <hr class=\"main_hr\">
+                <hr class="main_hr">
                 ''' + regex + '''
                 <input placeholder="''' + load_lang('why') + '''" name="why" type="text">
-                <hr class=\"main_hr\">
+                <hr class="main_hr">
             ''' + plus
 
         return easy_minify(flask.render_template(skin_check(),

+ 13 - 11
route/list_block.py

@@ -21,7 +21,7 @@ def list_block_2(conn, name, tool):
 
     data_list = ''
 
-    curs.execute(db_change("delete from ban where (end < ? and end like '2%')"), [get_time()])
+    curs.execute(db_change("update rb set ongoing = '' where end < ? and end != '' and ongoing = '1'"), [get_time()])
     conn.commit()
 
     if not name:
@@ -29,7 +29,11 @@ def list_block_2(conn, name, tool):
             sub = ' (' + load_lang('in_progress') + ')'
             menu = [['block_log', load_lang('normal')]]
 
-            curs.execute(db_change("select why, block, '', end, '', band from ban where ((end > ? and end like '2%') or end = '') order by end desc limit ?, 50"), [
+            curs.execute(db_change("" + \
+                "select why, block, '', end, '', band from rb " + \
+                "where ((end > ? and end like '2%') or end = '') and ongoing = '1' " + \
+                "order by end desc limit ?, 50"
+            ), [
                 get_time(),
                 sql_num
             ])
@@ -37,10 +41,12 @@ def list_block_2(conn, name, tool):
             sub = 0
             menu = 0
 
-            div = '''
-                <a href="/manager/11">(''' + load_lang('blocked') + ''')</a> <a href="/manager/12">(''' + load_lang('admin') + ''')</a> <a href="?type=ongoing">(''' + load_lang('in_progress') + ''')</a>
-                <hr class=\"main_hr\">
-            ''' + div
+            div = '' + \
+                '<a href="/manager/11">(' + load_lang('blocked') + ')</a> ' + \
+                '<a href="/manager/12">(' + load_lang('admin') + ')</a> ' + \
+                '<a href="?type=ongoing">(' + load_lang('in_progress') + ')</a>' + \
+                '<hr class="main_hr">' + \
+            '' + div
 
             curs.execute(db_change("select why, block, blocker, end, today, band from rb order by today desc limit ?, 50"), [sql_num])
     else:
@@ -84,11 +90,7 @@ def list_block_2(conn, name, tool):
         else:
             admin = ip_pas(data[2])
 
-        if data[4] == '':
-            start = ''
-        else:
-            start = load_lang('start') + ' : ' + data[4]
-
+        start = load_lang('start') + ' : ' + (data[4] if data[4] != '' else '0')
         div += '''
             <tr>
                 <td>''' + ip + '''</td>

+ 1 - 1
route/list_user.py

@@ -17,7 +17,7 @@ def list_user_2(conn):
     user_list = curs.fetchall()
     for data in user_list:
         if admin_one == 1:
-            curs.execute(db_change("select block from ban where block = ?"), [data[0]])
+            curs.execute(db_change("select block from rb where block = ? and ongoing = '1'"), [data[0]])
             if curs.fetchall():
                 ban_button = ' <a href="/ban/' + url_pas(data[0]) + '">(' + load_lang('ban_release') + ')</a>'
             else:

+ 34 - 20
route/tool/func.py

@@ -183,8 +183,7 @@ def update(ver_num, set_data):
 
     if ver_num < 3170400:
         curs.execute(db_change("select title, sub, code from topic where id = '1'"))
-        change_topic = curs.fetchall()
-        for i in change_topic:
+        for i in curs.fetchall():
             curs.execute(db_change("update topic set code = ? where title = ? and sub = ?"), [i[2], i[0], i[1]])
             curs.execute(db_change("update rd set code = ? where title = ? and sub = ?"), [i[2], i[0], i[1]])
 
@@ -207,16 +206,14 @@ def update(ver_num, set_data):
 
     if ver_num < 3183603:
         curs.execute(db_change("select block from ban where band = 'O'"))
-        change_band = curs.fetchall()
-        for i in change_band:
+        for i in curs.fetchall():
             curs.execute(db_change("update ban set block = ?, band = 'regex' where block = ? and band = 'O'"), [
                 '^' + i[0].replace('.', '\\.'),
                 i[0]
             ])
 
         curs.execute(db_change("select block from rb where band = 'O'"))
-        change_band = curs.fetchall()
-        for i in change_band:
+        for i in curs.fetchall():
             curs.execute(db_change("update rb set block = ?, band = 'regex' where block = ? and band = 'O'"), [
                 '^' + i[0].replace('.', '\\.'),
                 i[0]
@@ -225,6 +222,22 @@ def update(ver_num, set_data):
     if ver_num < 3184400:
         curs.execute(db_change('delete from cache_data'))
 
+    # set 1
+    if ver_num < 3190201:
+        today_time = get_time()
+
+        curs.execute(db_change("select block, end, why, band, login from ban"))
+        for i in curs.fetchall():
+            curs.execute(db_change("insert into rb (block, end, today, why, band, login, ongoing) values (?, ?, ?, ?, ?, ?, ?)"), [
+                i[0],
+                i[1],
+                today_time,
+                i[2],
+                i[3],
+                i[4],
+                '1'
+            ])
+
     conn.commit()
 
     print('Update pass')
@@ -989,10 +1002,13 @@ def ban_check(ip = None, tool = None):
     if admin_check(None, None, ip) == 1:
         return 0
 
-    curs.execute(db_change("delete from ban where (end < ? and end like '2%')"), [get_time()])
+    curs.execute(db_change("update rb set ongoing = '' where end < ? and end != '' and ongoing = '1'"), [get_time()])
     conn.commit()
 
-    curs.execute(db_change("select login, block from ban where ((end > ? and end like '2%') or end = '') and band = 'regex'"), [get_time()])
+    curs.execute(db_change("" + \
+        "select login, block from rb " + \
+        "where ((end > ? and end != '') or end = '') and band = 'regex' and ongoing = '1'" + \
+    ""), [get_time()])
     regex_d = curs.fetchall()
     for test_r in regex_d:
         g_regex = re.compile(test_r[1])
@@ -1003,7 +1019,10 @@ def ban_check(ip = None, tool = None):
             else:
                 return 1
 
-    curs.execute(db_change("select login from ban where ((end > ? and end like '2%') or end = '') and block = ? and band = ''"), [get_time(), ip])
+    curs.execute(db_change("" + \
+        "select login from rb " + \
+        "where ((end > ? and end != '') or end = '') and block = ? and band = '' and ongoing = '1'" + \
+    ""), [get_time(), ip])
     ban_d = curs.fetchall()
     if ban_d:
         if tool and tool == 'login':
@@ -1022,9 +1041,11 @@ def ban_insert(name, end, why, login, blocker, type_d = None):
     else:
         band = ''
 
-    curs.execute(db_change("delete from ban where (end < ? and end like '2%')"), [get_time()])
+    curs.execute(db_change("update rb set ongoing = '' where end < ? and end != '' and ongoing = '1'"), [now_time])
 
-    curs.execute(db_change("select block from ban where ((end > ? and end like '2%') or end = '') and block = ? and band = ?"), [get_time(), name, band])
+    curs.execute(db_change("" + \
+        "select block from rb where ((end > ? and end != '') or end = '') and block = ? and band = ? and ongoing = '1'" + \
+    ""), [now_time, name, band])
     if curs.fetchall():
         curs.execute(db_change("insert into rb (block, end, today, blocker, why, band) values (?, ?, ?, ?, ?, ?)"), [
             name,
@@ -1034,7 +1055,7 @@ def ban_insert(name, end, why, login, blocker, type_d = None):
             '',
             band
         ])
-        curs.execute(db_change("delete from ban where block = ? and band = ?"), [name, band])
+        curs.execute(db_change("update rb set ongoing = '' where block = ? and band = ? and ongoing = '1'"), [name, band])
     else:
         if login != '':
             login = 'O'
@@ -1050,7 +1071,7 @@ def ban_insert(name, end, why, login, blocker, type_d = None):
         else:
             r_time = ''
 
-        curs.execute(db_change("insert into rb (block, end, today, blocker, why, band) values (?, ?, ?, ?, ?, ?)"), [
+        curs.execute(db_change("insert into rb (block, end, today, blocker, why, band, ongoing) values (?, ?, ?, ?, ?, ?, '1')"), [
             name, 
             r_time, 
             now_time, 
@@ -1058,13 +1079,6 @@ def ban_insert(name, end, why, login, blocker, type_d = None):
             why, 
             band
         ])
-        curs.execute(db_change("insert into ban (block, end, why, band, login) values (?, ?, ?, ?, ?)"), [
-            name, 
-            r_time, 
-            why, 
-            band, 
-            login
-        ])
 
     conn.commit()
 

+ 1 - 1
route/topic_admin.py

@@ -30,7 +30,7 @@ def topic_admin_2(conn, topic_num, num):
         curs.execute(db_change("select id from topic where code = ? and id = ? and top = 'O'"), [topic_num, num])
         top_topic_d = curs.fetchall()
 
-        curs.execute(db_change("select end from ban where block = ?"), [data[0][1]])
+        curs.execute(db_change("select end from rb where block = ? and ongoing = '1'"), [data[0][1]])
         user_ban_d = curs.fetchall()
 
         ban += '''

+ 1 - 1
route/user_tool.py

@@ -12,7 +12,7 @@ def user_tool_2(conn, name):
     '''
 
     if admin_check(1) == 1:
-        curs.execute(db_change("select block from ban where block = ?"), [name])
+        curs.execute(db_change("select block from rb where block = ? and ongoing = '1'"), [name])
         if curs.fetchall():
             ban_name = load_lang('ban_release')
         else:

+ 2 - 2
version.json

@@ -1,7 +1,7 @@
 {
     "master" : {
-        "r_ver" : "v3.1.9-master-01",
-        "c_ver" : "3184400",
+        "r_ver" : "v3.1.9-master-02",
+        "c_ver" : "3190201",
         "s_ver" : "8"
     }, "stable" : {
         "r_ver" : "v3.1.8-stable-02",