2du 4 лет назад
Родитель
Сommit
c395bb1076
7 измененных файлов с 79 добавлено и 68 удалено
  1. 1 1
      app.py
  2. 4 1
      route/main_error_404.py
  3. 9 9
      route/main_func_setting_main.py
  4. 6 2
      route/main_func_upload.py
  5. 52 54
      route/tool/func.py
  6. 6 0
      route/topic.py
  7. 1 1
      version.json

+ 1 - 1
app.py

@@ -169,7 +169,7 @@ if data_db_set['type'] == 'sqlite':
 
     curs.execute(db_change('select data from other where name = "back_up"'))
     back_time = curs.fetchall()
-    back_time = int(number_check(back_time[0][0])) if back_time else 0
+    back_time = int(number_check(back_time[0][0])) if back_time and back_time != '' else 0
     if back_time != 0:
         curs.execute(db_change('select data from other where name = "backup_where"'))
         back_up_where = curs.fetchall()

+ 4 - 1
route/main_error_404.py

@@ -4,4 +4,7 @@ def main_error_404(e = ''):
     if os.path.exists('404.html') and flask.request.path != '/':
         return open('404.html', encoding = 'utf8').read(), 404
     else:
-        return redirect('/w/' + wiki_set(2))
+        curs.execute(db_change('select data from other where name = "frontpage"'))
+        db_data = curs.fetchall()
+        db_data = db_data[0][0] if db_data and db_data[0][0] != '' else 'FrontPage'
+        return redirect('/w/' + db_data)

+ 9 - 9
route/main_func_setting_main.py

@@ -14,13 +14,13 @@ def main_func_setting_main(db_set):
             5 : ['skin', ''],
             7 : ['reg', ''],
             8 : ['ip_view', ''],
-            9 : ['back_up', '0'],
+            9 : ['back_up', ''],
             10 : ['port', '3000'],
             11 : ['key', load_random_key()],
             12 : ['update', 'stable'],
             15 : ['encode', 'sha3'],
             16 : ['host', '0.0.0.0'],
-            19 : ['slow_edit', '0'],
+            19 : ['slow_edit', ''],
             20 : ['requires_approval', ''],
             21 : ['backup_where', ''],
             22 : ['domain', flask.request.host],
@@ -187,15 +187,15 @@ def main_func_setting_main(db_set):
                         <span ''' + sqlite_only + '''>
                             <h3>4.1. ''' + load_lang('sqlite_only') + '''</h3>
                             <span>
-                                ''' + load_lang('backup_interval') + ' (' + load_lang('hour') + ') (' + load_lang('off') + ' : 0) ' + \
-                                '(' + load_lang('restart_required') + ''')</span>
+                                ''' + load_lang('backup_interval') + ''' (''' + load_lang('hour') + ''') (''' + load_lang('off') + ''' : ''' + load_lang('empty') + ''') ''' + \
+                                '''(''' + load_lang('restart_required') + ''')</span>
                             <hr class="main_hr">
                             <input name="back_up" value="''' + html.escape(d_list[9]) + '''">
                             <hr class="main_hr">
 
                             <span>
-                                ''' + load_lang('backup_where') + ' (' + load_lang('empty') + ' : ' + load_lang('default') + ') ' + \
-                                '(' + load_lang('restart_required') + ''') (''' + load_lang('example') + ''' : ./data/backup.db)
+                                ''' + load_lang('backup_where') + ''' (''' + load_lang('default') + ''' : ''' + load_lang('empty') + ''') ''' + \
+                                '''(''' + load_lang('restart_required') + ''') (''' + load_lang('example') + ''' : ./data/backup.db)
                             </span>
                             <hr class="main_hr">
                             <input name="backup_where" value="''' + html.escape(d_list[21]) + '''">
@@ -206,7 +206,7 @@ def main_func_setting_main(db_set):
                         <span><a href="/setting/acl">(''' + load_lang('main_acl_setting') + ''')</a></span>
                         <hr class="main_hr">
 
-                        <span>''' + load_lang('slow_edit') + ' (' + load_lang('second') + ') (' + load_lang('off') + ''' : 0)</span>
+                        <span>''' + load_lang('slow_edit') + ''' (''' + load_lang('second') + ''') (''' + load_lang('off') + ''' : ''' + load_lang('empty') + ''')</span>
                         <hr class="main_hr">
                         <input name="slow_edit" value="''' + html.escape(d_list[19]) + '''">
                         <hr class="main_hr">
@@ -214,12 +214,12 @@ def main_func_setting_main(db_set):
                         <input type="checkbox" name="edit_bottom_compulsion" ''' + check_box_div[7] + '''> ''' + load_lang('edit_bottom_compulsion') + ''' (''' + load_lang('beta') + ''')
                         <hr class="main_hr">
                         
-                        <span>''' + load_lang('title_max_length') + ''' (''' + load_lang('beta') + ''')</span>
+                        <span>''' + load_lang('title_max_length') + ''' (''' + load_lang('beta') + ''') (''' + load_lang('off') + ''' : ''' + load_lang('empty') + ''')</span>
                         <hr class="main_hr">
                         <input name="title_max_length" value="''' + html.escape(d_list[28]) + '''">
                         <hr class="main_hr">
                         
-                        <span>''' + load_lang('title_topic_max_length') + ''' (''' + load_lang('not_working') + ''')</span>
+                        <span>''' + load_lang('title_topic_max_length') + ''' (''' + load_lang('beta') + ''') (''' + load_lang('off') + ''' : ''' + load_lang('empty') + ''')</span>
                         <hr class="main_hr">
                         <input name="title_topic_max_length" value="''' + html.escape(d_list[29]) + '''">
                         <hr class="main_hr">

+ 6 - 2
route/main_func_upload.py

@@ -6,6 +6,10 @@ def main_func_upload():
 
         if acl_check(None, 'upload') == 1:
             return re_error('/ban')
+        
+        curs.execute(db_change('select data from other where name = "upload"'))
+        db_data = curs.fetchall()
+        file_max = int(number_check(db_data[0][0]) if db_data and db_data[0][0] != '' else '2'
 
         if flask.request.method == 'POST':
             if captcha_post(flask.request.form.get('g-recaptcha-response', flask.request.form.get('g-recaptcha', ''))) == 1:
@@ -19,7 +23,7 @@ def main_func_upload():
 
             file_len = len(file_data)
 
-            if (int(wiki_set(3)) * 1000 * 1000 * file_len) < flask.request.content_length:
+            if (file_max * 1000 * 1000 * file_len) < flask.request.content_length:
                 return re_error('/error/17')
 
             if file_len == 1:    
@@ -133,7 +137,7 @@ def main_func_upload():
                     <a href="/file_filter">(''' + load_lang('file_filter_list') + ''')</a> <a href="/extension_filter">(''' + load_lang('extension_filter_list') + ''')</a>
                     ''' + upload_help + '''
                     <hr class="main_hr">
-                    ''' + load_lang('max_file_size') + ''' : ''' + wiki_set(3) + '''MB
+                    ''' + load_lang('max_file_size') + ''' : ''' + file_max + '''MB
                     <hr class="main_hr">
                     <form method="post" enctype="multipart/form-data" accept-charset="utf8">
                         <input multiple="multiple" type="file" name="f_data[]">

+ 52 - 54
route/tool/func.py

@@ -1039,50 +1039,39 @@ def cut_100(data):
 def wiki_set(num = 1):
     curs = conn.cursor()
 
-    if num == 1:
-        skin_name = skin_check(1)
-        data_list = []
+    skin_name = skin_check(1)
+    data_list = []
 
-        curs.execute(db_change('select data from other where name = ?'), ['name'])
-        db_data = curs.fetchall()
-        data_list += [db_data[0][0]] if db_data and db_data[0][0] != '' else ['Wiki']
+    curs.execute(db_change('select data from other where name = ?'), ['name'])
+    db_data = curs.fetchall()
+    data_list += [db_data[0][0]] if db_data and db_data[0][0] != '' else ['Wiki']
 
-        curs.execute(db_change('select data from other where name = "license"'))
-        db_data = curs.fetchall()
-        data_list += [db_data[0][0]] if db_data and db_data[0][0] != '' else ['ARR']
+    curs.execute(db_change('select data from other where name = "license"'))
+    db_data = curs.fetchall()
+    data_list += [db_data[0][0]] if db_data and db_data[0][0] != '' else ['ARR']
 
-        data_list += ['', '']
+    data_list += ['', '']
 
-        curs.execute(db_change('select data from other where name = "logo" and coverage = ?'), [skin_name])
+    curs.execute(db_change('select data from other where name = "logo" and coverage = ?'), [skin_name])
+    db_data = curs.fetchall()
+    if db_data and db_data[0][0] != '':
+        data_list += [db_data[0][0]]
+    else:
+        curs.execute(db_change('select data from other where name = "logo" and coverage = ""'))
         db_data = curs.fetchall()
-        if db_data and db_data[0][0] != '':
-            data_list += [db_data[0][0]]
-        else:
-            curs.execute(db_change('select data from other where name = "logo" and coverage = ""'))
-            db_data = curs.fetchall()
-            data_list += [db_data[0][0]] if db_data and db_data[0][0] != '' else [data_list[0]]
+        data_list += [db_data[0][0]] if db_data and db_data[0][0] != '' else [data_list[0]]
 
-        head_data = ''
+    head_data = ''
 
-        curs.execute(db_change("select data from other where name = 'head' and coverage = ''"))
-        db_data = curs.fetchall()
-        head_data += db_data[0][0] if db_data and db_data[0][0] != '' else ''
+    curs.execute(db_change("select data from other where name = 'head' and coverage = ''"))
+    db_data = curs.fetchall()
+    head_data += db_data[0][0] if db_data and db_data[0][0] != '' else ''
 
-        curs.execute(db_change("select data from other where name = 'head' and coverage = ?"), [skin_name])
-        db_data = curs.fetchall()
-        head_data += db_data[0][0] if db_data and db_data[0][0] != '' else ''
-            
-        data_list += [head_data]
-    elif num == 2:
-        curs.execute(db_change('select data from other where name = "frontpage"'))
-        db_data = curs.fetchall()
-        data_list = db_data[0][0] if db_data and db_data[0][0] != '' else 'FrontPage'
-    elif num == 3:
-        curs.execute(db_change('select data from other where name = "upload"'))
-        db_data = curs.fetchall()
-        data_list = db_data[0][0] if db_data and db_data[0][0] != '' else '2'
-    else:
-        data_list = ''
+    curs.execute(db_change("select data from other where name = 'head' and coverage = ?"), [skin_name])
+    db_data = curs.fetchall()
+    head_data += db_data[0][0] if db_data and db_data[0][0] != '' else ''
+
+    data_list += [head_data]
 
     return data_list
 
@@ -1790,8 +1779,8 @@ def do_edit_slow_check():
 
     curs.execute(db_change("select data from other where name = 'slow_edit'"))
     slow_edit = curs.fetchall()
-    if slow_edit and slow_edit != '0' and admin_check(5) != 1:
-        slow_edit = slow_edit[0][0]
+    if slow_edit and slow_edit != '' and admin_check(5) != 1:
+        slow_edit = int(number_check(slow_edit[0][0]))
 
         curs.execute(db_change(
             "select date from history where ip = ? order by date desc limit 1"
@@ -1799,11 +1788,9 @@ def do_edit_slow_check():
         last_edit_data = curs.fetchall()
         if last_edit_data:
             last_edit_data = int(re.sub(' |:|-', '', last_edit_data[0][0]))
-            now_edit_data = int(
-                (datetime.datetime.now() - datetime.timedelta(
-                    seconds = int(slow_edit))
-                ).strftime("%Y%m%d%H%M%S")
-            )
+            now_edit_data = int((
+                datetime.datetime.now() - datetime.timedelta(seconds = slow_edit)
+            ).strftime("%Y%m%d%H%M%S"))
 
             if last_edit_data > now_edit_data:
                 return 1
@@ -1832,15 +1819,23 @@ def do_edit_filter(data):
 
     return 0
 
-def do_title_length_check(name):
+def do_title_length_check(name, check_type = 'document'):
     curs = conn.cursor()
     
-    curs.execute(db_change('select data from other where name = "title_max_length"'))
-    db_data = curs.fetchall()
-    if db_data and db_data[0][0] != '':
-        db_data = int(number_check(db_data[0][0]))
-        if len(name) > db_data:        
-            return 1
+    if check_type == 'topic':
+        curs.execute(db_change('select data from other where name = "title_topic_max_length"'))
+        db_data = curs.fetchall()
+        if db_data and db_data[0][0] != '':
+            db_data = int(number_check(db_data[0][0]))
+            if len(name) > db_data:        
+                return 1
+    else:
+        curs.execute(db_change('select data from other where name = "title_max_length"'))
+        db_data = curs.fetchall()
+        if db_data and db_data[0][0] != '':
+            db_data = int(number_check(db_data[0][0]))
+            if len(name) > db_data:        
+                return 1
     
     return 0
 
@@ -2079,7 +2074,7 @@ def re_error(data):
             end = '<ul class="inside_ul"><li>' + load_lang('authority_error') + '</li></ul>'
 
         return easy_minify(flask.render_template(skin_check(),
-            imp = [load_lang('error'), wiki_set(1), wiki_custom(), wiki_css([0, 0])],
+            imp = [load_lang('error'), wiki_set(), wiki_custom(), wiki_css([0, 0])],
             data = '<h2>' + load_lang('error') + '</h2>' + end,
             menu = 0
         )), 401
@@ -2118,7 +2113,10 @@ def re_error(data):
         elif num == 16:
             data = load_lang('same_file_error')
         elif num == 17:
-            data = load_lang('file_capacity_error') + wiki_set(3)
+            curs.execute(db_change('select data from other where name = "upload"'))
+            db_data = curs.fetchall()
+            file_max = int(number_check(db_data[0][0]) if db_data and db_data[0][0] != '' else '2'
+            data = load_lang('file_capacity_error') + file_max
         elif num == 18:
             data = load_lang('email_send_error')
         elif num == 19:
@@ -2185,7 +2183,7 @@ def re_error(data):
                 load_skin_set = '<script>main_css_skin_set();</script>'
         
             return easy_minify(flask.render_template(skin_check(),
-                imp = [title, wiki_set(1), wiki_custom(), wiki_css([0, 0])],
+                imp = [title, wiki_set(), wiki_custom(), wiki_css([0, 0])],
                 data = '' + \
                     '<div id="main_skin_set">' + \
                         '<h2>' + load_lang('error') + '</h2>' + \
@@ -2198,7 +2196,7 @@ def re_error(data):
             ))
         else:
             return easy_minify(flask.render_template(skin_check(),
-                imp = [load_lang('error'), wiki_set(1), wiki_custom(), wiki_css([0, 0])],
+                imp = [load_lang('error'), wiki_set(), wiki_custom(), wiki_css([0, 0])],
                 data = '' + \
                      '<h2>' + load_lang('error') + '</h2>' + \
                      '<ul class="inside_ul">' + \

+ 6 - 0
route/topic.py

@@ -9,6 +9,12 @@ def topic(topic_num = 0):
             name = flask.request.form.get('topic', 'Test')
             sub = flask.request.form.get('title', 'Test')
             
+            if do_title_length_check(name) == 1:
+                return re_error('/error/38')
+            
+            if do_title_length_check(sub, 'topic') == 1:
+                return re_error('/error/38')
+            
             if topic_num == '0':
                 curs.execute(db_change("select code from topic order by code + 0 desc limit 1"))
                 t_data = curs.fetchall()

+ 1 - 1
version.json

@@ -1,6 +1,6 @@
 {
     "beta" : {
-        "r_ver" : "v3.4.5 (stable1) (beta3) (dev14)",
+        "r_ver" : "v3.4.5 (stable2) (beta3) (dev15)",
         "c_ver" : "3500107",
         "s_ver" : "3500110"
     }