Ver código fonte

https://github.com/openNAMU/openNAMU/issues/1985

잉여개발기 (SPDV) 2 anos atrás
pai
commit
35f5b63189
7 arquivos alterados com 42 adições e 30 exclusões
  1. 2 2
      lang/en-US.json
  2. 2 2
      lang/ko-KR.json
  3. 1 1
      route/api_w.py
  4. 13 10
      route/main_setting_phrase.py
  5. 2 12
      route/tool/func.py
  6. 21 2
      route/view_read.py
  7. 1 1
      version.json

+ 2 - 2
lang/en-US.json

@@ -416,7 +416,7 @@
                 "topic_text" : "Discussion textarea phrase",
                 "phrase_user_page_admin" : "Administrator user page phrase",
                 "phrase_user_page_owner" : "Onwer user page phrase",
-                "phrase_old_page_warring" : "Warning on previous revision document visit",
+                "phrase_old_page_warning" : "Warning on previous revision document visit",
             "_comment_" : "Ext_API",
                 "recaptcha" : "reCAPTCHA",
                 "hcaptcha" : "hCAPTCHA",
@@ -613,7 +613,7 @@
             "user_css_warning" : "If you have a problem using this, connect here.",
             "main_css_warning" : "If you have a problem using this, use the emergency tool.",
             "not_support_skin_warning" : "It does not work on skins that do not support this feature.",
-            "old_page_warring" : "This page is out of date.",
+            "old_page_warning" : "This page is out of date.",
         "_comment_" : "Challenge",
             "challenge_title_register" : "Hello, World!",
             "challenge_info_register" : "Sign up",

+ 2 - 2
lang/ko-KR.json

@@ -411,7 +411,7 @@
     "hcaptcha": "hCAPTCHA",
     "captcha": "CAPTCHA",
     "make_new_topic": "새 토론 생성",
-    "old_page_warring": "이 문서는 오래되었습니다.",
+    "old_page_warning": "이 문서는 오래되었습니다.",
     "challenge_title_register": "Hello, World!",
     "challenge_info_register": "가입을 하세요.",
     "challenge_title_first_contribute": "시작이 반이다.",
@@ -467,7 +467,7 @@
     "document_move_acl": "문서 이동 ACL",
     "document_delete_acl": "문서 삭제 ACL",
     "document_edit_acl": "문서 편집 ACL",
-    "phrase_old_page_warring": "이전 리비전 문서 방문시 경고문",
+    "phrase_old_page_warning": "이전 리비전 문서 방문시 경고문",
     "toc": "목차",
     "topic_view_acl": "토론 보기 ACL",
     "file_delete": "파일 삭제",

+ 1 - 1
route/api_w.py

@@ -80,7 +80,7 @@ def api_w(name = 'Test', tool = '', rev = ''):
         else:
             if tool == '' or tool == 'view':
                 if acl_check(name, 'render') != 1:
-                    if check_int(rev) == '':
+                    if number_check(rev) == '':
                         curs.execute(db_change("select data from data where title = ?"), [name])
                     else:
                         curs.execute(db_change("select data from history where title = ? and id = ?"), [name, rev])

+ 13 - 10
route/main_setting_phrase.py

@@ -28,17 +28,14 @@ def main_setting_phrase():
             'topic_text',
             'phrase_user_page_admin',
             'phrase_user_page_owner',
-            'phrase_old_page_warring',
+            'phrase_old_page_warning',
             'bbs_help',
-            'bbs_comment_help'
+            'bbs_comment_help',
+            'outdated_doc_warning',
+            'outdated_doc_warning_date'
         ]
         if flask.request.method == 'POST':
-            for i in i_list:
-                curs.execute(db_change("update other set data = ? where name = ?"), [
-                    flask.request.form.get(i, ''),
-                    i
-                ])
-
+            curs.executemany(db_change("update other set data = ? where name = ?"), [[flask.request.form.get(for_a, ''), for_a] for for_a in i_list])
             conn.commit()
 
             admin_check(None, 'edit_set (phrase)')
@@ -46,7 +43,6 @@ def main_setting_phrase():
             return redirect('/setting/phrase')
         else:
             d_list = []
-
             for i in i_list:
                 curs.execute(db_change('select data from other where name = ?'), [i])
                 sql_d = curs.fetchall()
@@ -124,7 +120,7 @@ def main_setting_phrase():
                         <h2>''' + load_lang('phrase_user_page_owner') + ''' (HTML)</h2>
                         <textarea class="opennamu_textarea_100" name="''' + i_list[19] + '''">''' + html.escape(d_list[19]) + '''</textarea>
 
-                        <h2>''' + load_lang('phrase_old_page_warring') + ''' (''' + load_lang('beta') + ''') (HTML)</h2>
+                        <h2>''' + load_lang('phrase_old_page_warning') + ''' (''' + load_lang('beta') + ''') (HTML)</h2>
                         <textarea class="opennamu_textarea_100" name="''' + i_list[20] + '''">''' + html.escape(d_list[20]) + '''</textarea>
                         
                         <h2>''' + load_lang('bbs_help') + '''</h2>
@@ -133,6 +129,13 @@ def main_setting_phrase():
                         <h2>''' + load_lang('bbs_comment_help') + '''</h2>
                         <textarea class="opennamu_textarea_100" name="''' + i_list[22] + '''">''' + html.escape(d_list[22]) + '''</textarea>
 
+                        <h2>''' + load_lang('outdated_doc_warning') + '''  (HTML)</h2>
+                        <span>''' + load_lang('period') + '''</span> (''' + load_lang('off') + ''' : ''' + load_lang('empty') + ''')
+                        <hr class="main_hr">
+                        <input name="''' + i_list[24] + '''" value="''' + html.escape(d_list[24]) + '''">
+                        <hr class="main_hr">
+                        <textarea class="opennamu_textarea_100" name="''' + i_list[23] + '''" placeholder="''' + load_lang('old_page_warning') + '''">''' + html.escape(d_list[23]) + '''</textarea>
+
                         <hr class="main_hr">
                         <button id="opennamu_save_button" type="submit">''' + load_lang('save') + '''</button>
                     </form>

+ 2 - 12
route/tool/func.py

@@ -749,23 +749,13 @@ def leng_check(A, B):
     # A -> old
     return '0' if A == B else (('-' + str(A - B)) if A > B else ('+' + str(B - A)))
 
-def number_check(data, f=False):
+def number_check(data, f = 0):
     try:
-        if f:
-            float(data)
-        else:
-            int(data)
+        float(data) if f == 1 else int(data)
         return data
     except:
         return '1'
     
-def check_int(data):
-    try:
-        int(data)
-        return data
-    except:
-        return ''
-    
 def redirect(data = '/'):
     return flask.redirect(load_domain('full') + data)
     

+ 21 - 2
route/view_read.py

@@ -11,6 +11,9 @@ def view_read(name = 'Test', doc_rev = '', doc_from = '', do_type = ''):
         category_total = ''
         file_data = ''
 
+        doc_type = ''
+        now_time = get_time()
+
         ip = ip_check()
             
         uppage = re.sub(r"/([^/]+)$", '', name)
@@ -25,6 +28,7 @@ def view_read(name = 'Test', doc_rev = '', doc_from = '', do_type = ''):
 
         if re.search(r'^category:', name):
             name_view = name
+            doc_type = 'category'
 
             category_doc = ''
             category_sub = ''
@@ -79,6 +83,7 @@ def view_read(name = 'Test', doc_rev = '', doc_from = '', do_type = ''):
                 ''
         elif re.search(r"^user:([^/]*)", name):
             name_view = name
+            doc_type = 'user'
 
             match = re.search(r"^user:([^/]*)", name)
             
@@ -109,9 +114,10 @@ def view_read(name = 'Test', doc_rev = '', doc_from = '', do_type = ''):
                 <hr class="main_hr">
             '''
             if name == 'user:' + user_name:
-                menu += [['w/' + url_pas(name) + '/' + url_pas(get_time().split()[0]), load_lang('today_doc')]]
+                menu += [['w/' + url_pas(name) + '/' + url_pas(now_time.split()[0]), load_lang('today_doc')]]
         elif re.search(r"^file:", name):
             name_view = name
+            doc_type = 'file'
 
             mime_type = re.search(r'([^.]+)$', name)
             if mime_type:
@@ -278,11 +284,24 @@ def view_read(name = 'Test', doc_rev = '', doc_from = '', do_type = ''):
         div = file_data + user_doc + end_data + category_total
 
         if num != '':
-            curs.execute(db_change('select data from other where name = "phrase_old_page_warring"'))
+            curs.execute(db_change('select data from other where name = "phrase_old_page_warning"'))
             db_data = curs.fetchall()
             if db_data and db_data[0][0] != '':
                 div = db_data[0][0] + '<hr class="main_hr">' + div
 
+            doc_type = 'rev'
+        
+        if doc_type == '':
+            curs.execute(db_change('select data from other where name = "outdated_doc_warning_date"'))
+            db_data = curs.fetchall()
+            if db_data and db_data[0][0] != '' and r_date != 0:
+                time_1 = datetime.datetime.strptime(r_date, '%Y-%m-%d %H:%M:%S') + datetime.timedelta(days = int(number_check(db_data[0][0])))
+                time_2 = datetime.datetime.strptime(now_time, '%Y-%m-%d %H:%M:%S')
+                if time_2 > time_1:
+                    curs.execute(db_change('select data from other where name = "outdated_doc_warning"'))
+                    db_data = curs.fetchall()
+                    div = (db_data[0][0] if db_data and db_data[0][0] != '' else load_lang('old_page_warning')) + '<hr class="main_hr">' + div
+
         curs.execute(db_change("select data from other where name = 'body'"))
         body = curs.fetchall()
         div = (body[0][0] + div) if body else div

+ 1 - 1
version.json

@@ -1,6 +1,6 @@
 {
     "beta" : {
-        "r_ver" : "v3.4.6-RC5-dev32",
+        "r_ver" : "v3.4.6-RC5-dev33",
         "c_ver" : "3500373",
         "s_ver" : "3500112"
     }