Quellcode durchsuchen

로그인 화면에 회원가입 권유 추가, oauth 설정 route 생성

hoparkgo9ma vor 7 Jahren
Ursprung
Commit
b2a50c1119
4 geänderte Dateien mit 144 neuen und 116 gelöschten Zeilen
  1. 19 1
      app.py
  2. 8 2
      func.py
  3. 3 1
      language/en-US.json
  4. 114 112
      language/ko-KR.json

+ 19 - 1
app.py

@@ -1287,6 +1287,23 @@ def now_update():
         data = 'auto update is not support. <a href="https://github.com/2DU/opennamu">(github)</a>',
         data = 'auto update is not support. <a href="https://github.com/2DU/opennamu">(github)</a>',
         menu = [['manager/1', load_lang('admin')]]
         menu = [['manager/1', load_lang('admin')]]
     ))
     ))
+
+#OAuth Developing (hoparkgo9ma)
+@app.route('/oauth_settings')
+def oauth_settings():
+    if admin_check(None, 'indexing') != 1:
+        return re_error('/error/3')
+    oauth_supported = load_oauth('_README')['support']
+    body_content = ''
+    for i in range(len(oauth_supported)):
+        oauth_data = load_oauth(oauth_supported[i])
+        for j in range(2):
+            if j == 0:
+                load_target = 'id'
+            elif j == 1:
+                load_target = 'secret'
+            body_content += '<input placeholder="{}_client_{}" name="{}_client_{}" value="{}" type="text">'.format(oauth_supported[i], load_target, oauth_supported[i], load_target, oauth_data['client_{}'.format(load_target)])
+    return body_content
         
         
 @app.route('/xref/<everything:name>')
 @app.route('/xref/<everything:name>')
 def xref(name = None):
 def xref(name = None):
@@ -2136,6 +2153,7 @@ def manager(num = 1):
                         <li><a href="/indexing">''' + load_lang('indexing') + ' (' + load_lang('create') + ' or ' + load_lang('delete') + ''')</a></li>
                         <li><a href="/indexing">''' + load_lang('indexing') + ' (' + load_lang('create') + ' or ' + load_lang('delete') + ''')</a></li>
                         <li><a href="/restart">''' + load_lang('server') + ' ' + load_lang('restart') + '''</a></li>
                         <li><a href="/restart">''' + load_lang('server') + ' ' + load_lang('restart') + '''</a></li>
                         <li><a href="/update">''' + load_lang('update') + '''</a></li>
                         <li><a href="/update">''' + load_lang('update') + '''</a></li>
+                        <li><a href="/oauth_settings">''' + load_lang('oauth_settings') + '''</a></li>
                     </ul>
                     </ul>
                     ''',
                     ''',
             menu = [['other', load_lang('other')]]
             menu = [['other', load_lang('other')]]
@@ -2757,7 +2775,7 @@ def login():
                         <input placeholder="''' + load_lang('password') + '''" name="pw" type="password">
                         <input placeholder="''' + load_lang('password') + '''" name="pw" type="password">
                         <hr>
                         <hr>
                         ''' + captcha_get() + '''
                         ''' + captcha_get() + '''
-                        <button type="submit">''' + load_lang('login') + '''</button>
+                        <button type="submit">''' + load_lang('login') + '''</button><a href="/register">''' + load_lang('register_suggest') + '''</a>
                         <hr>
                         <hr>
                         <span>''' + load_lang('http_warring') + '''</span>
                         <span>''' + load_lang('http_warring') + '''</span>
                     </form>
                     </form>

+ 8 - 2
func.py

@@ -257,12 +257,18 @@ def load_lang(data, num = 2):
         else:
         else:
             return load_lang(data, 1)
             return load_lang(data, 1)
 
 
-# oauth settings #
 def load_oauth(provider):
 def load_oauth(provider):
     oauth_native = open('oauthsettings.json', encoding='utf-8').read()
     oauth_native = open('oauthsettings.json', encoding='utf-8').read()
     oauth = json.loads(oauth_native)
     oauth = json.loads(oauth_native)
     return oauth[provider]
     return oauth[provider]
-# end #
+
+def update_oauth(provider, target, content):
+    oauth_native = open('oauthsettings.json', encoding='utf-8').read()
+    oauth = json.loads(oauth_native)
+    oauth[provider][target] = content
+    with open('oauthsettings.json', 'w', encoding='utf-8') as f:
+        json.dump(oauth, f)
+    return 'Done'
 
 
 def ip_or_user(data):
 def ip_or_user(data):
     if re.search('(\.|:)', data):
     if re.search('(\.|:)', data):

+ 3 - 1
language/en-US.json

@@ -49,6 +49,7 @@
     "license" : "license",
     "license" : "license",
     "interwiki" : "interwiki",
     "interwiki" : "interwiki",
     "update" : "update",
     "update" : "update",
+    "oauth_settings" : "OAuth Settings",
     "setting" : "set",
     "setting" : "set",
     "create" : "create",
     "create" : "create",
     "editor" : "editor",
     "editor" : "editor",
@@ -77,8 +78,9 @@
     "login" : "login",
     "login" : "login",
     "logout" : "logout",
     "logout" : "logout",
     "register" : "register",
     "register" : "register",
+    "register_suggest" : "Do not have an account? Register",
     "able" : "able",
     "able" : "able",
-    "second": "second",
+    "second" : "second",
     "normal" : "normal",
     "normal" : "normal",
     "subscriber" : "registor",
     "subscriber" : "registor",
     "admin" : "admin",
     "admin" : "admin",

+ 114 - 112
language/ko-KR.json

@@ -1,129 +1,131 @@
 {
 {
-    "edit": "편집",
+    "edit" : "편집",
     "raw" : "원본",
     "raw" : "원본",
-    "history": "역사",
-    "easy": "간단",
-    "skin": "스킨",
-    "delete": "삭제",
+    "history" : "역사",
+    "easy" : "간단",
+    "skin" : "스킨",
+    "delete" : "삭제",
     "regex" : "정규표현식",
     "regex" : "정규표현식",
     "language" : "언어",
     "language" : "언어",
-    "server": "서버",
-    "filter": "필터",
-    "move": "이동",
-    "hide": "숨김",
-    "list": "목록",
+    "server" : "서버",
+    "filter" : "필터",
+    "move" : "이동",
+    "hide" : "숨김",
+    "list" : "목록",
     "id" : "아이디",
     "id" : "아이디",
-    "revert": "되돌리기",
-    "version": "판",
-    "normal_version": "버전",
-    "document": "문서",
-    "all": "모든",
-    "ban": "차단",
-    "release": "해제",
-    "save": "저장",
-    "other": "기타",
-    "tool": "도구",
-    "plus": "추가",
-    "open": "열기",
-    "search": "검색",
-    "user": "사용자",
-    "alarm": "알림",
-    "watchlist": "주시 문서",
-    "recent": "최근",
-    "recent_changes": "최근 변경",
-    "discussion": "토론",
-    "login": "로그인",
-    "logout": "로그아웃",
-    "register": "회원가입",
-    "able": "가능",
-    "second": "초",
-    "normal": "일반",
-    "subscriber": "가입자",
-    "admin": "관리자",
-    "owner": "소유자",
-    "admin_group": "관리 그룹",
-    "user_head_warring": "비 로그인의 경우에는 사용자 head가 로그인하거나 브라우저 닫으면 날아갑니다.",
-    "http_warring": "주의 : 만약 https 연결이 아닌 경우 데이터가 유출될 가능성이 있습니다. 이에 대해 책임지지 않습니다.",
-    "new": "새",
-    "need": "필요한",
-    "upload": "파일 올리기",
-    "record": "기록",
-    "name": "이름",
-    "license": "라이선스",
+    "revert" : "되돌리기",
+    "version" : "판",
+    "normal_version" : "버전",
+    "document" : "문서",
+    "all" : "모든",
+    "ban" : "차단",
+    "release" : "해제",
+    "save" : "저장",
+    "other" : "기타",
+    "tool" : "도구",
+    "plus" : "추가",
+    "open" : "열기",
+    "search" : "검색",
+    "user" : "사용자",
+    "alarm" : "알림",
+    "watchlist" : "주시 문서",
+    "recent" : "최근",
+    "recent_changes" : "최근 변경",
+    "discussion" : "토론",
+    "login" : "로그인",
+    "logout" : "로그아웃",
+    "register" : "회원가입",
+    "register_suggest" : "계정이 없으신가요? 회원가입",
+    "able" : "가능",
+    "second" : "초",
+    "normal" : "일반",
+    "subscriber" : "가입자",
+    "admin" : "관리자",
+    "owner" : "소유자",
+    "admin_group" : "관리 그룹",
+    "user_head_warring" : "비 로그인의 경우에는 사용자 head가 로그인하거나 브라우저 닫으면 날아갑니다.",
+    "http_warring" : "주의 : 만약 https 연결이 아닌 경우 데이터가 유출될 가능성이 있습니다. 이에 대해 책임지지 않습니다.",
+    "new" : "새",
+    "need" : "필요한",
+    "upload" : "파일 올리기",
+    "record" : "기록",
+    "name" : "이름",
+    "license" : "라이선스",
     "bottom" : "하단",
     "bottom" : "하단",
     "text" : "문구",
     "text" : "문구",
-    "interwiki": "인터위키",
-    "update": "업데이트",
-    "setting": "설정",
-    "create": "생성",
-    "editor": "수정자",
-    "hour": "시간",
-    "time": "시각",
-    "close": "닫기",
-    "stop": "정지",
-    "restart": "재시작",
-    "agreement": "합의",
+    "interwiki" : "인터위키",
+    "update" : "업데이트",
+    "oauth_settings" : "OAuth 설정",
+    "setting" : "설정",
+    "create" : "생성",
+    "editor" : "수정자",
+    "hour" : "시간",
+    "time" : "시각",
+    "close" : "닫기",
+    "stop" : "정지",
+    "restart" : "재시작",
+    "agreement" : "합의",
     "load" : "불러오기",
     "load" : "불러오기",
-    "backlink": "역링크",
-    "why": "사유",
-    "random": "무작위",
-    "authority": "권한",
-    "file": "파일",
-    "change": "변경",
-    "compare": "비교",
-    "count": "횟수",
-    "check": "검사",
+    "backlink" : "역링크",
+    "why" : "사유",
+    "random" : "무작위",
+    "authority" : "권한",
+    "file" : "파일",
+    "change" : "변경",
+    "compare" : "비교",
+    "count" : "횟수",
+    "check" : "검사",
     "view" : "보기",
     "view" : "보기",
-    "preview": "미리보기",
-    "next": "다음",
-    "previous": "이전",
-    "no_login_warring": "비 로그인 상태로 진행 시 ip가 기록될 수 있습니다.",
-    "state": "상태",
-    "limitless": "무기한",
-    "period": "기간",
-    "now": "현재",
-    "blocked": "차단자",
-    "band": "대역",
-    "notice": "공지",
-    "writer": "작성자",
-    "upper": "상위",
-    "under": "하위",
-    "pass": "통과",
-    "category": "분류",
+    "preview" : "미리보기",
+    "next" : "다음",
+    "previous" : "이전",
+    "no_login_warring" : "비 로그인 상태로 진행 시 ip가 기록될 수 있습니다.",
+    "state" : "상태",
+    "limitless" : "무기한",
+    "period" : "기간",
+    "now" : "현재",
+    "blocked" : "차단자",
+    "band" : "대역",
+    "notice" : "공지",
+    "writer" : "작성자",
+    "upper" : "상위",
+    "under" : "하위",
+    "pass" : "통과",
+    "category" : "분류",
     "send" : "전송",
     "send" : "전송",
     "reload" : "새로고침",
     "reload" : "새로고침",
     "password" : "암호",
     "password" : "암호",
     "confirm" : "확인",
     "confirm" : "확인",
-    "authority_error": "권한이  부족합니다.",
-    "no_login_error": "비 로그인 상태 입니다.",
-    "no_exist_user_error": "계정이 없습니다.",
-    "no_admin_block_error": "관리자는 차단, 검사 할 수 없습니다.",
+    "authority_error" : "권한이  부족합니다.",
+    "no_login_error" : "비 로그인 상태 입니다.",
+    "no_exist_user_error" : "계정이 없습니다.",
+    "no_admin_block_error" : "관리자는 차단, 검사 할 수 없습니다.",
     "skin_error" : "이 스킨은 스킨 설정을 지원하지 않습니다.",
     "skin_error" : "이 스킨은 스킨 설정을 지원하지 않습니다.",
-    "same_id_exist_error": "동일한 아이디의 사용자가 있습니다.",
-    "long_id_error": "아이디는 20글자보다 짧아야 합니다.",
-    "id_char_error": "아이디에는 한글과 알파벳과 공백만 허용 됩니다.",
-    "file_exist_error": "파일이 없습니다.",
-    "password_error": "비밀번호가 다릅니다.",
-    "recaptcha_error": "리캡차를 통과하세요.",
-    "file_extension_error": "jpg, gif, jpeg, png, webp만 가능 합니다.",
-    "edit_record_error": "편집 기록은 500자를 넘을 수 없습니다.",
-    "same_file_error": "동일한 이름의 파일이 있습니다.",
-    "file_capacity_error": "파일 최대 용량 (mb) :",
-    "decument_exist_error": "내용이 원래 문서와 동일 합니다.",
-    "password_diffrent_error": "재 확인 비밀번호와 입력 비밀번호가 다릅니다.",
-    "edit_filter_error": "편집 필터에 의해 검열 되었습니다.",
-    "file_name_error": "파일 이름은 알파벳, 한글, 띄어쓰기, 언더바,  빼기표만 허용 됩니다.",
-    "template": "틀",
-    "out": "외부",
-    "logo": "로고",
-    "frontpage": "대문",
-    "max_file_size": "최대 파일 크기",
-    "backup_interval": "백업 간격",
-    "default": "기본",
-    "port": "포트",
-    "secret_key": "비밀키",
-    "update_branch": "업데이트 브랜치",
-    "main": "메인",
+    "same_id_exist_error" : "동일한 아이디의 사용자가 있습니다.",
+    "long_id_error" : "아이디는 20글자보다 짧아야 합니다.",
+    "id_char_error" : "아이디에는 한글과 알파벳과 공백만 허용 됩니다.",
+    "file_exist_error" : "파일이 없습니다.",
+    "password_error" : "비밀번호가 다릅니다.",
+    "recaptcha_error" : "리캡차를 통과하세요.",
+    "file_extension_error" : "jpg, gif, jpeg, png, webp만 가능 합니다.",
+    "edit_record_error" : "편집 기록은 500자를 넘을 수 없습니다.",
+    "same_file_error" : "동일한 이름의 파일이 있습니다.",
+    "file_capacity_error" : "파일 최대 용량 (mb) :",
+    "decument_exist_error" : "내용이 원래 문서와 동일 합니다.",
+    "password_diffrent_error" : "재 확인 비밀번호와 입력 비밀번호가 다릅니다.",
+    "edit_filter_error" : "편집 필터에 의해 검열 되었습니다.",
+    "file_name_error" : "파일 이름은 알파벳, 한글, 띄어쓰기, 언더바,  빼기표만 허용 됩니다.",
+    "template" : "틀",
+    "out" : "외부",
+    "logo" : "로고",
+    "frontpage" : "대문",
+    "max_file_size" : "최대 파일 크기",
+    "backup_interval" : "백업 간격",
+    "default" : "기본",
+    "port" : "포트",
+    "secret_key" : "비밀키",
+    "update_branch" : "업데이트 브랜치",
+    "main" : "메인",
     "indexing" : "인덱싱",
     "indexing" : "인덱싱",
     "register_text" : "회원가입 문구",
     "register_text" : "회원가입 문구",
     "non_login_alert" : "비 로그인 경고문"
     "non_login_alert" : "비 로그인 경고문"