Jelajahi Sumber

Merge pull request #875 from LiteHell/patch_04

저작권 동의문구 체크박스 추가
잉여개발기 (SPDV) 6 tahun lalu
induk
melakukan
d59f134aad
6 mengubah file dengan 58 tambahan dan 24 penghapusan
  1. 3 1
      language/en-US.json
  2. 4 1
      language/ko-KR.json
  3. 12 1
      route/edit.py
  4. 12 1
      route/edit_req.py
  5. 25 20
      route/setting.py
  6. 2 0
      route/tool/func.py

+ 3 - 1
language/en-US.json

@@ -249,6 +249,7 @@
                 "register_text" : "Terms of sign-up",
                 "non_login_alert" : "Non-login alert",
                 "edit_bottom_text" : "Editing textarea bottom notice",
+                "copyright_checkbox_text" : "Copyright Agreenment text as checkbox",
                 "check_key_text" : "Check authentication key notice",
                 "email_title" : "Email subject",
                 "email_text" : "Email content",
@@ -370,5 +371,6 @@
             "too_many_dec_error" : "This feature is not supported because there are too many documents.",
             "application_not_found" : "Application not found",
             "invalid_password_error" : "The Password or ID is invalid.",
-            "watchlist_overflow_error": "You cannot add more than ten documents."
+            "watchlist_overflow_error": "You cannot add more than ten documents.",
+            "copyright_disagreed" : "You have to agree copyright noticement to contribute"
 }

+ 4 - 1
language/ko-KR.json

@@ -173,6 +173,7 @@
     "restart": "재시작",
     "oauth_setting": "OAuth 설정",
     "edit_bottom_text": "편집창 하단 문구",
+    "copyright_checkbox_text": "저작권 동의 문구(체크박스 형태)",
     "authority": "권한",
     "document": "문서",
     "decument_exist_error": "이동하려는 문서에 이미 문서가 존재합니다.",
@@ -346,5 +347,7 @@
     "accept_edit_request": "편집 요청 승인",
     "msg_whatchlist_lmt": "다음 개수만큼 추가할 수 있습니다",
     "watchlist_overflow_error": "추가 한도를 초과했으므로 더 이상 추가할 수 없습니다. 필요없는 항목을 삭재하십시오.",
-    "unset" : "미설정"
+    "unset" : "미설정",
+    "copyright_disagreed" : "저작권 동의문구에 체크하여야 합니다."
+
 }

+ 12 - 1
route/edit.py

@@ -29,6 +29,11 @@ def edit_2(conn, name):
         
         if edit_filter_do(content) == 1:
             return re_error('/error/21')
+            
+        curs.execute(db_change('select data from other where name = "copyright_checkbox_text"'))
+        copyright_checkbox_text_d = curs.fetchall()
+        if copyright_checkbox_text_d and copyright_checkbox_text_d[0][0] != '' and flask.request.form.get('copyright_agreement', '') != 'yes':
+            return re_error('/error/29')
 
         content = savemark(content)
         
@@ -133,6 +138,12 @@ def edit_2(conn, name):
             b_text = '<hr class=\"main_hr\">' + sql_d[0][0]
         else:
             b_text = ''
+        
+        cccb_text = ''
+        curs.execute(db_change('select data from other where name = "copyright_checkbox_text"'))
+        sql_d = curs.fetchall()
+        if sql_d and sql_d[0][0] != '':
+            cccb_text = '<hr class=\"wmain_hr\"><input type="checkbox" name="copyright_agreement" value="yes">' + sql_d[0][0] + '<hr class=\"main_hr\">'
 
         curs.execute(db_change('select data from other where name = "edit_help"'))
         sql_d = curs.fetchall()
@@ -152,7 +163,7 @@ def edit_2(conn, name):
                     <hr class=\"main_hr\">
                     <input placeholder="''' + load_lang('why') + '''" name="send" type="text">
                     <hr class=\"main_hr\">
-                    ''' + captcha_get() + ip_warring() + '''
+                    ''' + captcha_get() + ip_warring() + cccb_text + '''
                     <button id="save" type="submit" onclick="go_save_zone = 1;">''' + save_button + '''</button>
                     <button id="preview" type="button" onclick="load_preview(\'''' + url_pas(name) + '\')">' + load_lang('preview') + '''</button>
                 </form>

+ 12 - 1
route/edit_req.py

@@ -51,6 +51,11 @@ def edit_req_2(conn, name):
             if edit_filter_do(content) == 1:
                 return re_error('/error/21')
 
+        curs.execute(db_change('select data from other where name = "copyright_checkbox_text"'))
+        copyright_checkbox_text_d = curs.fetchall()
+        if copyright_checkbox_text_d and copyright_checkbox_text_d[0][0] != '' and flask.request.form.get('copyright_agreement', '') != 'yes':
+            return re_error('/error/29')
+
         content = savemark(content)
 
         if old:
@@ -135,6 +140,12 @@ def edit_req_2(conn, name):
             b_text = '<hr class=\"main_hr\">' + sql_d[0][0]
         else:
             b_text = ''
+            
+        cccb_text = ''
+        curs.execute(db_change('select data from other where name = "copyright_checkbox_text"'))
+        sql_d = curs.fetchall()
+        if sql_d and sql_d[0][0] != '':
+            cccb_text = '<hr class=\"wmain_hr\"><input type="checkbox" name="copyright_agreement" value="yes">' + sql_d[0][0] + '<hr class=\"main_hr\">'
 
         curs.execute(db_change('select data from other where name = "edit_help"'))
         sql_d = curs.fetchall()
@@ -154,7 +165,7 @@ def edit_req_2(conn, name):
                     <hr class=\"main_hr\">
                     <input ''' + disable + ''' placeholder="''' + load_lang('why') + '''" name="send" type="text">
                     <hr class=\"main_hr\">
-                    ''' + captcha_get() + ip_warring() + '''
+                    ''' + captcha_get() + ip_warring() + cccb_text + '''
                     <button id="save" type="submit" onclick="go_save_zone = 1;">''' + save_button + '''</button>
                     <button id="preview" type="button" onclick="load_preview(\'''' + url_pas(name) + '\')">' + load_lang('preview') + '''</button>
                 </form>

+ 25 - 20
route/setting.py

@@ -202,6 +202,7 @@ def setting_2(conn, num):
             'contract',
             'no_login_warring',
             'edit_bottom_text',
+            'copyright_checkbox_text',
             'check_key_text',
             'email_title',
             'email_text',
@@ -210,8 +211,8 @@ def setting_2(conn, num):
             'reset_user_text',
             'error_401',
             'error_404',
-            'edit_help',
-            'approval_question'
+            'approval_question',
+            'edit_help'
         ]
         if flask.request.method == 'POST':
             for i in i_list:
@@ -255,40 +256,40 @@ def setting_2(conn, num):
                         <span>''' + load_lang('edit_bottom_text') + ''' (HTML)</span>
                         <hr class=\"main_hr\">
                         <input name="''' + i_list[2] + '''" value="''' + html.escape(d_list[2]) + '''">
-                        <hr>
-                        <span>''' + load_lang('check_key_text') + ''' (HTML)</span>
+                        <hr class=\"main_hr\">
+                        <span>''' + load_lang('copyright_checkbox_text') + ''' (HTML)</span>
                         <hr class=\"main_hr\">
                         <input name="''' + i_list[3] + '''" value="''' + html.escape(d_list[3]) + '''">
-                        <hr>
-                        <span>''' + load_lang('email_title') + '''</span>
+                        <hr class=\"main_hr\">
+                        <span>''' + load_lang('check_key_text') + ''' (HTML)</span>
                         <hr class=\"main_hr\">
                         <input name="''' + i_list[4] + '''" value="''' + html.escape(d_list[4]) + '''">
-                        <hr>
-                        <span>''' + load_lang('email_text') + '''</span>
+                        <hr class=\"main_hr\">
+                        <span>''' + load_lang('email_title') + '''</span>
                         <hr class=\"main_hr\">
                         <input name="''' + i_list[5] + '''" value="''' + html.escape(d_list[5]) + '''">
-                        <hr>
-                        <span>''' + load_lang('email_insert_text') + '''</span>
+                        <hr class=\"main_hr\">
+                        <span>''' + load_lang('email_text') + '''</span>
                         <hr class=\"main_hr\">
                         <input name="''' + i_list[6] + '''" value="''' + html.escape(d_list[6]) + '''">
-                        <hr>
-                        <span>''' + load_lang('password_search_text') + '''</span>
+                        <hr class=\"main_hr\">
+                        <span>''' + load_lang('email_insert_text') + '''</span>
                         <hr class=\"main_hr\">
                         <input name="''' + i_list[7] + '''" value="''' + html.escape(d_list[7]) + '''">
-                        <hr>
-                        <span>''' + load_lang('reset_user_text') + '''</span>
+                        <hr class=\"main_hr\">
+                        <span>''' + load_lang('password_search_text') + '''</span>
                         <hr class=\"main_hr\">
                         <input name="''' + i_list[8] + '''" value="''' + html.escape(d_list[8]) + '''">
-                        <hr>
-                        <span>''' + load_lang('error_401') + '''</span>
+                        <hr class=\"main_hr\">
+                        <span>''' + load_lang('reset_user_text') + '''</span>
                         <hr class=\"main_hr\">
                         <input name="''' + i_list[9] + '''" value="''' + html.escape(d_list[9]) + '''">
-                        <hr>
-                        <span>''' + load_lang('error_404') + '''</span>
+                        <hr class=\"main_hr\">
+                        <span>''' + load_lang('error_401') + '''</span>
                         <hr class=\"main_hr\">
                         <input name="''' + i_list[10] + '''" value="''' + html.escape(d_list[10]) + '''">
-                        <hr>
-                        <span>''' + load_lang('edit_help') + '''</span>
+                        <hr class=\"main_hr\">
+                        <span>''' + load_lang('error_404') + '''</span>
                         <hr class=\"main_hr\">
                         <input name="''' + i_list[11] + '''" value="''' + html.escape(d_list[11]) + '''">
                         <hr>
@@ -296,6 +297,10 @@ def setting_2(conn, num):
                         <hr class=\"main_hr\">
                         <input name="''' + i_list[12] + '''" value="''' + html.escape(d_list[12]) + '''">
                         <hr class=\"main_hr\">
+                        <span>''' + load_lang('edit_help') + '''</span>
+                        <hr class=\"main_hr\">
+                        <input name="''' + i_list[12] + '''" value="''' + html.escape(d_list[12]) + '''">
+                        <hr class=\"main_hr\">
                         <button id="save" type="submit">''' + load_lang('save') + '''</button>
                         <hr>
                         <ul>

+ 2 - 0
route/tool/func.py

@@ -1171,6 +1171,8 @@ def re_error(data):
                 data = load_lang("invalid_password_error")
             elif num == 28:
                 data = load_lang('watchlist_overflow_error')
+            elif num == 29:
+                data = load_lang('copyright_disagreed')
             else:
                 data = '???'