Răsfoiți Sursa

일부 수정

잉여개발기 (SPDV) 2 ani în urmă
părinte
comite
997a93f12d
3 a modificat fișierele cu 38 adăugiri și 7 ștergeri
  1. 12 7
      route/edit_upload.py
  2. 1 0
      route_go/route/tool/dokumark.go
  3. 25 0
      route_go/route/tool/monimark.go

+ 12 - 7
route/edit_upload.py

@@ -4,7 +4,7 @@ def edit_upload():
     with get_db_connect() as conn:
     with get_db_connect() as conn:
         curs = conn.cursor()
         curs = conn.cursor()
 
 
-        if acl_check(conn, None, 'upload') == 1:
+        if acl_check(conn, '', 'upload') == 1:
             return re_error(conn, '/ban')
             return re_error(conn, '/ban')
         
         
         curs.execute(db_change('select data from other where name = "upload"'))
         curs.execute(db_change('select data from other where name = "upload"'))
@@ -18,25 +18,30 @@ def edit_upload():
             else:
             else:
                 captcha_post(conn, '', 0)
                 captcha_post(conn, '', 0)
 
 
-            file_data = flask.request.files.getlist("f_data[]", None)
+            file_data = flask.request.files.getlist("f_data[]")
             file_len = len(file_data)
             file_len = len(file_data)
 
 
-            if (file_max * 1000 * 1000 * file_len) < flask.request.content_length:
+            file_size_all = flask.request.content_length
+            if file_size_all == None:
+                file_size_all = 0
+
+            if (file_max * 1000 * 1000 * file_len) < file_size_all or file_size_all == 0:
                 return re_error(conn, '/error/17')
                 return re_error(conn, '/error/17')
 
 
             if file_len == 1:
             if file_len == 1:
                 file_num = None
                 file_num = None
             else:
             else:
-                if acl_check(conn, None, 'many_upload') == 1:
+                if acl_check(conn, '', 'many_upload') == 1:
                     return re_error(conn, '/ban')
                     return re_error(conn, '/ban')
 
 
                 file_num = 1
                 file_num = 1
 
 
             for data in file_data:
             for data in file_data:
+                file_name = data.filename if data.filename else ''
                 if data.filename == '':
                 if data.filename == '':
                     return re_error(conn, '/error/9')
                     return re_error(conn, '/error/9')
                 
                 
-                value = os.path.splitext(data.filename)[1]
+                value = os.path.splitext(file_name)[1]
 
 
                 curs.execute(db_change("select html from html_filter where kind = 'extension'"))
                 curs.execute(db_change("select html from html_filter where kind = 'extension'"))
                 extension = [i[0].lower() for i in curs.fetchall()]
                 extension = [i[0].lower() for i in curs.fetchall()]
@@ -44,9 +49,9 @@ def edit_upload():
                     return re_error(conn, '/error/14')
                     return re_error(conn, '/error/14')
 
 
                 if flask.request.form.get('f_name', None):
                 if flask.request.form.get('f_name', None):
-                    name = flask.request.form.get('f_name', None) + (' ' + str(file_num) if file_num else '') + value
+                    name = flask.request.form.get('f_name', '') + (' ' + str(file_num) if file_num else '') + value
                 else:
                 else:
-                    name = data.filename
+                    name = file_name
 
 
                 piece = os.path.splitext(name)
                 piece = os.path.splitext(name)
                 if re.search(r'\.', piece[0]):
                 if re.search(r'\.', piece[0]):

+ 1 - 0
route_go/route/tool/dokumark.go

@@ -0,0 +1 @@
+package tool

+ 25 - 0
route_go/route/tool/monimark.go

@@ -0,0 +1,25 @@
+package tool
+
+import (
+	"strings"
+
+	"github.com/dlclark/regexp2"
+)
+
+// 모니마크 렌더러는 전체가 아니라 나무마크로 변환
+func Monimark(data string) string {
+	//
+	r := regexp2.MustCompile(`<<((?:(?!<<|>>)))>>`, 0)
+	for {
+		if m, _ := r.FindStringMatch(data); m != nil {
+			gps := m.Groups()
+			m_string := m.String()
+
+			data = strings.Replace(data, m_string, "[include("+gps[1].Captures[0].String()+")]", 1)
+		} else {
+			break
+		}
+	}
+
+	return data
+}