2DU пре 9 година
родитељ
комит
0f0ea08a0b
2 измењених фајлова са 37 додато и 3 уклоњено
  1. 32 2
      app.py
  2. 5 1
      readme.md

+ 32 - 2
app.py

@@ -561,15 +561,45 @@ def sub(name = None, sub = None):
             indata = rows[i]['data']
             indata = re.sub('<', '&lt;', indata)
             indata = re.sub('>', '&gt;', indata)
+            if(rows[i]['block'] == 'O'):
+                indata = '블라인드 되었습니다.'
+                block = 'style="background: gainsboro;"'
+            else:
+                block = ''
             if(rows[i]['ip'] == start):
                 j = i + 1
-                div = div + '<table id="toron"><tbody><tr><td id="toroncolorgreen"><a href="javascript:void(0);" id="' + str(j) + '">#' + str(j) + '</a> ' + rows[i]['ip'] + ' <span style="float:right;">' + rows[i]['date'] + '</span></td></tr><tr><td>' + indata + '</td></tr></tbody></table><br>'
+                div = div + '<table id="toron"><tbody><tr><td id="toroncolorgreen"><a href="javascript:void(0);" id="' + str(j) + '">#' + str(j) + '</a> ' + rows[i]['ip'] + ' <span style="float:right;">' + rows[i]['date'] + '</span></td></tr><tr><td ' + block + '>' + indata + '</td></tr></tbody></table><br>'
             else:
                 j = i + 1
-                div = div + '<table id="toron"><tbody><tr><td id="toroncolor"><a href="javascript:void(0);" id="' + str(j) + '">#' + str(j) + '</a> ' + rows[i]['ip'] + ' <span style="float:right;">' + rows[i]['date'] + '</span></td></tr><tr><td>' + indata + '</td></tr></tbody></table><br>'
+                div = div + '<table id="toron"><tbody><tr><td id="toroncolor"><a href="javascript:void(0);" id="' + str(j) + '">#' + str(j) + '</a> ' + rows[i]['ip'] + ' <span style="float:right;">' + rows[i]['date'] + '</span></td></tr><tr><td ' + block + '>' + indata + '</td></tr></tbody></table><br>'
             i = i + 1
         return render_template('index.html', title = name, page = parse.quote(name), suburl = parse.quote(sub), sub = sub, logo = data['name'], rows = div, tn = 11, ban = ban)
 
+@app.route('/topic/<name>/sub/<sub>/b/<number>')
+def blind(name = None, sub = None, number = None):
+    if(session.get('Now') == True):
+        ip = getip(request)
+        curs.execute("select * from user where id = '" + pymysql.escape_string(ip) + "'")
+        rows = curs.fetchall()
+        if(rows):
+            if(rows[0]['acl'] == 'owner' or rows[0]['acl'] == 'admin'):
+                curs.execute("select * from topic where title = '" + pymysql.escape_string(name) + "' and sub = '" + pymysql.escape_string(sub) + "' and id = '" + number + "'")
+                row = curs.fetchall()
+                if(row):
+                    if(row[0]['block'] == 'O'):
+                        curs.execute("update topic set block = '' where title = '" + pymysql.escape_string(name) + "' and sub = '" + pymysql.escape_string(sub) + "' and id = '" + number + "'")
+                    else:
+                        curs.execute("update topic set block = 'O' where title = '" + pymysql.escape_string(name) + "' and sub = '" + pymysql.escape_string(sub) + "' and id = '" + number + "'")
+                    return '<meta http-equiv="refresh" content="0;url=/topic/' + name + '/sub/' + sub + '" />'
+                else:
+                    return '<meta http-equiv="refresh" content="0;url=/topic/' + name + '/sub/' + sub + '" />'
+            else:
+                return render_template('index.html', title = '권한 오류', logo = data['name'], data = '권한이 모자랍니다.')
+        else:
+            return render_template('index.html', title = '권한 오류', logo = data['name'], data = '계정이 없습니다.')
+    else:
+        return render_template('index.html', title = '권한 오류', logo = data['name'], data = '비 로그인 상태 입니다.')
+
 @app.route('/login', methods=['POST', 'GET'])
 def login():
     if(request.method == 'POST'):

+ 5 - 1
readme.md

@@ -2,4 +2,8 @@
 Ownet을 파이썬으로 재 구현한 버전 입니다.
 
 ## 설치법
-set 폴더에 있는 set.json을 밖으로 꺼낸 다음 안에 있는 내용을 적절하게 수정하고 app.py를 파이썬 3.x 버전으로 실행하면 됩니다. (파이썬 3.6을 권장 합니다.)
+set 폴더에 있는 set.json을 밖으로 꺼낸 다음 안에 있는 내용을 적절하게 수정하고 app.py를 파이썬 3.x 버전으로 실행하면 됩니다. (파이썬 3.6을 권장 합니다.)
+
+## 기능
+ * /admin/(아이디) - 어드민 부여
+ * /ban/(아이디 or 아이피) - 차단