Bläddra i källkod

코드 정리

2DU 9 år sedan
förälder
incheckning
843da7405c
1 ändrade filer med 168 tillägg och 167 borttagningar
  1. 168 167
      app.py

+ 168 - 167
app.py

@@ -29,7 +29,7 @@ def 시작():
     try:
         DB_실행("select * from history limit 1")
     except:
-        DB_실행("create table history(id text, title text, data longtext, date text, ip text, send text, leng text)")
+        DB_실행("create table 역사_추가(id text, title text, data longtext, date text, ip text, send text, leng text)")
     
     try:
         DB_실행("select * from rd limit 1")
@@ -137,7 +137,7 @@ def show_diff(seqm):
            
 def 관리자_확인():
     if(session.get('Now') == True):
-        ip = 아이피(request)
+        ip = 아이피_확인(request)
         DB_실행("select * from user where id = '" + DB_인코딩(ip) + "'")
         rows = DB_가져오기()
         if(rows):
@@ -146,34 +146,34 @@ def 관리자_확인():
                 
 def 소유자_확인():
     if(session.get('Now') == True):
-        ip = 아이피(request)
+        ip = 아이피_확인(request)
         DB_실행("select * from user where id = '" + DB_인코딩(ip) + "'")
         rows = DB_가져오기()
         if(rows):
             if(rows[0]['acl'] == 'owner'):
                 return 1
                 
-def isin(name, data):
-    if(re.search('^틀:', name)):
-        DB_실행("select * from back where title = '" + DB_인코딩(name) + "' and type = 'include'")
-        include = DB_가져오기()
-        if(include):
-            i = 0
+def 틀_확인(이름, 데이터):
+    if(re.search('^틀:', 이름)):
+        DB_실행("select * from back where title = '" + DB_인코딩(이름) + "' and type = 'include'")
+        틀_역링크 = DB_가져오기()
+        if(틀_역링크):
+            숫자 = 0
 
             while(True):
                 try:
-                    나무마크(include[i]['link'], data)
+                    나무마크(틀_역링크[i]['link'], 데이터)
                 except:
                     break
                     
-                i = i + 1
+                숫자 += 1
 
 def 세이브마크(데이터):
     데이터 = re.sub("\[date\(now\)\]", 시간(), 데이터)
-    if(not re.search("\.", 아이피(request))):
-        이름 = '[[사용자:' + 아이피(request) + '|' + 아이피(request) + ']]'
+    if(not re.search("\.", 아이피_확인(request))):
+        이름 = '[[사용자:' + 아이피_확인(request) + '|' + 아이피_확인(request) + ']]'
     else:
-        이름 = 아이피(request)
+        이름 = 아이피_확인(request)
     데이터 = re.sub("\[name\]", 이름, 데이터)
 
     return 데이터
@@ -368,10 +368,10 @@ def 나무마크(title, data):
     
     data = re.sub("\[anchor\((?P<in>[^\[\]]*)\)\]", '<span id="\g<in>"></span>', data)
     data = re.sub('\[date\(now\)\]', 시간(), data)
-    if(not re.search("\.", 아이피(request))):
-        name = '[[사용자:' + 아이피(request) + '|' + 아이피(request) + ']]'
+    if(not re.search("\.", 아이피_확인(request))):
+        name = '[[사용자:' + 아이피_확인(request) + '|' + 아이피_확인(request) + ']]'
     else:
-        name = 아이피(request)
+        name = 아이피_확인(request)
     data = re.sub("\[name\]", name, data)
     
     while(True):
@@ -1157,7 +1157,7 @@ def 나무마크(title, data):
     data = re.sub('^<br>', '', data)
     return str(data)
 
-def 아이피(request):
+def 아이피_확인(request):
     if(session.get('Now') == True):
         ip = format(session['DREAMER'])
     else:
@@ -1167,7 +1167,7 @@ def 아이피(request):
             ip = request.remote_addr
     return ip
 
-def getcan(ip, name):
+def ACL_체크(ip, name):
     m = re.search("^사용자:(.*)", name)
     n = re.search("^파일:(.*)", name)
     if(m):
@@ -1252,7 +1252,7 @@ def getcan(ip, name):
                 else:
                     return 0
 
-def getban(ip):
+def 차단_체크(ip):
     b = re.search("^([0-9](?:[0-9]?[0-9]?)\.[0-9](?:[0-9]?[0-9]?))", ip)
     if(b):
         results = b.groups()
@@ -1275,7 +1275,7 @@ def getban(ip):
         else:
             return 0
         
-def getdiscuss(ip, name, sub):
+def 토론자_체크(ip, name, sub):
     b = re.search("^([0-9](?:[0-9]?[0-9]?)\.[0-9](?:[0-9]?[0-9]?))", ip)
     if(b):
         results = b.groups()
@@ -1313,20 +1313,20 @@ def 시간():
     s = "%04d-%02d-%02d %02d:%02d:%02d" % (now.tm_year, now.tm_mon, now.tm_mday, now.tm_hour, now.tm_min, now.tm_sec)
     return s
 
-def discuss(title, sub, date):
+def 최근_토론_추가(title, sub, date):
     DB_실행("select * from rd where title = '" + DB_인코딩(title) + "' and sub = '" + DB_인코딩(sub) + "'")
-    rows = DB_가져오기()
-    if(rows):
+    최근_토론 = DB_가져오기()
+    if(최근_토론):
         DB_실행("update rd set date = '" + DB_인코딩(date) + "' where title = '" + DB_인코딩(title) + "' and sub = '" + DB_인코딩(sub) + "'")
     else:
         DB_실행("insert into rd (title, sub, date) value ('" + DB_인코딩(title) + "', '" + DB_인코딩(sub) + "', '" + DB_인코딩(date) + "')")
     DB_갱신()
     
-def block(block, end, today, blocker, why):
+def 최근_차단_추가(block, end, today, blocker, why):
     DB_실행("insert into rb (block, end, today, blocker, why) value ('" + DB_인코딩(block) + "', '" + DB_인코딩(end) + "', '" + today + "', '" + DB_인코딩(blocker) + "', '" + DB_인코딩(why) + "')")
     DB_갱신()
 
-def history(title, data, date, ip, send, leng):
+def 역사_추가(title, data, date, ip, send, leng):
     DB_실행("select * from history where title = '" + DB_인코딩(title) + "' order by id+0 desc limit 1")
     rows = DB_가져오기()
     if(rows):
@@ -1337,24 +1337,24 @@ def history(title, data, date, ip, send, leng):
         DB_실행("insert into history (id, title, data, date, ip, send, leng) value ('1', '" + DB_인코딩(title) + "', '" + DB_인코딩(data) + "', '" + date + "', '" + DB_인코딩(ip) + "', '" + DB_인코딩(send + ' (새 문서)') + "', '" + leng + "')")
         DB_갱신()
 
-def getleng(existing, change):
-    if(existing < change):
-        leng = change - existing
-        leng = '+' + str(leng)
-    elif(change < existing):
-        leng = existing - change
-        leng = '-' + str(leng)
+def 길이_확인(기존, 바뀜):
+    if(기존 < 바뀜):
+        길이 = 바뀜 - 기존
+        길이 = '+' + str(길이)
+    elif(바뀜 < 기존):
+        길이 = 기존 - 바뀜
+        길이 = '-' + str(길이)
     else:
-        leng = '0'
+        길이 = '0'
         
-    return leng    
+    return 길이    
     
 @app.route('/upload', methods=['GET', 'POST'])
 def upload():
     app.config['MAX_CONTENT_LENGTH'] = int(data['upload']) * 1024 * 1024
     if(request.method == 'POST'):
-        ip = 아이피(request)
-        ban = getban(ip)
+        ip = 아이피_확인(request)
+        ban = 차단_체크(ip)
         
         if(ban == 1):
             return '<meta http-equiv="refresh" content="0;url=/ban" />'
@@ -1373,7 +1373,7 @@ def upload():
                         DB_실행("insert into data (title, data, acl) value ('" + DB_인코딩('파일:' + filename) + "', '" + DB_인코딩('[[파일:' + filename + ']][br][br]{{{[[파일:' + filename + ']]}}}') + "', '')")
                         DB_갱신()
                         
-                        history('파일:' + filename, '[[파일:' + filename + ']][br][br]{{{[[파일:' + filename + ']]}}}', 시간(), ip, '파일:' + filename + ' 업로드', '0')
+                        역사_추가('파일:' + filename, '[[파일:' + filename + ']][br][br]{{{[[파일:' + filename + ']]}}}', 시간(), ip, '파일:' + filename + ' 업로드', '0')
                         
                         return '<meta http-equiv="refresh" content="0;url=/w/' + URL_인코딩('파일:' + filename) + '" />'
                 else:
@@ -1381,8 +1381,8 @@ def upload():
             else:
                 return '<meta http-equiv="refresh" content="0;url=/error/14" />'
     else:
-        ip = 아이피(request)
-        ban = getban(ip)
+        ip = 아이피_확인(request)
+        ban = 차단_체크(ip)
         
         if(ban == 1):
             return '<meta http-equiv="refresh" content="0;url=/ban" />'
@@ -1729,7 +1729,7 @@ def backlink(name = None, number = None):
         return render_template('index.html', logo = data['name'], data = '', title = name, sub = '역링크')
 
 @app.route('/recentdiscuss')
-def recentdiscuss():
+def 최근_토론():
     i = 0
     div = '<div>'
     
@@ -1808,7 +1808,7 @@ def blocklog(number = None):
         return render_template('index.html', logo = data['name'], rows = '', tn = 20, title = '유저 차단 기록')
 
 @app.route('/history/<path:name>/n/<int:number>', methods=['POST', 'GET'])
-def gethistory(name = None, number = None):
+def 역사_보기(name = None, number = None):
     if(request.method == 'POST'):
         return '<meta http-equiv="refresh" content="0;url=/w/' + URL_인코딩(name) + '/r/' + request.form["b"] + '/diff/' + request.form["a"] + '" />'
     else:
@@ -2230,8 +2230,8 @@ def revert(name = None, number = None):
                 DB_실행("select * from history where title = '" + DB_인코딩(name) + "' and id = '" + str(number) + "'")
                 rows = DB_가져오기()
                 if(rows):
-                    ip = 아이피(request)
-                    can = getcan(ip, name)
+                    ip = 아이피_확인(request)
+                    can = ACL_체크(ip, name)
                     
                     if(can == 1):
                         return '<meta http-equiv="refresh" content="0;url=/ban" />'
@@ -2241,7 +2241,7 @@ def revert(name = None, number = None):
                         DB_실행("select * from data where title = '" + DB_인코딩(name) + "'")
                         row = DB_가져오기()
                         if(row):
-                            leng = getleng(len(row[0]['data']), len(rows[0]['data']))
+                            leng = 길이_확인(len(row[0]['data']), len(rows[0]['data']))
                             
                             DB_실행("update data set data = '" + DB_인코딩(rows[0]['data']) + "' where title = '" + DB_인코딩(name) + "'")
                             DB_갱신()
@@ -2250,7 +2250,7 @@ def revert(name = None, number = None):
                             
                             DB_실행("insert into data (title, data, acl) value ('" + DB_인코딩(name) + "', '" + DB_인코딩(rows[0]['data']) + "', '')")
                             DB_갱신()
-                        history(name, rows[0]['data'], today, ip, '문서를 ' + str(number) + '판으로 되돌렸습니다.', leng)
+                        역사_추가(name, rows[0]['data'], today, ip, '문서를 ' + str(number) + '판으로 되돌렸습니다.', leng)
                         return '<meta http-equiv="refresh" content="0;url=/w/' + URL_인코딩(name) + '" />'
                 else:
                     return '<meta http-equiv="refresh" content="0;url=/w/' + URL_인코딩(name) + '" />'
@@ -2260,8 +2260,8 @@ def revert(name = None, number = None):
             DB_실행("select * from history where title = '" + DB_인코딩(name) + "' and id = '" + str(number) + "'")
             rows = DB_가져오기()
             if(rows):
-                ip = 아이피(request)
-                can = getcan(ip, name)
+                ip = 아이피_확인(request)
+                can = ACL_체크(ip, name)
                 
                 if(can == 1):
                     return '<meta http-equiv="refresh" content="0;url=/ban" />'
@@ -2271,7 +2271,7 @@ def revert(name = None, number = None):
                     DB_실행("select * from data where title = '" + DB_인코딩(name) + "'")
                     row = DB_가져오기()
                     if(row):
-                        leng = getleng(len(row[0]['data']), len(rows[0]['data']))
+                        leng = 길이_확인(len(row[0]['data']), len(rows[0]['data']))
                         
                         DB_실행("update data set data = '" + DB_인코딩(rows[0]['data']) + "' where title = '" + DB_인코딩(name) + "'")
                         DB_갱신()
@@ -2280,7 +2280,7 @@ def revert(name = None, number = None):
                         
                         DB_실행("insert into data (title, data, acl) value ('" + DB_인코딩(name) + "', '" + DB_인코딩(rows[0]['data']) + "', '')")
                         DB_갱신()
-                    history(name, rows[0]['data'], today, ip, '문서를 ' + str(number) + '판으로 되돌렸습니다.', leng)
+                    역사_추가(name, rows[0]['data'], today, ip, '문서를 ' + str(number) + '판으로 되돌렸습니다.', leng)
                     return '<meta http-equiv="refresh" content="0;url=/w/' + URL_인코딩(name) + '" />'
             else:
                 return '<meta http-equiv="refresh" content="0;url=/w/' + URL_인코딩(name) + '" />'            
@@ -2289,8 +2289,8 @@ def revert(name = None, number = None):
         row = DB_가져오기()
         if(row):
             if(소유자_확인() == 1):
-                ip = 아이피(request)
-                can = getcan(ip, name)
+                ip = 아이피_확인(request)
+                can = ACL_체크(ip, name)
                 
                 if(can == 1):
                     return '<meta http-equiv="refresh" content="0;url=/ban" />'
@@ -2304,8 +2304,8 @@ def revert(name = None, number = None):
             else:
                 return '<meta http-equiv="refresh" content="0;url=/error/3" />'
         else:            
-            ip = 아이피(request)
-            can = getcan(ip, name)
+            ip = 아이피_확인(request)
+            can = ACL_체크(ip, name)
             
             if(can == 1):
                 return '<meta http-equiv="refresh" content="0;url=/ban" />'
@@ -2335,36 +2335,36 @@ def edit(name = None):
                 if(rows[0]['data'] == content):
                     return '<meta http-equiv="refresh" content="0;url=/error/18" />'
                 else:
-                    ip = 아이피(request)
-                    can = getcan(ip, name)
+                    ip = 아이피_확인(request)
+                    can = ACL_체크(ip, name)
                     
                     if(can == 1):
                         return '<meta http-equiv="refresh" content="0;url=/ban" />'
                     else:                        
-                        leng = getleng(len(rows[0]['data']), len(content))
-                        history(name, content, today, ip, request.form["send"], leng)
+                        leng = 길이_확인(len(rows[0]['data']), len(content))
+                        역사_추가(name, content, today, ip, request.form["send"], leng)
                         
                         DB_실행("update data set data = '" + DB_인코딩(content) + "' where title = '" + DB_인코딩(name) + "'")
                         DB_갱신()
             else:
-                ip = 아이피(request)
-                can = getcan(ip, name)
+                ip = 아이피_확인(request)
+                can = ACL_체크(ip, name)
                 
                 if(can == 1):
                     return '<meta http-equiv="refresh" content="0;url=/ban" />'
                 else:
                     leng = '+' + str(len(content))
-                    history(name, content, today, ip, request.form["send"], leng)
+                    역사_추가(name, content, today, ip, request.form["send"], leng)
                     
                     DB_실행("insert into data (title, data, acl) value ('" + DB_인코딩(name) + "', '" + DB_인코딩(content) + "', '')")
                     DB_갱신()
                     
-            isin(name, content)
+            틀_확인(name, content)
             
             return '<meta http-equiv="refresh" content="0;url=/w/' + URL_인코딩(name) + '" />'
     else:
-        ip = 아이피(request)
-        can = getcan(ip, name)
+        ip = 아이피_확인(request)
+        can = ACL_체크(ip, name)
         
         if(can == 1):
             return '<meta http-equiv="refresh" content="0;url=/ban" />'
@@ -2401,27 +2401,27 @@ def secedit(name = None, number = None):
                 if(request.form["otent"] == content):
                     return '<meta http-equiv="refresh" content="0;url=/error/18" />'
                 else:
-                    ip = 아이피(request)
-                    can = getcan(ip, name)
+                    ip = 아이피_확인(request)
+                    can = ACL_체크(ip, name)
                     
                     if(can == 1):
                         return '<meta http-equiv="refresh" content="0;url=/ban" />'
                     else:                        
-                        leng = getleng(len(request.form['otent']), len(content))
+                        leng = 길이_확인(len(request.form['otent']), len(content))
                         content = rows[0]['data'].replace(request.form['otent'], content)
-                        history(name, content, today, ip, request.form["send"], leng)
+                        역사_추가(name, content, today, ip, request.form["send"], leng)
                         
                         DB_실행("update data set data = '" + DB_인코딩(content) + "' where title = '" + DB_인코딩(name) + "'")
                         DB_갱신()
                         
-                    isin(name, content)
+                    틀_확인(name, content)
                     
                     return '<meta http-equiv="refresh" content="0;url=/w/' + URL_인코딩(name) + '" />'
             else:
                 return '<meta http-equiv="refresh" content="0;url=/w/' + URL_인코딩(name) + '" />'
     else:
-        ip = 아이피(request)
-        can = getcan(ip, name)
+        ip = 아이피_확인(request)
+        can = ACL_체크(ip, name)
         
         if(can == 1):
             return '<meta http-equiv="refresh" content="0;url=/ban" />'
@@ -2470,8 +2470,8 @@ def secedit(name = None, number = None):
                 
 @app.route('/preview/<path:name>', methods=['POST'])
 def preview(name = None):
-    ip = 아이피(request)
-    can = getcan(ip, name)
+    ip = 아이피_확인(request)
+    can = ACL_체크(ip, name)
     if(can == 1):
         return '<meta http-equiv="refresh" content="0;url=/ban" />'
     else:            
@@ -2492,8 +2492,8 @@ def preview(name = None):
         
 @app.route('/preview/<path:name>/section/<int:number>', methods=['POST'])
 def secpreview(name = None, number = None):
-    ip = 아이피(request)
-    can = getcan(ip, name)
+    ip = 아이피_확인(request)
+    can = ACL_체크(ip, name)
     if(can == 1):
         return '<meta http-equiv="refresh" content="0;url=/ban" />'
     else:
@@ -2519,14 +2519,14 @@ def delete(name = None):
         DB_실행("select * from data where title = '" + DB_인코딩(name) + "'")
         rows = DB_가져오기()
         if(rows):
-            ip = 아이피(request)
-            can = getcan(ip, name)
+            ip = 아이피_확인(request)
+            can = ACL_체크(ip, name)
             if(can == 1):
                 return '<meta http-equiv="refresh" content="0;url=/ban" />'
             else:
                 today = 시간()
                 leng = '-' + str(len(rows[0]['data']))
-                history(name, '', today, ip, '문서를 삭제 했습니다.', leng)
+                역사_추가(name, '', today, ip, '문서를 삭제 했습니다.', leng)
                 DB_실행("delete from data where title = '" + DB_인코딩(name) + "'")
                 DB_갱신()
                 return '<meta http-equiv="refresh" content="0;url=/w/' + URL_인코딩(name) + '" />'
@@ -2536,8 +2536,8 @@ def delete(name = None):
         DB_실행("select * from data where title = '" + DB_인코딩(name) + "'")
         rows = DB_가져오기()
         if(rows):
-            ip = 아이피(request)
-            can = getcan(ip, name)
+            ip = 아이피_확인(request)
+            can = ACL_체크(ip, name)
             if(can == 1):
                 return '<meta http-equiv="refresh" content="0;url=/ban" />'
             else:
@@ -2551,8 +2551,8 @@ def move(name = None):
         DB_실행("select * from data where title = '" + DB_인코딩(name) + "'")
         rows = DB_가져오기()
         if(rows):
-            ip = 아이피(request)
-            can = getcan(ip, name)
+            ip = 아이피_확인(request)
+            can = ACL_체크(ip, name)
             if(can == 1):
                 return '<meta http-equiv="refresh" content="0;url=/ban" />'
             else:
@@ -2563,14 +2563,14 @@ def move(name = None):
                 if(row):
                     return '<meta http-equiv="refresh" content="0;url=/error/19" />'
                 else:
-                    history(name, rows[0]['data'], today, ip, '<a href="/w/' + URL_인코딩(name) + '">' + name + '</a> 문서를 <a href="/w/' + URL_인코딩(request.form["title"]) + '">' + request.form["title"] + '</a> 문서로 이동 했습니다.', leng)
+                    역사_추가(name, rows[0]['data'], today, ip, '<a href="/w/' + URL_인코딩(name) + '">' + name + '</a> 문서를 <a href="/w/' + URL_인코딩(request.form["title"]) + '">' + request.form["title"] + '</a> 문서로 이동 했습니다.', leng)
                     DB_실행("update data set title = '" + DB_인코딩(request.form["title"]) + "' where title = '" + DB_인코딩(name) + "'")
                     DB_실행("update history set title = '" + DB_인코딩(request.form["title"]) + "' where title = '" + DB_인코딩(name) + "'")
                     DB_갱신()
                     return '<meta http-equiv="refresh" content="0;url=/w/' + URL_인코딩(request.form["title"]) + '" />'
         else:
-            ip = 아이피(request)
-            can = getcan(ip, name)
+            ip = 아이피_확인(request)
+            can = ACL_체크(ip, name)
             if(can == 1):
                 return '<meta http-equiv="refresh" content="0;url=/ban" />'
             else:
@@ -2581,13 +2581,13 @@ def move(name = None):
                 if(row):
                      return '<meta http-equiv="refresh" content="0;url=/error/19" />'
                 else:
-                    history(name, '', today, ip, '<a href="/w/' + URL_인코딩(name) + '">' + name + '</a> 문서를 <a href="/w/' + URL_인코딩(request.form["title"]) + '">' + request.form["title"] + '</a> 문서로 이동 했습니다.', leng)
+                    역사_추가(name, '', today, ip, '<a href="/w/' + URL_인코딩(name) + '">' + name + '</a> 문서를 <a href="/w/' + URL_인코딩(request.form["title"]) + '">' + request.form["title"] + '</a> 문서로 이동 했습니다.', leng)
                     DB_실행("update history set title = '" + DB_인코딩(request.form["title"]) + "' where title = '" + DB_인코딩(name) + "'")
                     DB_갱신()
                     return '<meta http-equiv="refresh" content="0;url=/w/' + URL_인코딩(request.form["title"]) + '" />'
     else:
-        ip = 아이피(request)
-        can = getcan(ip, name)
+        ip = 아이피_확인(request)
+        can = ACL_체크(ip, name)
         if(can == 1):
             return '<meta http-equiv="refresh" content="0;url=/ban" />'
         else:
@@ -2768,8 +2768,8 @@ def sub(name = None, sub = None):
         else:
             number = 1
             
-        ip = 아이피(request)
-        ban = getdiscuss(ip, name, sub)
+        ip = 아이피_확인(request)
+        ban = 토론자_체크(ip, name, sub)
         admin = 관리자_확인()
         
         if(ban == 1 and not admin == 1):
@@ -2782,7 +2782,7 @@ def sub(name = None, sub = None):
                     ip = ip + ' - Admin'
                     
             today = 시간()
-            discuss(name, sub, today)
+            최근_토론_추가(name, sub, today)
             
             aa = request.form["content"]
             aa = re.sub("\[\[(분류:(?:(?:(?!\]\]).)*))\]\]", "[br]", aa)
@@ -2795,8 +2795,8 @@ def sub(name = None, sub = None):
     else:
         style = ''
         
-        ip = 아이피(request)
-        ban = getdiscuss(ip, name, sub)
+        ip = 아이피_확인(request)
+        ban = 토론자_체크(ip, name, sub)
         admin = 관리자_확인()
 
         DB_실행("select * from stop where title = '" + DB_인코딩(name) + "' and sub = '" + DB_인코딩(sub) + "' and close = 'O'")
@@ -2933,14 +2933,16 @@ def sub(name = None, sub = None):
 def blind(name = None, sub = None, number = None):
     if(관리자_확인() == 1):
         DB_실행("select * from topic where title = '" + DB_인코딩(name) + "' and sub = '" + DB_인코딩(sub) + "' and id = '" + str(number) + "'")
-        row = DB_가져오기()
-        if(row):
-            if(row[0]['block'] == 'O'):
+        가리기 = DB_가져오기()
+        if(가리기):
+            if(가리기[0]['block'] == 'O'):
                 DB_실행("update topic set block = '' where title = '" + DB_인코딩(name) + "' and sub = '" + DB_인코딩(sub) + "' and id = '" + str(number) + "'")
             else:
                 DB_실행("update topic set block = 'O' where title = '" + DB_인코딩(name) + "' and sub = '" + DB_인코딩(sub) + "' and id = '" + str(number) + "'")
             DB_갱신()
             
+            최근_토론_추가(name, sub, 시간())
+            
             return '<meta http-equiv="refresh" content="0;url=/topic/' + URL_인코딩(name) + '/sub/' + URL_인코딩(sub) + '" />'
         else:
             return '<meta http-equiv="refresh" content="0;url=/topic/' + URL_인코딩(name) + '/sub/' + URL_인코딩(sub) + '" />'
@@ -2951,15 +2953,17 @@ def blind(name = None, sub = None, number = None):
 def notice(name = None, sub = None, number = None):
     if(관리자_확인() == 1):
         DB_실행("select * from topic where title = '" + DB_인코딩(name) + "' and sub = '" + DB_인코딩(sub) + "' and id = '" + str(number) + "'")
-        data = DB_가져오기()
-        if(data):
+        토론_내용 = DB_가져오기()
+        if(토론_내용):
             DB_실행("select * from distop where id = '" + str(number) + "' and title = '" + DB_인코딩(name) + "' and sub = '" + DB_인코딩(sub) + "'")
-            isthis = DB_가져오기()
-            if(isthis):
+            공지_내용 = DB_가져오기()
+            if(공지_내용):
                 DB_실행("delete from distop where id = '" + str(number) + "' and title = '" + DB_인코딩(name) + "' and sub = '" + DB_인코딩(sub) + "'")
             else:
                 DB_실행("insert into distop (id, title, sub) value ('" + DB_인코딩(str(number)) + "', '" + DB_인코딩(name) + "', '" + DB_인코딩(sub) + "')")
             DB_갱신()
+            
+            최근_토론_추가(name, sub, 시간())
 
             return '<meta http-equiv="refresh" content="0;url=/topic/' + URL_인코딩(name) + '/sub/' + URL_인코딩(sub) + '" />'
         else:
@@ -2970,23 +2974,25 @@ def notice(name = None, sub = None, number = None):
 @app.route('/topic/<path:name>/sub/<path:sub>/stop')
 def topicstop(name = None, sub = None):
     if(관리자_확인() == 1):
-        ip = 아이피(request)
+        아이피 = 아이피_확인(request)
         
-        DB_실행("select * from topic where title = '" + DB_인코딩(name) + "' and sub = '" + DB_인코딩(sub) + "' order by id+0 desc limit 1")
-        row = DB_가져오기()
-        if(row):
-            today = 시간()
+        DB_실행("select * from topic where title = '" + DB_인코딩(name) + "' and sub = '" + DB_인코딩(sub) + "' limit 1")
+        토론_확인 = DB_가져오기()
+        if(토론_확인):
+            현재_시간 = 시간()
             
             DB_실행("select * from stop where title = '" + DB_인코딩(name) + "' and sub = '" + DB_인코딩(sub) + "' and close = ''")
-            rows = DB_가져오기()
-            if(rows):
-                DB_실행("insert into topic (id, title, sub, data, date, ip, block) value ('" + DB_인코딩(str(int(row[0]['id']) + 1)) + "', '" + DB_인코딩(name) + "', '" + DB_인코딩(sub) + "', 'Restart', '" + DB_인코딩(today) + "', '" + DB_인코딩(ip) + " - Restart', '')")
+            정지 = DB_가져오기()
+            if(정지):
+                DB_실행("insert into topic (id, title, sub, data, date, ip, block) value ('" + DB_인코딩(str(int(토론_확인[0]['id']) + 1)) + "', '" + DB_인코딩(name) + "', '" + DB_인코딩(sub) + "', 'Restart', '" + DB_인코딩(현재_시간) + "', '" + DB_인코딩(아이피) + " - Restart', '')")
                 DB_실행("delete from stop where title = '" + DB_인코딩(name) + "' and sub = '" + DB_인코딩(sub) + "' and close = ''")
             else:
-                DB_실행("insert into topic (id, title, sub, data, date, ip, block) value ('" + DB_인코딩(str(int(row[0]['id']) + 1)) + "', '" + DB_인코딩(name) + "', '" + DB_인코딩(sub) + "', 'Stop', '" + DB_인코딩(today) + "', '" + DB_인코딩(ip) + " - Stop', '')")
+                DB_실행("insert into topic (id, title, sub, data, date, ip, block) value ('" + DB_인코딩(str(int(토론_확인[0]['id']) + 1)) + "', '" + DB_인코딩(name) + "', '" + DB_인코딩(sub) + "', 'Stop', '" + DB_인코딩(현재_시간) + "', '" + DB_인코딩(아이피) + " - Stop', '')")
                 DB_실행("insert into stop (title, sub, close) value ('" + DB_인코딩(name) + "', '" + DB_인코딩(sub) + "', '')")
             DB_갱신()
             
+            최근_토론_추가(name, sub, 현재_시간)
+            
             return '<meta http-equiv="refresh" content="0;url=/topic/' + URL_인코딩(name) + '/sub/' + URL_인코딩(sub) + '" />'
         else:
             return '<meta http-equiv="refresh" content="0;url=/topic/' + URL_인코딩(name) + '/sub/' + URL_인코딩(sub) + '" />'
@@ -2996,23 +3002,25 @@ def topicstop(name = None, sub = None):
 @app.route('/topic/<path:name>/sub/<path:sub>/close')
 def topicclose(name = None, sub = None):
     if(관리자_확인() == 1):
-        ip = 아이피(request)
+        아이피 = 아이피_확인(request)
         
         DB_실행("select * from topic where title = '" + DB_인코딩(name) + "' and sub = '" + DB_인코딩(sub) + "' order by id+0 desc limit 1")
-        row = DB_가져오기()
-        if(row):
-            today = 시간()
+        토론_확인 = DB_가져오기()
+        if(토론_확인):
+            현재_시간 = 시간()
             
             DB_실행("select * from stop where title = '" + DB_인코딩(name) + "' and sub = '" + DB_인코딩(sub) + "' and close = 'O'")
-            rows = DB_가져오기()
-            if(rows):
-                DB_실행("insert into topic (id, title, sub, data, date, ip, block) value ('" + DB_인코딩(str(int(row[0]['id']) + 1)) + "', '" + DB_인코딩(name) + "', '" + DB_인코딩(sub) + "', 'Reopen', '" + DB_인코딩(today) + "', '" + DB_인코딩(ip) + " - Reopen', '')")
+            닫기 = DB_가져오기()
+            if(닫기):
+                DB_실행("insert into topic (id, title, sub, data, date, ip, block) value ('" + DB_인코딩(str(int(토론_확인[0]['id']) + 1)) + "', '" + DB_인코딩(name) + "', '" + DB_인코딩(sub) + "', 'Reopen', '" + DB_인코딩(현재_시간) + "', '" + DB_인코딩(아이피) + " - Reopen', '')")
                 DB_실행("delete from stop where title = '" + DB_인코딩(name) + "' and sub = '" + DB_인코딩(sub) + "' and close = 'O'")
             else:
-                DB_실행("insert into topic (id, title, sub, data, date, ip, block) value ('" + DB_인코딩(str(int(row[0]['id']) + 1)) + "', '" + DB_인코딩(name) + "', '" + DB_인코딩(sub) + "', 'Close', '" + DB_인코딩(today) + "', '" + DB_인코딩(ip) + " - Close', '')")
+                DB_실행("insert into topic (id, title, sub, data, date, ip, block) value ('" + DB_인코딩(str(int(토론_확인[0]['id']) + 1)) + "', '" + DB_인코딩(name) + "', '" + DB_인코딩(sub) + "', 'Close', '" + DB_인코딩(현재_시간) + "', '" + DB_인코딩(아이피) + " - Close', '')")
                 DB_실행("insert into stop (title, sub, close) value ('" + DB_인코딩(name) + "', '" + DB_인코딩(sub) + "', 'O')")
             DB_갱신()
             
+            최근_토론_추가(name, sub, 현재_시간)
+            
             return '<meta http-equiv="refresh" content="0;url=/topic/' + URL_인코딩(name) + '/sub/' + URL_인코딩(sub) + '" />'
         else:
             return '<meta http-equiv="refresh" content="0;url=/topic/' + URL_인코딩(name) + '/sub/' + URL_인코딩(sub) + '" />'
@@ -3022,23 +3030,25 @@ def topicclose(name = None, sub = None):
 @app.route('/topic/<path:name>/sub/<path:sub>/agree')
 def 토론_관리자_기능(name = None, sub = None):
     if(관리자_확인() == 1):
-        ip = 아이피(request)
+        아이피 = 아이피_확인(request)
         
         DB_실행("select id from topic where title = '" + DB_인코딩(name) + "' and sub = '" + DB_인코딩(sub) + "' order by id+0 desc limit 1")
         토론 = DB_가져오기()
         if(토론):
-            today = 시간()
+            현재_시간 = 시간()
             
             DB_실행("select * from agreedis where title = '" + DB_인코딩(name) + "' and sub = '" + DB_인코딩(sub) + "'")
             합의안 = DB_가져오기()
             if(합의안):
-                DB_실행("insert into topic (id, title, sub, data, date, ip, block) value ('" + DB_인코딩(str(int(토론[0]['id']) + 1)) + "', '" + DB_인코딩(name) + "', '" + DB_인코딩(sub) + "', 'Settlement', '" + DB_인코딩(today) + "', '" + DB_인코딩(ip) + " - Settlement', '')")
+                DB_실행("insert into topic (id, title, sub, data, date, ip, block) value ('" + DB_인코딩(str(int(토론[0]['id']) + 1)) + "', '" + DB_인코딩(name) + "', '" + DB_인코딩(sub) + "', 'Settlement', '" + DB_인코딩(현재_시간) + "', '" + DB_인코딩(아이피) + " - Settlement', '')")
                 DB_실행("delete from agreedis where title = '" + DB_인코딩(name) + "' and sub = '" + DB_인코딩(sub) + "'")
             else:
-                DB_실행("insert into topic (id, title, sub, data, date, ip, block) value ('" + DB_인코딩(str(int(토론[0]['id']) + 1)) + "', '" + DB_인코딩(name) + "', '" + DB_인코딩(sub) + "', 'Agreement', '" + DB_인코딩(today) + "', '" + DB_인코딩(ip) + " - Agreement', '')")
+                DB_실행("insert into topic (id, title, sub, data, date, ip, block) value ('" + DB_인코딩(str(int(토론[0]['id']) + 1)) + "', '" + DB_인코딩(name) + "', '" + DB_인코딩(sub) + "', 'Agreement', '" + DB_인코딩(현재_시간) + "', '" + DB_인코딩(아이피) + " - Agreement', '')")
                 DB_실행("insert into agreedis (title, sub) value ('" + DB_인코딩(name) + "', '" + DB_인코딩(sub) + "')")
             DB_갱신()
             
+            최근_토론_추가(name, sub, 시간())
+            
             return '<meta http-equiv="refresh" content="0;url=/topic/' + URL_인코딩(name) + '/sub/' + URL_인코딩(sub) + '" />'
         else:
             return '<meta http-equiv="refresh" content="0;url=/topic/' + URL_인코딩(name) + '/sub/' + URL_인코딩(sub) + '" />'
@@ -3047,23 +3057,23 @@ def 토론_관리자_기능(name = None, sub = None):
 
 @app.route('/login', methods=['POST', 'GET'])
 def login():
-    if(request.method == 'POST'):
-        ip = 아이피(request)
-        ban = getban(ip)
+    아이피 = 아이피_확인(request)
+    차단인가 = 차단_체크(아이피)
         
-        if(ban == 1):
+    if(request.method == 'POST'):        
+        if(차단인가 == 1):
             return '<meta http-equiv="refresh" content="0;url=/ban" />'
         else:
             DB_실행("select * from user where id = '" + DB_인코딩(request.form["id"]) + "'")
-            rows = DB_가져오기()
-            if(rows):
+            사용자_정보 = DB_가져오기()
+            if(사용자_정보):
                 if(session.get('Now') == True):
                     return '<meta http-equiv="refresh" content="0;url=/error/11" />'
-                elif(bcrypt.checkpw(bytes(request.form["pw"], 'utf-8'), bytes(rows[0]['pw'], 'utf-8'))):
+                elif(bcrypt.checkpw(bytes(request.form["pw"], 'utf-8'), bytes(사용자_정보[0]['pw'], 'utf-8'))):
                     session['Now'] = True
                     session['DREAMER'] = request.form["id"]
                     
-                    DB_실행("insert into login (user, ip, today) value ('" + DB_인코딩(request.form["id"]) + "', '" + DB_인코딩(ip) + "', '" + DB_인코딩(시간()) + "')")
+                    DB_실행("insert into login (user, ip, today) value ('" + DB_인코딩(request.form["id"]) + "', '" + DB_인코딩(아이피) + "', '" + DB_인코딩(시간()) + "')")
                     DB_갱신()
                     
                     return '<meta http-equiv="refresh" content="0;url=/user" />'
@@ -3071,11 +3081,8 @@ def login():
                     return '<meta http-equiv="refresh" content="0;url=/error/13" />'
             else:
                 return '<meta http-equiv="refresh" content="0;url=/error/12" />'
-    else:
-        ip = 아이피(request)
-        ban = getban(ip)
-        
-        if(ban == 1):
+    else:        
+        if(차단인가 == 1):
             return '<meta http-equiv="refresh" content="0;url=/ban" />'
         else:
             if(session.get('Now') == True):
@@ -3085,22 +3092,22 @@ def login():
                 
 @app.route('/change', methods=['POST', 'GET'])
 def change():
-    if(request.method == 'POST'):
-        ip = 아이피(request)
-        ban = getban(ip)
-        
+    아이피 = 아이피_확인(request)
+    차단인가 = 차단_체크(아이피)
+    
+    if(request.method == 'POST'):      
         if(request.form["pw2"] == request.form["pw3"]):
-            if(ban == 1):
+            if(차단인가 == 1):
                 return '<meta http-equiv="refresh" content="0;url=/ban" />'
             else:
                 DB_실행("select * from user where id = '" + DB_인코딩(request.form["id"]) + "'")
-                rows = DB_가져오기()
-                if(rows):
+                사용자_정보 = DB_가져오기()
+                if(사용자_정보):
                     if(session.get('Now') == True):
                         session['Now'] = False
                         session.pop('DREAMER', None)
                         return '<meta http-equiv="refresh" content="0;url=/change" />'
-                    elif(bcrypt.checkpw(bytes(request.form["pw"], 'utf-8'), bytes(rows[0]['pw'], 'utf-8'))):
+                    elif(bcrypt.checkpw(bytes(request.form["pw"], 'utf-8'), bytes(사용자_정보[0]['pw'], 'utf-8'))):
                         hashed = bcrypt.hashpw(bytes(request.form["pw2"], 'utf-8'), bcrypt.gensalt())
                         
                         DB_실행("update user set pw = '" + DB_인코딩(hashed.decode()) + "' where id = '" + DB_인코딩(request.form["id"]) + "'")
@@ -3113,11 +3120,8 @@ def change():
                     return '<meta http-equiv="refresh" content="0;url=/error/9" />'
         else:
             return '<meta http-equiv="refresh" content="0;url=/error/20" />'
-    else:
-        ip = 아이피(request)
-        ban = getban(ip)
-        
-        if(ban == 1):
+    else:        
+        if(차단인가 == 1):
             return '<meta http-equiv="refresh" content="0;url=/ban" />'
         else:
             if(session.get('Now') == True):
@@ -3130,8 +3134,8 @@ def change():
 @app.route('/check/<name>')
 def check(name = None, sub = None, number = None):
     DB_실행("select * from user where id = '" + DB_인코딩(name) + "'")
-    rows = DB_가져오기()
-    if(rows and rows[0]['acl'] == 'owner' or rows and rows[0]['acl'] == 'admin'):
+    사용자_정보 = DB_가져오기()
+    if(사용자_정보 and 사용자_정보[0]['acl'] == 'owner' or 사용자_정보 and 사용자_정보[0]['acl'] == 'admin'):
         return '<meta http-equiv="refresh" content="0;url=/error/4" />'
     else:
         if(관리자_확인() == 1):
@@ -3171,12 +3175,12 @@ def check(name = None, sub = None, number = None):
 
 @app.route('/register', methods=['POST', 'GET'])
 def register():
-    if(request.method == 'POST'):
-        ip = 아이피(request)
-        ban = getban(ip)
-        
+    아이피 = 아이피_확인(request)
+    차단인가 = 차단_체크(아이피)
+    
+    if(request.method == 'POST'):        
         if(request.form["pw"] == request.form["pw2"]):
-            if(ban == 1):
+            if(차단인가 == 1):
                 return '<meta http-equiv="refresh" content="0;url=/ban" />'
             else:
                 m = re.search('(?:[^A-Za-zㄱ-힣0-9 ])', request.form["id"])
@@ -3200,11 +3204,8 @@ def register():
                             return '<meta http-equiv="refresh" content="0;url=/login" />'
         else:
             return '<meta http-equiv="refresh" content="0;url=/error/20" />'
-    else:
-        ip = 아이피(request)
-        ban = getban(ip)
-        
-        if(ban == 1):
+    else:        
+        if(차단인가 == 1):
             return '<meta http-equiv="refresh" content="0;url=/ban" />'
         else:
             return render_template('index.html', title = '회원가입', enter = '회원가입', logo = data['name'], tn = 15)
@@ -3224,7 +3225,7 @@ def ban(name = None):
     else:
         if(request.method == 'POST'):
             if(관리자_확인() == 1):
-                ip = 아이피(request)
+                ip = 아이피_확인(request)
                 
                 if(not re.search("[0-9]{4}-[0-9]{2}-[0-9]{2}", request.form["end"])):
                     end = ''
@@ -3234,17 +3235,17 @@ def ban(name = None):
                 DB_실행("select * from ban where block = '" + DB_인코딩(name) + "'")
                 row = DB_가져오기()
                 if(row):
-                    block(name, '해제', 시간(), ip, '')
+                    최근_차단_추가(name, '해제', 시간(), ip, '')
                     
                     DB_실행("delete from ban where block = '" + DB_인코딩(name) + "'")
                 else:
                     b = re.search("^([0-9](?:[0-9]?[0-9]?)\.[0-9](?:[0-9]?[0-9]?))$", name)
                     if(b):
-                        block(name, end, 시간(), ip, request.form["why"])
+                        최근_차단_추가(name, end, 시간(), ip, request.form["why"])
                         
                         DB_실행("insert into ban (block, end, why, band) value ('" + DB_인코딩(name) + "', '" + DB_인코딩(end) + "', '" + DB_인코딩(request.form["why"]) + "', 'O')")
                     else:
-                        block(name, end, 시간(), ip, request.form["why"])
+                        최근_차단_추가(name, end, 시간(), ip, request.form["why"])
                         
                         DB_실행("insert into ban (block, end, why, band) value ('" + DB_인코딩(name) + "', '" + DB_인코딩(end) + "', '" + DB_인코딩(request.form["why"]) + "', '')")
                 DB_갱신()
@@ -3338,9 +3339,9 @@ def admin(name = None):
 
 @app.route('/ban')
 def aban():
-    ip = 아이피(request)
+    ip = 아이피_확인(request)
     
-    if(getban(ip) == 1):
+    if(차단_체크(ip) == 1):
         DB_실행("select * from ban where block = '" + DB_인코딩(ip) + "'")
         rows = DB_가져오기()
         if(rows):
@@ -3421,11 +3422,11 @@ def diff(name = None, a = None, b = None):
         
 @app.route('/user')
 def user():
-    ip = 아이피(request)
+    ip = 아이피_확인(request)
     
     DB_실행("select * from user where id = '" + DB_인코딩(ip) + "'")
     rows = DB_가져오기()
-    if(getban(ip) == 0):
+    if(차단_체크(ip) == 0):
         if(rows):
             if(rows[0]['acl'] == 'admin' or rows[0]['acl'] == 'owner'):
                 if(rows[0]['acl'] == 'admin'):