Browse Source

아이피 비공개 추가

2DU 8 years ago
parent
commit
829f98a13c
4 changed files with 26 additions and 8 deletions
  1. 11 3
      app.py
  2. 12 3
      func.py
  3. 2 1
      version.md
  4. 1 1
      views/acme/css/plus.css

+ 11 - 3
app.py

@@ -39,7 +39,7 @@ from func import *
 
 BaseRequest.MEMFILE_MAX = 1000 ** 4
 
-r_ver = '2.3.6'
+r_ver = '2.3.7'
 
 # 스킨 불러오기 부분
 try:
@@ -283,8 +283,8 @@ def edit_set(num = 0):
 
             return(redirect('/edit_set/1'))
         else:
-            i_list = ['name', 'logo', 'frontpage', 'license', 'upload', 'skin', 'edit', 'reg']
-            n_list = ['무명위키', '', '위키:대문', 'CC 0', '2', '', 'normal', '']
+            i_list = ['name', 'logo', 'frontpage', 'license', 'upload', 'skin', 'edit', 'reg', 'ip_view']
+            n_list = ['무명위키', '', '위키:대문', 'CC 0', '2', '', 'normal', '', '']
             d_list = []
             
             x = 0
@@ -318,6 +318,11 @@ def edit_set(num = 0):
                 ch_1 = 'checked="checked"'
             else:
                 ch_1 = ''
+            
+            if(d_list[8]):
+                ch_2 = 'checked="checked"'
+            else:
+                ch_2 = ''
 
             return(
                 html_minify(
@@ -371,6 +376,9 @@ def edit_set(num = 0):
                                     <input type="checkbox" name="reg" ' + ch_1 + '> 가입불가 \
                                     <br> \
                                     <br> \
+                                    <input type="checkbox" name="ip_view" ' + ch_2 + '> 아이피 비공개 \
+                                    <br> \
+                                    <br> \
                                     <button class="btn btn-primary" type="submit">저장</button> \
                                 </form>',
                         menu = [['edit_set', '설정 편집']]

+ 12 - 3
func.py

@@ -2,6 +2,7 @@
 from bottle.ext import beaker
 import json
 import sqlite3
+from hashlib import md5
 from css_html_js_minify import html_minify
 
 json_data = open('set.json').read()
@@ -144,16 +145,24 @@ def admin_check(num, what):
                     break
 
 def ip_pas(raw_ip):
+    hide = 0
     if(re.search("(\.|:)", raw_ip)):
-        ip = raw_ip
+        curs.execute("select name from other where name = 'ip_view'")
+        if(curs.fetchall()):
+            ip = '<span style="font-size: 75%;">' + md5(bytes(raw_ip, 'utf-8')).hexdigest() + '</span>'
+            if(not admin_check('ban', None)):
+                hide = 1
+        else:
+            ip = raw_ip
     else:
         curs.execute("select title from data where title = ?", ['사용자:' + raw_ip])
         if(curs.fetchall()):
             ip = '<a href="/w/' + url_pas('사용자:' + raw_ip) + '">' + raw_ip + '</a>'
         else:
             ip = '<a class="not_thing" href="/w/' + url_pas('사용자:' + raw_ip) + '">' + raw_ip + '</a>'
-            
-    ip += ' <a href="/record/' + url_pas(raw_ip) + '">(기록)</a>'
+         
+    if(hide == 0):
+        ip += ' <a href="/record/' + url_pas(raw_ip) + '">(기록)</a>'
 
     return(ip)
 

+ 2 - 1
version.md

@@ -113,6 +113,7 @@
  * UA 보여주기
  * 사문 ACL
  * 다른 문서 불러오기
+ * 아이피 비공개
 
 ## 계속
  * 버그 수정
@@ -137,7 +138,7 @@
 
 ----
 ## 기타
- * 최신 버전 - v2.3.6
+ * 최신 버전 - v2.3.7
 
 ----
 ## 개발 이념

+ 1 - 1
views/acme/css/plus.css

@@ -14,7 +14,7 @@ input {
     word-break: break-all;
 }
 
-footer#footer {
+footer {
     height: -webkit-fill-available;
 }