Procházet zdrojové kódy

이것 저것 패치

2DU před 9 roky
rodič
revize
578543f521
4 změnil soubory, kde provedl 66 přidání a 77 odebrání
  1. 60 71
      app.py
  2. 2 2
      func.py
  3. 1 1
      views/login.tpl
  4. 3 3
      views/other.tpl

+ 60 - 71
app.py

@@ -326,7 +326,7 @@ def admin_plus(name = None):
                 db_ex("insert into alist (name, acl) value ('" + db_pas(name) + "', 'owner')")
                 
             db_com()
-            return(redirect('/'))
+            return(redirect('/adminplus/admin'))
         else:
             db_ex('select acl from alist where name = "' + db_pas(name) + '"')
             test = db_get()
@@ -334,26 +334,21 @@ def admin_plus(name = None):
             list = ''
             exist_list = ['', '', '', '', '', '', '', '', '']
 
-            i = 0
-            while(True):
-                try:
-                    if(test[i]['acl'] == 'ban'):
-                        exist_list[0] = 'checked="checked"'
-                    elif(test[i]['acl'] == 'mdel'):
-                        exist_list[1] = 'checked="checked"'
-                    elif(test[i]['acl'] == 'toron'):
-                        exist_list[2] = 'checked="checked"'
-                    elif(test[i]['acl'] == 'check'):
-                        exist_list[3] = 'checked="checked"'
-                    elif(test[i]['acl'] == 'acl'):
-                        exist_list[4] = 'checked="checked"'
-                    elif(test[i]['acl'] == 'hidel'):
-                        exist_list[5] = 'checked="checked"'
-                    elif(test[i]['acl'] == 'owner'):
-                        exist_list[7] = 'checked="checked"'
-                    i += 1
-                except:
-                    break
+            for go in test:
+                if(go['acl'] == 'ban'):
+                    exist_list[0] = 'checked="checked"'
+                elif(go['acl'] == 'mdel'):
+                    exist_list[1] = 'checked="checked"'
+                elif(go['acl'] == 'toron'):
+                    exist_list[2] = 'checked="checked"'
+                elif(go['acl'] == 'check'):
+                    exist_list[3] = 'checked="checked"'
+                elif(go['acl'] == 'acl'):
+                    exist_list[4] = 'checked="checked"'
+                elif(go['acl'] == 'hidel'):
+                    exist_list[5] = 'checked="checked"'
+                elif(go['acl'] == 'owner'):
+                    exist_list[7] = 'checked="checked"'
 
             list += '<li><input type="checkbox" name="ban" ' + exist_list[0] + '> 차단</li>'
             list += '<li><input type="checkbox" name="mdel" ' + exist_list[1] + '> 많은 문서 삭제</li>'
@@ -369,29 +364,24 @@ def admin_plus(name = None):
         
 @route('/adminlist')
 def admin_list():
-    i = 0
+    i = 1
     div = '<div>'
     
     db_ex("select * from user where acl = 'admin' or acl = 'owner'")
     user_data = db_get()
     if(user_data):
-        while(True):
-            try:
-                db_ex("select title from data where title = '사용자:" + user_data[i]['id'] + "'")
-                user = db_get()
-                if(user):
-                    name = '<a href="/w/' + url_pas('사용자:' + user_data[i]['id']) + '">' + user_data[i]['id'] + '</a> (' + user_data[i]['acl'] + ')'
-                else:
-                    name = '<a class="not_thing" href="/w/' + url_pas('사용자:' + user_data[i]['id']) + '">' + user_data[i]['id'] + '</a> (' + user_data[i]['acl'] + ')'
+        for data in user_data:
+            name = ip_pas(data['id'], 2)
+            name += ' (' + data['acl'] + ')'
 
-                div += '<li>' + str(i + 1) + '. ' + name + '</li>'
-                
-                i += 1
+            div += '<li>' + str(i) + '. ' + name + '</li>'
             
-            except:
-                div += '</div>'
-                break
+            i += 1
+        else:
+            div += '</div>'
             
+        
+                       
         return(template('other', custom = custom_css_user(), license = set_data['license'], login = login_check(), logo = set_data['name'], data = div, title = '관리자 목록'))
     else:
         return(template('other', custom = custom_css_user(), license = set_data['license'], login = login_check(), logo = set_data['name'], title = '관리자 목록'))
@@ -477,7 +467,7 @@ def recent_changes():
                 
                 break
     else:
-        div = '<br>None'
+        div = 'None'
             
     return(template('other', custom = custom_css_user(), license = set_data['license'], login = login_check(), logo = set_data['name'], data = div, title = '최근 변경내역'))
         
@@ -587,7 +577,7 @@ def user_record(name = None, num = 1):
 
                 break
     else:
-        div = '<br>None'
+        div = 'None'
         
     db_ex("select end, why from ban where block = '" + db_pas(name) + "'")
     ban_it = db_get()
@@ -785,7 +775,7 @@ def recent_discuss():
 def blocklog(number = 1):
     v = number * 50
     i = v - 50
-    div = '<div><table style="width: 100%;"><tbody><tr><td style="text-align: center;width:20%;">차단자</td><td style="text-align: center;width:20%;">관리자</td><td style="text-align: center;width:20%;">언제까지</td><td style="text-align: center;width:20%;">왜</td><td style="text-align: center;width:20%;">시간</td></tr>'
+    div = '<div><table style="width: 100%;"><tbody><tr><td style="text-align: center;width:20%;">차단자</td><td style="text-align: center;width:20%;">관리자</td><td style="text-align: center;width:20%;">기간</td><td style="text-align: center;width:20%;">이유</td><td style="text-align: center;width:20%;">시간</td></tr>'
     
     db_ex("select * from rb order by today desc")
     rows = db_get()
@@ -824,7 +814,7 @@ def blocklog(number = 1):
                     
                 break
     else:
-        div = '<br>None'
+        div = 'None'
                 
     return(template('other', custom = custom_css_user(), license = set_data['license'], login = login_check(), logo = set_data['name'], data = div, title = '사용자 차단 기록'))
 
@@ -908,7 +898,7 @@ def history_view(name = None, num = 1):
             else:
                 div += '</tbody></table></div>'
         else:
-            div = '<br>None<br>'
+            div = 'None<br>'
             
         div += '<br><a href="/history/' + url_pas(name) + '/n/' + str(num - 1) + '">(이전)</a> <a href="/history/' + url_pas(name) + '/n/' + str(num + 1) + '">(이후)</a>'
                     
@@ -1441,7 +1431,7 @@ def manager(num = None):
             return(template('other', custom = custom_css_user(), license = set_data['license'], login = login_check(), title = '기록 이동', logo = set_data['name'], data = '<form id="usrform" method="POST" action="/manager/6"><input name="name" type="text"><br><br><button class="btn btn-primary" type="submit">이동</button></form>')    )
     elif(num == 7):
         if(request.method == 'POST'):
-            return(redirect('/user/' + url_pas(request.forms.name) + '/topic/1'))
+            return(redirect('/user/' + url_pas(request.forms.name) + '/topic'))
         else:
             return(template('other', custom = custom_css_user(), license = set_data['license'], login = login_check(), title = '토론 기록 이동', logo = set_data['name'], data = '<form id="usrform" method="POST" action="/manager/7"><input name="name" type="text"><br><br><button class="btn btn-primary" type="submit">이동</button></form>')    )
     elif(num == 8):
@@ -1459,31 +1449,28 @@ def title_index():
     db_ex("select title from data order by title asc")
     title_list = db_get()
     if(title_list):
-        while(True):
-            try:
-                data += '<li>' + str(i[0] + 1) + '. <a href="/w/' + url_pas(title_list[i[0]]['title']) + '">' + title_list[i[0]]['title'] + '</a></li>'
-
-                if(re.search('^분류:', title_list[i[0]]['title'])):
-                    i[1] += 1
-                elif(re.search('^사용자:', title_list[i[0]]['title'])):
-                    i[2] += 1
-                elif(re.search('^틀:', title_list[i[0]]['title'])):
-                    i[3] += 1
-                elif(re.search('^파일:', title_list[i[0]]['title'])):
-                    i[4] += 1
-                else:
-                    i[5] += 1
-            
-                i[0] += 1
-                
-            except:
-                data += '</div>'
+        for list_data in title_list:
+            data += '<li>' + str(i[0] + 1) + '. <a href="/w/' + url_pas(list_data['title']) + '">' + list_data['title'] + '</a></li>'
+
+            if(re.search('^분류:', list_data['title'])):
+                i[1] += 1
+            elif(re.search('^사용자:', list_data['title'])):
+                i[2] += 1
+            elif(re.search('^틀:', list_data['title'])):
+                i[3] += 1
+            elif(re.search('^파일:', list_data['title'])):
+                i[4] += 1
+            else:
+                i[5] += 1
+        
+            i[0] += 1
                 
-                break
+        else:
+            data += '</div>'
                 
         data += '<br><li>이 위키에는 총 ' + str(i[0]) + '개의 문서가 있습니다.</li><br><li>틀 문서는 총 ' + str(i[3]) + '개의 문서가 있습니다.</li><li>분류 문서는 총 ' + str(i[1]) + '개의 문서가 있습니다.</li><li>사용자 문서는 총 ' + str(i[2]) + '개의 문서가 있습니다.</li><li>파일 문서는 총 ' + str(i[4]) + '개의 문서가 있습니다.</li><li>나머지 문서는 총 ' + str(i[5]) + '개의 문서가 있습니다.</li>'
     else:
-        data = '<br>None'
+        data = 'None'
 
     return(template('other', custom = custom_css_user(), license = set_data['license'], login = login_check(), logo = set_data['name'], data = data, title = '모든 문서'))
         
@@ -1965,7 +1952,7 @@ def user_check(name = None):
 
                             break
                 else:
-                    c = '<br>None'
+                    c = 'None'
                         
                 return(template('other', custom = custom_css_user(), license = set_data['license'], login = login_check(), title = '다중 검사', logo = set_data['name'], data = c))
             else:
@@ -1984,7 +1971,7 @@ def user_check(name = None):
                             
                             break
                 else:
-                    c = '<br>None'
+                    c = 'None'
                         
                 return(template('other', custom = custom_css_user(), license = set_data['license'], login = login_check(), title = '다중 검사', logo = set_data['name'], data = c))
         else:
@@ -2073,7 +2060,7 @@ def user_ban(name = None):
                         db_ex("insert into ban (block, end, why, band) value ('" + db_pas(name) + "', '" + db_pas(end) + "', '" + db_pas(request.forms.why) + "', '')")
                 db_com()
                 
-                return(redirect('/'))
+                return(redirect('/ban/' + url_pas(name)))
             else:
                 return(redirect('/error/3'))
         else:
@@ -2426,7 +2413,7 @@ def user_topic_list(name = None, num = 1):
     ydmin = admin_check(1)
     div = '<div><table style="width: 100%;"><tbody><tr><td style="text-align: center;width:33.33%;">토론명</td><td style="text-align: center;width:33.33%;">작성자</td><td style="text-align: center;width:33.33%;">시간</td></tr>'
     
-    db_ex("select * from topic where ip = '" + db_pas(name) + "' or ip = '" + db_pas(name) + " - Admin' order by date desc")
+    db_ex("select title, id, sub, ip, date from topic where ip = '" + db_pas(name) + "' or ip = '" + db_pas(name) + " - Admin' order by date desc")
     rows = db_get()
     if(rows):
         while(True):
@@ -2451,7 +2438,7 @@ def user_topic_list(name = None, num = 1):
                     
                 ip = ip_pas(rows[i]['ip'], 1)
                     
-                div += '<tr><td style="text-align: center;width:33.33%;"><a href="/topic/' + url_pas(rows[i]['title']) + '/sub/' + url_pas(sub) + '#' + rows[i]['id'] + '">' + title + '</a> (' + sub + ') (#' + rows[i]['id'] + ') </td><td style="text-align: center;width:33.33%;">' + ip + ban +  '</td><td style="text-align: center;width:33.33%;">' + rows[i]['date'] + '</td></tr>'
+                div += '<tr><td style="text-align: center;width:33.33%;"><a href="/topic/' + url_pas(rows[i]['title']) + '/sub/' + url_pas(rows[i]['sub']) + '#' + rows[i]['id'] + '">' + title + '</a> (' + sub + ') (#' + rows[i]['id'] + ') </td><td style="text-align: center;width:33.33%;">' + ip + ban +  '</td><td style="text-align: center;width:33.33%;">' + rows[i]['date'] + '</td></tr>'
                 
                 if(i == v):
                     div = div + '</tbody></table></div>'
@@ -2470,14 +2457,16 @@ def user_topic_list(name = None, num = 1):
 
                 break
     else:
-        div = '<br>None'
+        div = 'None'
                 
     db_ex("select end, why from ban where block = '" + db_pas(name) + "'")
     ban_it = db_get()
     if(ban_it):
-        div = namumark('', '{{{#!wiki style="border:2px solid red;padding:10px;"\r\n{{{+2 {{{#red 이 사용자는 차단 당했습니다.}}}}}}\r\n\r\n차단 해제 일 : ' + ban_it[0]['end'] + '[br]사유 : ' + ban_it[0]['why'] + '}}}') + '<br>' + div
+        sub = '차단'
+    else:
+        sub = None
                 
-    return(template('other', custom = custom_css_user(), license = set_data['license'], login = login_check(), logo = set_data['name'], data = div, title = '사용자 토론 기록'))
+    return(template('other', custom = custom_css_user(), license = set_data['license'], login = login_check(), logo = set_data['name'], data = div, title = '사용자 토론 기록', sub = sub))
         
 @route('/user')
 def user_info():

+ 2 - 2
func.py

@@ -145,9 +145,9 @@ def ip_pas(raw_ip, num):
             ip = '<a class="not_thing" href="/w/' + url_pas('사용자:' + raw_ip) + '">' + raw_ip + '</a>'
             
     if(num == 1):
-        ip += ' <a href="/user/' + url_pas(raw_ip) + '">(기록)</a>'
+        ip += ' <a href="/user/' + url_pas(raw_ip) + '/topic">(기록)</a>'
     elif(num == 2):
-        ip += ' <a href="/record/' + url_pas(raw_ip) + '">(기록)</a> <a href="/user/' + url_pas(raw_ip) + '">(토론 기록)</a>'        
+        ip += ' <a href="/record/' + url_pas(raw_ip) + '">(기록)</a> <a href="/user/' + url_pas(raw_ip) + '/topic">(토론 기록)</a>'        
     else:
         ip += ' <a href="/record/' + url_pas(raw_ip) + '">(기록)</a>'
 

+ 1 - 1
views/login.tpl

@@ -60,5 +60,5 @@
     <button class="btn btn-primary" type="submit">{{enter}}</button>
     <br>
     <br>
-    <span>만약 HTTPS 연결이 아닌 경우 데이터가 유출 될 가능성이 있습니다. 이에 대해 책임 지지 않습니다.</span>
+    <span>주의 : 만약 HTTPS 연결이 아닌 경우 데이터가 유출될 가능성이 있습니다. 이에 대해 책임지지 않습니다.</span>
 </form>

+ 3 - 3
views/other.tpl

@@ -3,7 +3,7 @@
 <div id="tool">
     <nav class="menu">
         <a class="menu-item selected" href="#" onclick="return false">
-            % if defined('sub'):
+            % if(defined('sub') and not sub == None):
                 {{sub}}
             % else:
                 {{title}}
@@ -14,8 +14,8 @@
 </div>
 <h1 class="title">
     {{title}}
-    % if defined('sub'):
-         ({{sub}})
+    % if(defined('sub') and not sub == None):
+         <sub> ({{sub}})</sub>
     % end
 </h1>
 <div>