|
@@ -1312,16 +1312,16 @@ def upload():
|
|
|
if(re.search('^([^./\\*<>|:?"]+)\.(jpg|gif|jpeg|png)$', file.filename)):
|
|
if(re.search('^([^./\\*<>|:?"]+)\.(jpg|gif|jpeg|png)$', file.filename)):
|
|
|
filename = file.filename
|
|
filename = file.filename
|
|
|
if(os.path.exists(os.path.join('image', filename))):
|
|
if(os.path.exists(os.path.join('image', filename))):
|
|
|
- return render_template('index.html', logo = data['name'], title = '업로드 오류', data = '동일한 이름의 파일이 있습니다.')
|
|
|
|
|
|
|
+ return '<meta http-equiv="refresh" content="0;url=/error/16" />'
|
|
|
else:
|
|
else:
|
|
|
file.save(os.path.join('image', filename))
|
|
file.save(os.path.join('image', filename))
|
|
|
curs.execute("insert into data (title, data, acl) value ('" + pymysql.escape_string('파일:' + filename) + "', '" + pymysql.escape_string('[[파일:' + filename + ']][br][br]{{{[[파일:' + filename + ']]}}}') + "', '')")
|
|
curs.execute("insert into data (title, data, acl) value ('" + pymysql.escape_string('파일:' + filename) + "', '" + pymysql.escape_string('[[파일:' + filename + ']][br][br]{{{[[파일:' + filename + ']]}}}') + "', '')")
|
|
|
conn.commit()
|
|
conn.commit()
|
|
|
return '<meta http-equiv="refresh" content="0;url=/w/' + parse.quote('파일:' + filename).replace('/','%2F') + '" />'
|
|
return '<meta http-equiv="refresh" content="0;url=/w/' + parse.quote('파일:' + filename).replace('/','%2F') + '" />'
|
|
|
else:
|
|
else:
|
|
|
- return render_template('index.html', logo = data['name'], title = '업로드 오류', data = '파일 명에 ./\*<>|:? 들은 불가능 합니다.')
|
|
|
|
|
|
|
+ return '<meta http-equiv="refresh" content="0;url=/error/15" />'
|
|
|
else:
|
|
else:
|
|
|
- return render_template('index.html', logo = data['name'], title = '업로드 오류', data = 'jpg gif jpeg png만 가능 합니다.')
|
|
|
|
|
|
|
+ return '<meta http-equiv="refresh" content="0;url=/error/14" />'
|
|
|
else:
|
|
else:
|
|
|
ip = getip(request)
|
|
ip = getip(request)
|
|
|
ban = getban(ip)
|
|
ban = getban(ip)
|
|
@@ -1846,7 +1846,7 @@ def w(name = None):
|
|
|
else:
|
|
else:
|
|
|
return render_template('index.html', title = name, logo = data['name'], page = parse.quote(name).replace('/','%2F'), data = div, license = data['license'], tn = 1, uppage = uppage, style = style, acl = acl, topic = topic)
|
|
return render_template('index.html', title = name, logo = data['name'], page = parse.quote(name).replace('/','%2F'), data = div, license = data['license'], tn = 1, uppage = uppage, style = style, acl = acl, topic = topic)
|
|
|
else:
|
|
else:
|
|
|
- return render_template('index.html', title = name, logo = data['name'], page = parse.quote(name).replace('/','%2F'), data = '분류 문서 없음', license = data['license'], tn = 1, uppage = uppage, style = style, acl = acl, topic = topic)
|
|
|
|
|
|
|
+ return render_template('index.html', title = name, logo = data['name'], page = parse.quote(name).replace('/','%2F'), data = '분류 문서 없음', license = data['license'], tn = 1, uppage = uppage, style = style, acl = acl, topic = topic), 404
|
|
|
else:
|
|
else:
|
|
|
m = re.search("^사용자:(.*)", name)
|
|
m = re.search("^사용자:(.*)", name)
|
|
|
if(m):
|
|
if(m):
|
|
@@ -1877,7 +1877,7 @@ def w(name = None):
|
|
|
left = ''
|
|
left = ''
|
|
|
return render_template('index.html', title = name, logo = data['name'], page = parse.quote(name).replace('/','%2F'), data = enddata, license = data['license'], tn = 1, acl = acl, left = left, uppage = uppage, style = style, topic = topic)
|
|
return render_template('index.html', title = name, logo = data['name'], page = parse.quote(name).replace('/','%2F'), data = enddata, license = data['license'], tn = 1, acl = acl, left = left, uppage = uppage, style = style, topic = topic)
|
|
|
else:
|
|
else:
|
|
|
- return render_template('index.html', title = name, logo = data['name'], page = parse.quote(name).replace('/','%2F'), data = '문서 없음', license = data['license'], tn = 1, uppage = uppage, style = style, acl = acl, topic = topic)
|
|
|
|
|
|
|
+ return render_template('index.html', title = name, logo = data['name'], page = parse.quote(name).replace('/','%2F'), data = '문서 없음', license = data['license'], tn = 1, uppage = uppage, style = style, acl = acl, topic = topic), 404
|
|
|
|
|
|
|
|
@app.route('/w/<path:name>/from/<path:redirect>')
|
|
@app.route('/w/<path:name>/from/<path:redirect>')
|
|
|
def redirectw(name = None, redirect = None):
|
|
def redirectw(name = None, redirect = None):
|
|
@@ -1970,7 +1970,7 @@ def redirectw(name = None, redirect = None):
|
|
|
else:
|
|
else:
|
|
|
return render_template('index.html', title = name, logo = data['name'], page = parse.quote(name).replace('/','%2F'), data = div, license = data['license'], tn = 1, uppage = uppage, style = style, acl = acl, topic = topic, redirect = '<a href="/w/' + parse.quote(redirect).replace('/','%2F') + '/from/' + parse.quote(name).replace('/','%2F') + '">' + redirect + '</a>에서 넘어 왔습니다.')
|
|
return render_template('index.html', title = name, logo = data['name'], page = parse.quote(name).replace('/','%2F'), data = div, license = data['license'], tn = 1, uppage = uppage, style = style, acl = acl, topic = topic, redirect = '<a href="/w/' + parse.quote(redirect).replace('/','%2F') + '/from/' + parse.quote(name).replace('/','%2F') + '">' + redirect + '</a>에서 넘어 왔습니다.')
|
|
|
else:
|
|
else:
|
|
|
- return render_template('index.html', title = name, logo = data['name'], page = parse.quote(name).replace('/','%2F'), data = '분류 문서 없음', license = data['license'], tn = 1, uppage = uppage, style = style, acl = acl, topic = topic, redirect = '<a href="/w/' + parse.quote(redirect).replace('/','%2F') + '/from/' + parse.quote(name).replace('/','%2F') + '">' + redirect + '</a>에서 넘어 왔습니다.')
|
|
|
|
|
|
|
+ return render_template('index.html', title = name, logo = data['name'], page = parse.quote(name).replace('/','%2F'), data = '분류 문서 없음', license = data['license'], tn = 1, uppage = uppage, style = style, acl = acl, topic = topic, redirect = '<a href="/w/' + parse.quote(redirect).replace('/','%2F') + '/from/' + parse.quote(name).replace('/','%2F') + '">' + redirect + '</a>에서 넘어 왔습니다.'), 404
|
|
|
else:
|
|
else:
|
|
|
m = re.search("^사용자:(.*)", name)
|
|
m = re.search("^사용자:(.*)", name)
|
|
|
if(m):
|
|
if(m):
|
|
@@ -2002,7 +2002,7 @@ def redirectw(name = None, redirect = None):
|
|
|
left = ''
|
|
left = ''
|
|
|
return render_template('index.html', title = name, logo = data['name'], page = parse.quote(name).replace('/','%2F'), data = enddata, license = data['license'], tn = 1, acl = acl, left = left, uppage = uppage, style = style, topic = topic, redirect = '<a href="/w/' + parse.quote(redirect).replace('/','%2F') + '/from/' + parse.quote(name).replace('/','%2F') + '">' + redirect + '</a>에서 넘어 왔습니다.')
|
|
return render_template('index.html', title = name, logo = data['name'], page = parse.quote(name).replace('/','%2F'), data = enddata, license = data['license'], tn = 1, acl = acl, left = left, uppage = uppage, style = style, topic = topic, redirect = '<a href="/w/' + parse.quote(redirect).replace('/','%2F') + '/from/' + parse.quote(name).replace('/','%2F') + '">' + redirect + '</a>에서 넘어 왔습니다.')
|
|
|
else:
|
|
else:
|
|
|
- return render_template('index.html', title = name, logo = data['name'], page = parse.quote(name).replace('/','%2F'), data = '문서 없음', license = data['license'], tn = 1, uppage = uppage, style = style, acl = acl, topic = topic, redirect = '<a href="/w/' + parse.quote(redirect).replace('/','%2F') + '/from/' + parse.quote(name).replace('/','%2F') + '">' + redirect + '</a>에서 넘어 왔습니다.')
|
|
|
|
|
|
|
+ return render_template('index.html', title = name, logo = data['name'], page = parse.quote(name).replace('/','%2F'), data = '문서 없음', license = data['license'], tn = 1, uppage = uppage, style = style, acl = acl, topic = topic, redirect = '<a href="/w/' + parse.quote(redirect).replace('/','%2F') + '/from/' + parse.quote(name).replace('/','%2F') + '">' + redirect + '</a>에서 넘어 왔습니다.'), 404
|
|
|
|
|
|
|
|
@app.route('/w/<path:name>/r/<int:number>')
|
|
@app.route('/w/<path:name>/r/<int:number>')
|
|
|
def rew(name = None, number = None):
|
|
def rew(name = None, number = None):
|
|
@@ -2018,7 +2018,7 @@ def rew(name = None, number = None):
|
|
|
left = ''
|
|
left = ''
|
|
|
return render_template('index.html', title = name, logo = data['name'], page = parse.quote(name).replace('/','%2F'), data = enddata, license = data['license'], tn = 6, left = left)
|
|
return render_template('index.html', title = name, logo = data['name'], page = parse.quote(name).replace('/','%2F'), data = enddata, license = data['license'], tn = 6, left = left)
|
|
|
else:
|
|
else:
|
|
|
- return render_template('index.html', title = name, logo = data['name'], page = parse.quote(name).replace('/','%2F'), data = '문서 없음', license = data['license'], tn = 6)
|
|
|
|
|
|
|
+ return '<meta http-equiv="refresh" content="0;url=/history/' + parse.quote(name).replace('/','%2F') + '" />'
|
|
|
|
|
|
|
|
@app.route('/w/<path:name>/raw/<int:number>')
|
|
@app.route('/w/<path:name>/raw/<int:number>')
|
|
|
def reraw(name = None, number = None):
|
|
def reraw(name = None, number = None):
|
|
@@ -2031,7 +2031,7 @@ def reraw(name = None, number = None):
|
|
|
enddata = re.sub("\n", '<br>', enddata)
|
|
enddata = re.sub("\n", '<br>', enddata)
|
|
|
return render_template('index.html', title = name, logo = data['name'], page = parse.quote(name).replace('/','%2F'), data = enddata, license = data['license'])
|
|
return render_template('index.html', title = name, logo = data['name'], page = parse.quote(name).replace('/','%2F'), data = enddata, license = data['license'])
|
|
|
else:
|
|
else:
|
|
|
- return render_template('index.html', title = name, logo = data['name'], page = parse.quote(name).replace('/','%2F'), data = '문서 없음', license = data['license'])
|
|
|
|
|
|
|
+ return '<meta http-equiv="refresh" content="0;url=/history/' + parse.quote(name).replace('/','%2F') + '" />'
|
|
|
|
|
|
|
|
@app.route('/raw/<path:name>')
|
|
@app.route('/raw/<path:name>')
|
|
|
def raw(name = None):
|
|
def raw(name = None):
|
|
@@ -2044,7 +2044,7 @@ def raw(name = None):
|
|
|
enddata = re.sub("\n", '<br>', enddata)
|
|
enddata = re.sub("\n", '<br>', enddata)
|
|
|
return render_template('index.html', title = name, logo = data['name'], page = parse.quote(name).replace('/','%2F'), data = enddata, license = data['license'], tn = 7)
|
|
return render_template('index.html', title = name, logo = data['name'], page = parse.quote(name).replace('/','%2F'), data = enddata, license = data['license'], tn = 7)
|
|
|
else:
|
|
else:
|
|
|
- return render_template('index.html', title = name, logo = data['name'], page = parse.quote(name).replace('/','%2F'), data = '문서 없음', license = data['license'], tn = 7)
|
|
|
|
|
|
|
+ return '<meta http-equiv="refresh" content="0;url=/w/' + parse.quote(name).replace('/','%2F') + '" />'
|
|
|
|
|
|
|
|
@app.route('/revert/<path:name>/r/<int:number>', methods=['POST', 'GET'])
|
|
@app.route('/revert/<path:name>/r/<int:number>', methods=['POST', 'GET'])
|
|
|
def revert(name = None, number = None):
|
|
def revert(name = None, number = None):
|
|
@@ -2090,7 +2090,7 @@ def edit(name = None):
|
|
|
if(request.method == 'POST'):
|
|
if(request.method == 'POST'):
|
|
|
m = re.search('(?:[^A-Za-zㄱ-힣0-9 ])', request.form["send"])
|
|
m = re.search('(?:[^A-Za-zㄱ-힣0-9 ])', request.form["send"])
|
|
|
if(m):
|
|
if(m):
|
|
|
- return render_template('index.html', title = '편집 오류', logo = data['name'], data = '편집 내용 기록에는 한글과 영어와 숫자, 공백만 허용 됩니다.')
|
|
|
|
|
|
|
+ return '<meta http-equiv="refresh" content="0;url=/error/17" />'
|
|
|
else:
|
|
else:
|
|
|
today = getnow()
|
|
today = getnow()
|
|
|
content = re.sub("\[date\(now\)\]", today, request.form["content"])
|
|
content = re.sub("\[date\(now\)\]", today, request.form["content"])
|
|
@@ -2098,7 +2098,7 @@ def edit(name = None):
|
|
|
rows = curs.fetchall()
|
|
rows = curs.fetchall()
|
|
|
if(rows):
|
|
if(rows):
|
|
|
if(rows[0]['data'] == content):
|
|
if(rows[0]['data'] == content):
|
|
|
- return render_template('index.html', title = '편집 오류', logo = data['name'], data = '내용이 원래 문서와 동일 합니다.')
|
|
|
|
|
|
|
+ return '<meta http-equiv="refresh" content="0;url=/error/18" />'
|
|
|
else:
|
|
else:
|
|
|
ip = getip(request)
|
|
ip = getip(request)
|
|
|
can = getcan(ip, name)
|
|
can = getcan(ip, name)
|
|
@@ -2149,7 +2149,7 @@ def secedit(name = None, number = None):
|
|
|
if(request.method == 'POST'):
|
|
if(request.method == 'POST'):
|
|
|
m = re.search('(?:[^A-Za-zㄱ-힣0-9 ])', request.form["send"])
|
|
m = re.search('(?:[^A-Za-zㄱ-힣0-9 ])', request.form["send"])
|
|
|
if(m):
|
|
if(m):
|
|
|
- return render_template('index.html', title = '편집 오류', logo = data['name'], data = '편집 내용 기록에는 한글과 영어와 숫자, 공백만 허용 됩니다.')
|
|
|
|
|
|
|
+ return '<meta http-equiv="refresh" content="0;url=/error/17" />'
|
|
|
else:
|
|
else:
|
|
|
today = getnow()
|
|
today = getnow()
|
|
|
content = re.sub("\[date\(now\)\]", today, request.form["content"])
|
|
content = re.sub("\[date\(now\)\]", today, request.form["content"])
|
|
@@ -2157,7 +2157,7 @@ def secedit(name = None, number = None):
|
|
|
rows = curs.fetchall()
|
|
rows = curs.fetchall()
|
|
|
if(rows):
|
|
if(rows):
|
|
|
if(request.form["otent"] == content):
|
|
if(request.form["otent"] == content):
|
|
|
- return render_template('index.html', title = '편집 오류', logo = data['name'], data = '내용이 원래 문서와 동일 합니다.')
|
|
|
|
|
|
|
+ return '<meta http-equiv="refresh" content="0;url=/error/18" />'
|
|
|
else:
|
|
else:
|
|
|
ip = getip(request)
|
|
ip = getip(request)
|
|
|
can = getcan(ip, name)
|
|
can = getcan(ip, name)
|
|
@@ -2311,7 +2311,7 @@ def move(name = None):
|
|
|
curs.execute("select * from history where title = '" + pymysql.escape_string(request.form["title"]) + "'")
|
|
curs.execute("select * from history where title = '" + pymysql.escape_string(request.form["title"]) + "'")
|
|
|
row = curs.fetchall()
|
|
row = curs.fetchall()
|
|
|
if(row):
|
|
if(row):
|
|
|
- return render_template('index.html', title = '이동 오류', logo = data['name'], data = '이동 하려는 곳에 문서가 이미 있습니다.')
|
|
|
|
|
|
|
+ return '<meta http-equiv="refresh" content="0;url=/error/19" />'
|
|
|
else:
|
|
else:
|
|
|
history(name, rows[0]['data'], today, ip, '<a href="/w/' + parse.quote(name).replace('/','%2F') + '">' + name + '</a> 문서를 <a href="/w/' + parse.quote(request.form["title"]).replace('/','%2F') + '">' + request.form["title"] + '</a> 문서로 이동 했습니다.', leng)
|
|
history(name, rows[0]['data'], today, ip, '<a href="/w/' + parse.quote(name).replace('/','%2F') + '">' + name + '</a> 문서를 <a href="/w/' + parse.quote(request.form["title"]).replace('/','%2F') + '">' + request.form["title"] + '</a> 문서로 이동 했습니다.', leng)
|
|
|
curs.execute("update data set title = '" + pymysql.escape_string(request.form["title"]) + "' where title = '" + pymysql.escape_string(name) + "'")
|
|
curs.execute("update data set title = '" + pymysql.escape_string(request.form["title"]) + "' where title = '" + pymysql.escape_string(name) + "'")
|
|
@@ -2329,7 +2329,7 @@ def move(name = None):
|
|
|
curs.execute("select * from history where title = '" + pymysql.escape_string(request.form["title"]) + "'")
|
|
curs.execute("select * from history where title = '" + pymysql.escape_string(request.form["title"]) + "'")
|
|
|
row = curs.fetchall()
|
|
row = curs.fetchall()
|
|
|
if(row):
|
|
if(row):
|
|
|
- return render_template('index.html', title = '이동 오류', logo = data['name'], data = '이동 하려는 곳에 문서가 이미 있습니다.')
|
|
|
|
|
|
|
+ return '<meta http-equiv="refresh" content="0;url=/error/19" />'
|
|
|
else:
|
|
else:
|
|
|
history(name, '', today, ip, '<a href="/w/' + parse.quote(name).replace('/','%2F') + '">' + name + '</a> 문서를 <a href="/w/' + parse.quote(request.form["title"]).replace('/','%2F') + '">' + request.form["title"] + '</a> 문서로 이동 했습니다.', leng)
|
|
history(name, '', today, ip, '<a href="/w/' + parse.quote(name).replace('/','%2F') + '">' + name + '</a> 문서를 <a href="/w/' + parse.quote(request.form["title"]).replace('/','%2F') + '">' + request.form["title"] + '</a> 문서로 이동 했습니다.', leng)
|
|
|
curs.execute("update history set title = '" + pymysql.escape_string(request.form["title"]) + "' where title = '" + pymysql.escape_string(name) + "'")
|
|
curs.execute("update history set title = '" + pymysql.escape_string(request.form["title"]) + "' where title = '" + pymysql.escape_string(name) + "'")
|
|
@@ -2345,7 +2345,7 @@ def move(name = None):
|
|
|
|
|
|
|
|
@app.route('/other')
|
|
@app.route('/other')
|
|
|
def other():
|
|
def other():
|
|
|
- return render_template('index.html', title = '기타 메뉴', logo = data['name'], data = '<li><a href="/titleindex">모든 문서</a></li><li><a href="/blocklog/n/1">유저 차단 기록</a></li><li><a href="/userlog/n/1">유저 가입 기록</a></li><li><a href="/upload">업로드</a></li><li><a href="/manager">관리자 메뉴</a></li><li><a href="/record">유저 기록</a></li><br>이 오픈나무의 버전은 <a href="https://github.com/2DU/openNAMU/blob/master/version.md">1.7.1.1</a> 입니다.')
|
|
|
|
|
|
|
+ return render_template('index.html', title = '기타 메뉴', logo = data['name'], data = '<li><a href="/titleindex">모든 문서</a></li><li><a href="/blocklog/n/1">유저 차단 기록</a></li><li><a href="/userlog/n/1">유저 가입 기록</a></li><li><a href="/upload">업로드</a></li><li><a href="/manager">관리자 메뉴</a></li><li><a href="/record">유저 기록</a></li><br>이 오픈나무의 버전은 <a href="https://github.com/2DU/openNAMU/blob/master/version.md">1.7.2</a> 입니다.')
|
|
|
|
|
|
|
|
@app.route('/manager')
|
|
@app.route('/manager')
|
|
|
def manager():
|
|
def manager():
|
|
@@ -2588,11 +2588,11 @@ def blind(name = None, sub = None, number = None):
|
|
|
else:
|
|
else:
|
|
|
return '<meta http-equiv="refresh" content="0;url=/topic/' + name + '/sub/' + sub + '" />'
|
|
return '<meta http-equiv="refresh" content="0;url=/topic/' + name + '/sub/' + sub + '" />'
|
|
|
else:
|
|
else:
|
|
|
- return render_template('index.html', title = '권한 오류', logo = data['name'], data = '권한이 모자랍니다.')
|
|
|
|
|
|
|
+ return '<meta http-equiv="refresh" content="0;url=/error/3" />'
|
|
|
else:
|
|
else:
|
|
|
- return render_template('index.html', title = '권한 오류', logo = data['name'], data = '계정이 없습니다.')
|
|
|
|
|
|
|
+ return '<meta http-equiv="refresh" content="0;url=/error/2" />'
|
|
|
else:
|
|
else:
|
|
|
- return render_template('index.html', title = '권한 오류', logo = data['name'], data = '비 로그인 상태 입니다.')
|
|
|
|
|
|
|
+ return '<meta http-equiv="refresh" content="0;url=/error/1" />'
|
|
|
|
|
|
|
|
@app.route('/topic/<path:name>/sub/<path:sub>/stop')
|
|
@app.route('/topic/<path:name>/sub/<path:sub>/stop')
|
|
|
def topicstop(name = None, sub = None):
|
|
def topicstop(name = None, sub = None):
|
|
@@ -2619,11 +2619,11 @@ def topicstop(name = None, sub = None):
|
|
|
else:
|
|
else:
|
|
|
return '<meta http-equiv="refresh" content="0;url=/topic/' + name + '/sub/' + sub + '" />'
|
|
return '<meta http-equiv="refresh" content="0;url=/topic/' + name + '/sub/' + sub + '" />'
|
|
|
else:
|
|
else:
|
|
|
- return render_template('index.html', title = '권한 오류', logo = data['name'], data = '권한이 모자랍니다.')
|
|
|
|
|
|
|
+ return '<meta http-equiv="refresh" content="0;url=/error/3" />'
|
|
|
else:
|
|
else:
|
|
|
- return render_template('index.html', title = '권한 오류', logo = data['name'], data = '계정이 없습니다.')
|
|
|
|
|
|
|
+ return '<meta http-equiv="refresh" content="0;url=/error/2" />'
|
|
|
else:
|
|
else:
|
|
|
- return render_template('index.html', title = '권한 오류', logo = data['name'], data = '비 로그인 상태 입니다.')
|
|
|
|
|
|
|
+ return '<meta http-equiv="refresh" content="0;url=/error/1" />'
|
|
|
|
|
|
|
|
@app.route('/topic/<path:name>/sub/<path:sub>/close')
|
|
@app.route('/topic/<path:name>/sub/<path:sub>/close')
|
|
|
def topicclose(name = None, sub = None):
|
|
def topicclose(name = None, sub = None):
|
|
@@ -2650,11 +2650,11 @@ def topicclose(name = None, sub = None):
|
|
|
else:
|
|
else:
|
|
|
return '<meta http-equiv="refresh" content="0;url=/topic/' + name + '/sub/' + sub + '" />'
|
|
return '<meta http-equiv="refresh" content="0;url=/topic/' + name + '/sub/' + sub + '" />'
|
|
|
else:
|
|
else:
|
|
|
- return render_template('index.html', title = '권한 오류', logo = data['name'], data = '권한이 모자랍니다.')
|
|
|
|
|
|
|
+ return '<meta http-equiv="refresh" content="0;url=/error/3" />'
|
|
|
else:
|
|
else:
|
|
|
- return render_template('index.html', title = '권한 오류', logo = data['name'], data = '계정이 없습니다.')
|
|
|
|
|
|
|
+ return '<meta http-equiv="refresh" content="0;url=/error/2" />'
|
|
|
else:
|
|
else:
|
|
|
- return render_template('index.html', title = '권한 오류', logo = data['name'], data = '비 로그인 상태 입니다.')
|
|
|
|
|
|
|
+ return '<meta http-equiv="refresh" content="0;url=/error/1" />'
|
|
|
|
|
|
|
|
@app.route('/login', methods=['POST', 'GET'])
|
|
@app.route('/login', methods=['POST', 'GET'])
|
|
|
def login():
|
|
def login():
|
|
@@ -2668,7 +2668,7 @@ def login():
|
|
|
rows = curs.fetchall()
|
|
rows = curs.fetchall()
|
|
|
if(rows):
|
|
if(rows):
|
|
|
if(session.get('Now') == True):
|
|
if(session.get('Now') == True):
|
|
|
- return render_template('index.html', title = '로그인 오류', logo = data['name'], data = '이미 로그인 되어 있습니다.')
|
|
|
|
|
|
|
+ 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(rows[0]['pw'], 'utf-8'))):
|
|
|
session['Now'] = True
|
|
session['Now'] = True
|
|
|
session['DREAMER'] = request.form["id"]
|
|
session['DREAMER'] = request.form["id"]
|
|
@@ -2676,9 +2676,9 @@ def login():
|
|
|
conn.commit()
|
|
conn.commit()
|
|
|
return '<meta http-equiv="refresh" content="0;url=/w/' + parse.quote(data['frontpage']).replace('/','%2F') + '" />'
|
|
return '<meta http-equiv="refresh" content="0;url=/w/' + parse.quote(data['frontpage']).replace('/','%2F') + '" />'
|
|
|
else:
|
|
else:
|
|
|
- return render_template('index.html', title = '로그인 오류', logo = data['name'], data = '비밀번호가 다릅니다.')
|
|
|
|
|
|
|
+ return '<meta http-equiv="refresh" content="0;url=/error/13" />'
|
|
|
else:
|
|
else:
|
|
|
- return render_template('index.html', title = '로그인 오류', logo = data['name'], data = '없는 계정 입니다.')
|
|
|
|
|
|
|
+ return '<meta http-equiv="refresh" content="0;url=/error/12" />'
|
|
|
else:
|
|
else:
|
|
|
ip = getip(request)
|
|
ip = getip(request)
|
|
|
ban = getban(ip)
|
|
ban = getban(ip)
|
|
@@ -2686,7 +2686,7 @@ def login():
|
|
|
return '<meta http-equiv="refresh" content="0;url=/ban" />'
|
|
return '<meta http-equiv="refresh" content="0;url=/ban" />'
|
|
|
else:
|
|
else:
|
|
|
if(session.get('Now') == True):
|
|
if(session.get('Now') == True):
|
|
|
- return render_template('index.html', title = '로그인 오류', logo = data['name'], data = '이미 로그인 되어 있습니다.')
|
|
|
|
|
|
|
+ return '<meta http-equiv="refresh" content="0;url=/error/11" />'
|
|
|
else:
|
|
else:
|
|
|
return render_template('index.html', title = '로그인', enter = '로그인', logo = data['name'], tn = 15)
|
|
return render_template('index.html', title = '로그인', enter = '로그인', logo = data['name'], tn = 15)
|
|
|
|
|
|
|
@@ -2709,9 +2709,9 @@ def change():
|
|
|
conn.commit()
|
|
conn.commit()
|
|
|
return '<meta http-equiv="refresh" content="0;url=/login" />'
|
|
return '<meta http-equiv="refresh" content="0;url=/login" />'
|
|
|
else:
|
|
else:
|
|
|
- return render_template('index.html', title = '변경 오류', logo = data['name'], data = '비밀번호가 다릅니다.')
|
|
|
|
|
|
|
+ return '<meta http-equiv="refresh" content="0;url=/error/10" />'
|
|
|
else:
|
|
else:
|
|
|
- return render_template('index.html', title = '변경 오류', logo = data['name'], data = '없는 계정 입니다.')
|
|
|
|
|
|
|
+ return '<meta http-equiv="refresh" content="0;url=/error/9" />'
|
|
|
else:
|
|
else:
|
|
|
ip = getip(request)
|
|
ip = getip(request)
|
|
|
ban = getban(ip)
|
|
ban = getban(ip)
|
|
@@ -2728,7 +2728,7 @@ def check(name = None, sub = None, number = None):
|
|
|
curs.execute("select * from user where id = '" + pymysql.escape_string(name) + "'")
|
|
curs.execute("select * from user where id = '" + pymysql.escape_string(name) + "'")
|
|
|
rows = curs.fetchall()
|
|
rows = curs.fetchall()
|
|
|
if(rows and rows[0]['acl'] == 'owner' or rows and rows[0]['acl'] == 'admin'):
|
|
if(rows and rows[0]['acl'] == 'owner' or rows and rows[0]['acl'] == 'admin'):
|
|
|
- return render_template('index.html', title = '차단 오류', logo = data['name'], data = '관리자는 검사 할 수 없습니다.')
|
|
|
|
|
|
|
+ return '<meta http-equiv="refresh" content="0;url=/error/4" />'
|
|
|
else:
|
|
else:
|
|
|
if(admincheck() == 1):
|
|
if(admincheck() == 1):
|
|
|
m = re.search('(?:[0-9](?:[0-9][0-9])?\.[0-9](?:[0-9][0-9])?\.[0-9](?:[0-9][0-9])?\.[0-9](?:[0-9][0-9])?)', name)
|
|
m = re.search('(?:[0-9](?:[0-9][0-9])?\.[0-9](?:[0-9][0-9])?\.[0-9](?:[0-9][0-9])?\.[0-9](?:[0-9][0-9])?)', name)
|
|
@@ -2763,7 +2763,7 @@ def check(name = None, sub = None, number = None):
|
|
|
else:
|
|
else:
|
|
|
return render_template('index.html', title = '다중 검사', logo = data['name'], tn = 22, rows = '')
|
|
return render_template('index.html', title = '다중 검사', logo = data['name'], tn = 22, rows = '')
|
|
|
else:
|
|
else:
|
|
|
- return render_template('index.html', title = '권한 오류', logo = data['name'], data = '권한이 모자랍니다.')
|
|
|
|
|
|
|
+ return '<meta http-equiv="refresh" content="0;url=/error/3" />'
|
|
|
|
|
|
|
|
@app.route('/register', methods=['POST', 'GET'])
|
|
@app.route('/register', methods=['POST', 'GET'])
|
|
|
def register():
|
|
def register():
|
|
@@ -2775,15 +2775,15 @@ def register():
|
|
|
else:
|
|
else:
|
|
|
m = re.search('(?:[^A-Za-zㄱ-힣0-9 ])', request.form["id"])
|
|
m = re.search('(?:[^A-Za-zㄱ-힣0-9 ])', request.form["id"])
|
|
|
if(m):
|
|
if(m):
|
|
|
- return render_template('index.html', title = '회원가입 오류', logo = data['name'], data = '아이디에는 한글과 알파벳 공백만 허용 됩니다.')
|
|
|
|
|
|
|
+ return '<meta http-equiv="refresh" content="0;url=/error/8" />'
|
|
|
else:
|
|
else:
|
|
|
if(len(request.form["id"]) > 20):
|
|
if(len(request.form["id"]) > 20):
|
|
|
- return render_template('index.html', title = '회원가입 오류', logo = data['name'], data = '아이디는 20글자보다 짧아야 합니다.')
|
|
|
|
|
|
|
+ return '<meta http-equiv="refresh" content="0;url=/error/7" />'
|
|
|
else:
|
|
else:
|
|
|
curs.execute("select * from user where id = '" + pymysql.escape_string(request.form["id"]) + "'")
|
|
curs.execute("select * from user where id = '" + pymysql.escape_string(request.form["id"]) + "'")
|
|
|
rows = curs.fetchall()
|
|
rows = curs.fetchall()
|
|
|
if(rows):
|
|
if(rows):
|
|
|
- return render_template('index.html', title = '회원가입 오류', logo = data['name'], data = '동일한 아이디의 유저가 있습니다.')
|
|
|
|
|
|
|
+ return '<meta http-equiv="refresh" content="0;url=/error/6" />'
|
|
|
else:
|
|
else:
|
|
|
hashed = bcrypt.hashpw(bytes(request.form["pw"], 'utf-8'), bcrypt.gensalt())
|
|
hashed = bcrypt.hashpw(bytes(request.form["pw"], 'utf-8'), bcrypt.gensalt())
|
|
|
if(request.form["id"] == data['owner']):
|
|
if(request.form["id"] == data['owner']):
|
|
@@ -2811,7 +2811,7 @@ def ban(name = None):
|
|
|
curs.execute("select * from user where id = '" + pymysql.escape_string(name) + "'")
|
|
curs.execute("select * from user where id = '" + pymysql.escape_string(name) + "'")
|
|
|
rows = curs.fetchall()
|
|
rows = curs.fetchall()
|
|
|
if(rows and rows[0]['acl'] == 'owner' or rows and rows[0]['acl'] == 'admin'):
|
|
if(rows and rows[0]['acl'] == 'owner' or rows and rows[0]['acl'] == 'admin'):
|
|
|
- return render_template('index.html', title = '차단 오류', logo = data['name'], data = '관리자는 차단 할 수 없습니다.')
|
|
|
|
|
|
|
+ return '<meta http-equiv="refresh" content="0;url=/error/4" />'
|
|
|
else:
|
|
else:
|
|
|
if(request.method == 'POST'):
|
|
if(request.method == 'POST'):
|
|
|
if(admincheck() == 1):
|
|
if(admincheck() == 1):
|
|
@@ -2832,7 +2832,7 @@ def ban(name = None):
|
|
|
conn.commit()
|
|
conn.commit()
|
|
|
return '<meta http-equiv="refresh" content="0;url=/w/' + parse.quote(data['frontpage']).replace('/','%2F') + '" />'
|
|
return '<meta http-equiv="refresh" content="0;url=/w/' + parse.quote(data['frontpage']).replace('/','%2F') + '" />'
|
|
|
else:
|
|
else:
|
|
|
- return render_template('index.html', title = '권한 오류', logo = data['name'], data = '권한이 모자랍니다.')
|
|
|
|
|
|
|
+ return '<meta http-equiv="refresh" content="0;url=/error/3" />'
|
|
|
else:
|
|
else:
|
|
|
if(admincheck() == 1):
|
|
if(admincheck() == 1):
|
|
|
curs.execute("select * from ban where block = '" + pymysql.escape_string(name) + "'")
|
|
curs.execute("select * from ban where block = '" + pymysql.escape_string(name) + "'")
|
|
@@ -2847,7 +2847,7 @@ def ban(name = None):
|
|
|
now = '차단'
|
|
now = '차단'
|
|
|
return render_template('index.html', title = name, page = parse.quote(name).replace('/','%2F'), logo = data['name'], tn = 16, now = now, today = getnow())
|
|
return render_template('index.html', title = name, page = parse.quote(name).replace('/','%2F'), logo = data['name'], tn = 16, now = now, today = getnow())
|
|
|
else:
|
|
else:
|
|
|
- return render_template('index.html', title = '권한 오류', logo = data['name'], data = '권한이 모자랍니다.')
|
|
|
|
|
|
|
+ return '<meta http-equiv="refresh" content="0;url=/error/3" />'
|
|
|
|
|
|
|
|
@app.route('/acl/<path:name>', methods=['POST', 'GET'])
|
|
@app.route('/acl/<path:name>', methods=['POST', 'GET'])
|
|
|
def acl(name = None):
|
|
def acl(name = None):
|
|
@@ -2865,7 +2865,7 @@ def acl(name = None):
|
|
|
conn.commit()
|
|
conn.commit()
|
|
|
return '<meta http-equiv="refresh" content="0;url=/w/' + parse.quote(name).replace('/','%2F') + '" />'
|
|
return '<meta http-equiv="refresh" content="0;url=/w/' + parse.quote(name).replace('/','%2F') + '" />'
|
|
|
else:
|
|
else:
|
|
|
- return render_template('index.html', title = '권한 오류', logo = data['name'], data = '권한이 모자랍니다.')
|
|
|
|
|
|
|
+ return '<meta http-equiv="refresh" content="0;url=/error/3" />'
|
|
|
else:
|
|
else:
|
|
|
if(admincheck() == 1):
|
|
if(admincheck() == 1):
|
|
|
curs.execute("select * from data where title = '" + pymysql.escape_string(name) + "'")
|
|
curs.execute("select * from data where title = '" + pymysql.escape_string(name) + "'")
|
|
@@ -2881,7 +2881,7 @@ def acl(name = None):
|
|
|
else:
|
|
else:
|
|
|
return '<meta http-equiv="refresh" content="0;url=/w/' + parse.quote(name).replace('/','%2F') + '" />'
|
|
return '<meta http-equiv="refresh" content="0;url=/w/' + parse.quote(name).replace('/','%2F') + '" />'
|
|
|
else:
|
|
else:
|
|
|
- return render_template('index.html', title = '권한 오류', logo = data['name'], data = '권한이 모자랍니다.')
|
|
|
|
|
|
|
+ return '<meta http-equiv="refresh" content="0;url=/error/3" />'
|
|
|
|
|
|
|
|
@app.route('/admin/<name>', methods=['POST', 'GET'])
|
|
@app.route('/admin/<name>', methods=['POST', 'GET'])
|
|
|
def admin(name = None):
|
|
def admin(name = None):
|
|
@@ -2902,13 +2902,13 @@ def admin(name = None):
|
|
|
conn.commit()
|
|
conn.commit()
|
|
|
return '<meta http-equiv="refresh" content="0;url=/w/' + parse.quote(data['frontpage']).replace('/','%2F') + '" />'
|
|
return '<meta http-equiv="refresh" content="0;url=/w/' + parse.quote(data['frontpage']).replace('/','%2F') + '" />'
|
|
|
else:
|
|
else:
|
|
|
- return render_template('index.html', title = '사용자 오류', logo = data['name'], data = '계정이 없습니다.')
|
|
|
|
|
|
|
+ return '<meta http-equiv="refresh" content="0;url=/error/5" />'
|
|
|
else:
|
|
else:
|
|
|
- return render_template('index.html', title = '권한 오류', logo = data['name'], data = '권한이 모자랍니다.')
|
|
|
|
|
|
|
+ return '<meta http-equiv="refresh" content="0;url=/error/3" />'
|
|
|
else:
|
|
else:
|
|
|
- return render_template('index.html', title = '권한 오류', logo = data['name'], data = '계정이 없습니다.')
|
|
|
|
|
|
|
+ return '<meta http-equiv="refresh" content="0;url=/error/2" />'
|
|
|
else:
|
|
else:
|
|
|
- return render_template('index.html', title = '권한 오류', logo = data['name'], data = '비 로그인 상태 입니다.')
|
|
|
|
|
|
|
+ return '<meta http-equiv="refresh" content="0;url=/error/1" />'
|
|
|
else:
|
|
else:
|
|
|
if(session.get('Now') == True):
|
|
if(session.get('Now') == True):
|
|
|
ip = getip(request)
|
|
ip = getip(request)
|
|
@@ -2925,13 +2925,13 @@ def admin(name = None):
|
|
|
now = '권한 부여'
|
|
now = '권한 부여'
|
|
|
return render_template('index.html', title = name, page = parse.quote(name).replace('/','%2F'), logo = data['name'], tn = 18, now = now)
|
|
return render_template('index.html', title = name, page = parse.quote(name).replace('/','%2F'), logo = data['name'], tn = 18, now = now)
|
|
|
else:
|
|
else:
|
|
|
- return render_template('index.html', title = '사용자 오류', logo = data['name'], data = '계정이 없습니다.')
|
|
|
|
|
|
|
+ return '<meta http-equiv="refresh" content="0;url=/error/5" />'
|
|
|
else:
|
|
else:
|
|
|
- return render_template('index.html', title = '권한 오류', logo = data['name'], data = '권한이 모자랍니다.')
|
|
|
|
|
|
|
+ return '<meta http-equiv="refresh" content="0;url=/error/3" />'
|
|
|
else:
|
|
else:
|
|
|
- return render_template('index.html', title = '권한 오류', logo = data['name'], data = '계정이 없습니다.')
|
|
|
|
|
|
|
+ return '<meta http-equiv="refresh" content="0;url=/error/2" />'
|
|
|
else:
|
|
else:
|
|
|
- return render_template('index.html', title = '권한 오류', logo = data['name'], data = '비 로그인 상태 입니다.')
|
|
|
|
|
|
|
+ return '<meta http-equiv="refresh" content="0;url=/error/1" />'
|
|
|
|
|
|
|
|
@app.route('/ban')
|
|
@app.route('/ban')
|
|
|
def aban():
|
|
def aban():
|
|
@@ -2941,17 +2941,14 @@ def aban():
|
|
|
rows = curs.fetchall()
|
|
rows = curs.fetchall()
|
|
|
if(rows):
|
|
if(rows):
|
|
|
if(rows[0]['end']):
|
|
if(rows[0]['end']):
|
|
|
- end = rows[0]['end'] + ' 까지 차단 상태 입니다. / 사유 : ' + rows[0]['why']
|
|
|
|
|
-
|
|
|
|
|
|
|
+ end = rows[0]['end'] + ' 까지 차단 상태 입니다. / 사유 : ' + rows[0]['why']
|
|
|
now = getnow()
|
|
now = getnow()
|
|
|
now = re.sub(':', '', now)
|
|
now = re.sub(':', '', now)
|
|
|
now = re.sub('\-', '', now)
|
|
now = re.sub('\-', '', now)
|
|
|
now = re.sub(' ', '', now)
|
|
now = re.sub(' ', '', now)
|
|
|
now = int(now)
|
|
now = int(now)
|
|
|
-
|
|
|
|
|
day = rows[0]['end']
|
|
day = rows[0]['end']
|
|
|
- day = re.sub('\-', '', day)
|
|
|
|
|
-
|
|
|
|
|
|
|
+ day = re.sub('\-', '', day)
|
|
|
if(now >= int(day + '000000')):
|
|
if(now >= int(day + '000000')):
|
|
|
curs.execute("delete from ban where block = '" + pymysql.escape_string(ip) + "'")
|
|
curs.execute("delete from ban where block = '" + pymysql.escape_string(ip) + "'")
|
|
|
conn.commit()
|
|
conn.commit()
|
|
@@ -2966,14 +2963,12 @@ def aban():
|
|
|
row = curs.fetchall()
|
|
row = curs.fetchall()
|
|
|
if(row):
|
|
if(row):
|
|
|
if(row[0]['end']):
|
|
if(row[0]['end']):
|
|
|
- end = row[0]['end'] + ' 까지 차단 상태 입니다. / 사유 : ' + rows[0]['why']
|
|
|
|
|
-
|
|
|
|
|
|
|
+ end = row[0]['end'] + ' 까지 차단 상태 입니다. / 사유 : ' + rows[0]['why']
|
|
|
now = getnow()
|
|
now = getnow()
|
|
|
now = re.sub(':', '', now)
|
|
now = re.sub(':', '', now)
|
|
|
now = re.sub('\-', '', now)
|
|
now = re.sub('\-', '', now)
|
|
|
now = re.sub(' ', '', now)
|
|
now = re.sub(' ', '', now)
|
|
|
- now = int(now)
|
|
|
|
|
-
|
|
|
|
|
|
|
+ now = int(now)
|
|
|
day = row[0]['end']
|
|
day = row[0]['end']
|
|
|
day = re.sub('\-', '', day)
|
|
day = re.sub('\-', '', day)
|
|
|
|
|
|
|
@@ -2985,15 +2980,14 @@ def aban():
|
|
|
end = '영구 차단 상태 입니다. / 사유 : ' + row[0]['why']
|
|
end = '영구 차단 상태 입니다. / 사유 : ' + row[0]['why']
|
|
|
else:
|
|
else:
|
|
|
end = '권한이 맞지 않는 상태 입니다.'
|
|
end = '권한이 맞지 않는 상태 입니다.'
|
|
|
-
|
|
|
|
|
- return render_template('index.html', title = '권한 오류', logo = data['name'], data = end)
|
|
|
|
|
|
|
+ return render_template('index.html', title = '권한 오류', logo = data['name'], data = end), 401
|
|
|
|
|
|
|
|
-@app.route('/w/<path:name>/r/<a>/diff/<b>')
|
|
|
|
|
|
|
+@app.route('/w/<path:name>/r/<int:a>/diff/<int:b>')
|
|
|
def diff(name = None, a = None, b = None):
|
|
def diff(name = None, a = None, b = None):
|
|
|
- curs.execute("select * from history where id = '" + pymysql.escape_string(a) + "' and title = '" + pymysql.escape_string(name) + "'")
|
|
|
|
|
|
|
+ curs.execute("select * from history where id = '" + pymysql.escape_string(str(a)) + "' and title = '" + pymysql.escape_string(name) + "'")
|
|
|
rows = curs.fetchall()
|
|
rows = curs.fetchall()
|
|
|
if(rows):
|
|
if(rows):
|
|
|
- curs.execute("select * from history where id = '" + pymysql.escape_string(b) + "' and title = '" + pymysql.escape_string(name) + "'")
|
|
|
|
|
|
|
+ curs.execute("select * from history where id = '" + pymysql.escape_string(str(b)) + "' and title = '" + pymysql.escape_string(name) + "'")
|
|
|
row = curs.fetchall()
|
|
row = curs.fetchall()
|
|
|
if(row):
|
|
if(row):
|
|
|
indata = re.sub('<', '<', rows[0]['data'])
|
|
indata = re.sub('<', '<', rows[0]['data'])
|
|
@@ -3008,9 +3002,9 @@ def diff(name = None, a = None, b = None):
|
|
|
c = show_diff(sm)
|
|
c = show_diff(sm)
|
|
|
return render_template('index.html', title = name, logo = data['name'], data = c, plus = '(비교)')
|
|
return render_template('index.html', title = name, logo = data['name'], data = c, plus = '(비교)')
|
|
|
else:
|
|
else:
|
|
|
- return render_template('index.html', title = 'Diff 오류', logo = data['name'], data = '<a href="/w/' + name + '">이 리비전이나 문서가 없습니다.</a>')
|
|
|
|
|
|
|
+ return '<meta http-equiv="refresh" content="0;url=/history/' + parse.quote(name).replace('/','%2F') + '" />'
|
|
|
else:
|
|
else:
|
|
|
- return render_template('index.html', title = 'Diff 오류', logo = data['name'], data = '<a href="/w/' + name + '">이 리비전이나 문서가 없습니다.</a>')
|
|
|
|
|
|
|
+ return '<meta http-equiv="refresh" content="0;url=/history/' + parse.quote(name).replace('/','%2F') + '" />'
|
|
|
|
|
|
|
|
@app.route('/user')
|
|
@app.route('/user')
|
|
|
def user():
|
|
def user():
|
|
@@ -3039,7 +3033,50 @@ def random():
|
|
|
if(rows):
|
|
if(rows):
|
|
|
return '<meta http-equiv="refresh" content="0;url=/w/' + parse.quote(rows[0]['title']).replace('/','%2F') + '" />'
|
|
return '<meta http-equiv="refresh" content="0;url=/w/' + parse.quote(rows[0]['title']).replace('/','%2F') + '" />'
|
|
|
else:
|
|
else:
|
|
|
- return '<meta http-equiv="refresh" content="0;url=/w/' + parse.quote(data['frontpage']).replace('/','%2F') + '" />'
|
|
|
|
|
|
|
+ return '<meta http-equiv="refresh" content="0;url=/" />'
|
|
|
|
|
+
|
|
|
|
|
+@app.route('/error/<int:num>')
|
|
|
|
|
+def error(num = None):
|
|
|
|
|
+ if(num == 1):
|
|
|
|
|
+ return render_template('index.html', title = '권한 오류', logo = data['name'], data = '비 로그인 상태 입니다.'), 401
|
|
|
|
|
+ elif(num == 2):
|
|
|
|
|
+ return render_template('index.html', title = '권한 오류', logo = data['name'], data = '이 계정이 없습니다.'), 401
|
|
|
|
|
+ elif(num == 3):
|
|
|
|
|
+ return render_template('index.html', title = '권한 오류', logo = data['name'], data = '권한이 모자랍니다.'), 401
|
|
|
|
|
+ elif(num == 4):
|
|
|
|
|
+ return render_template('index.html', title = '권한 오류', logo = data['name'], data = '관리자는 차단, 검사 할 수 없습니다.'), 401
|
|
|
|
|
+ elif(num == 5):
|
|
|
|
|
+ return render_template('index.html', title = '유저 오류', logo = data['name'], data = '그런 계정이 없습니다.'), 401
|
|
|
|
|
+ elif(num == 6):
|
|
|
|
|
+ return render_template('index.html', title = '가입 오류', logo = data['name'], data = '동일한 아이디의 유저가 있습니다.'), 401
|
|
|
|
|
+ elif(num == 7):
|
|
|
|
|
+ return render_template('index.html', title = '가입 오류', logo = data['name'], data = '아이디는 20글자보다 짧아야 합니다.'), 401
|
|
|
|
|
+ elif(num == 8):
|
|
|
|
|
+ return render_template('index.html', title = '가입 오류', logo = data['name'], data = '아이디에는 한글과 알파벳과 공백만 허용 됩니다.'), 401
|
|
|
|
|
+ elif(num == 9):
|
|
|
|
|
+ return render_template('index.html', title = '변경 오류', logo = data['name'], data = '그런 계정이 없습니다.'), 401
|
|
|
|
|
+ elif(num == 10):
|
|
|
|
|
+ return render_template('index.html', title = '변경 오류', logo = data['name'], data = '비밀번호가 다릅니다.'), 401
|
|
|
|
|
+ elif(num == 11):
|
|
|
|
|
+ return render_template('index.html', title = '로그인 오류', logo = data['name'], data = '이미 로그인 되어 있습니다.'), 401
|
|
|
|
|
+ elif(num == 12):
|
|
|
|
|
+ return render_template('index.html', title = '로그인 오류', logo = data['name'], data = '그런 계정이 없습니다.'), 401
|
|
|
|
|
+ elif(num == 13):
|
|
|
|
|
+ return render_template('index.html', title = '로그인 오류', logo = data['name'], data = '비밀번호가 다릅니다.'), 401
|
|
|
|
|
+ elif(num == 14):
|
|
|
|
|
+ return render_template('index.html', title = '업로드 오류', logo = data['name'], data = 'jpg, gif, jpeg, png만 가능 합니다.'), 401
|
|
|
|
|
+ elif(num == 15):
|
|
|
|
|
+ return render_template('index.html', title = '업로드 오류', logo = data['name'], data = '파일 명에 . / \ * < > | : ? 가 들어 갈 수 없습니다.'), 401
|
|
|
|
|
+ elif(num == 16):
|
|
|
|
|
+ return render_template('index.html', title = '업로드 오류', logo = data['name'], data = '동일한 이름의 파일이 있습니다.'), 401
|
|
|
|
|
+ elif(num == 17):
|
|
|
|
|
+ return render_template('index.html', title = '편집 오류', logo = data['name'], data = '편집 내용 기록에는 한글과 영어와 숫자, 공백만 허용 됩니다.'), 401
|
|
|
|
|
+ elif(num == 18):
|
|
|
|
|
+ return render_template('index.html', title = '편집 오류', logo = data['name'], data = '내용이 원래 문서와 동일 합니다.'), 401
|
|
|
|
|
+ elif(num == 19):
|
|
|
|
|
+ return render_template('index.html', title = '이동 오류', logo = data['name'], data = '이동 하려는 곳에 문서가 이미 있습니다.'), 401
|
|
|
|
|
+ else:
|
|
|
|
|
+ return '<meta http-equiv="refresh" content="0;url=/" />'
|
|
|
|
|
|
|
|
@app.errorhandler(404)
|
|
@app.errorhandler(404)
|
|
|
def uncaughtError(error):
|
|
def uncaughtError(error):
|