Jelajahi Sumber

:art: Improve database text, email, url and phone field content escaping https://github.com/siyuan-note/siyuan/issues/11255

Daniel 1 tahun lalu
induk
melakukan
83209e6ab2
2 mengubah file dengan 26 tambahan dan 2 penghapusan
  1. 13 1
      kernel/model/attribute_view.go
  2. 13 1
      kernel/treenode/node.go

+ 13 - 1
kernel/model/attribute_view.go

@@ -1087,10 +1087,22 @@ func renderAttributeViewTable(attrView *av.AttributeView, view *av.View, query s
 				if nil != tableCell.Value && nil != tableCell.Value.Relation {
 					tableCell.Value.Relation.Contents = nil
 				}
-			case av.KeyTypeText: // 渲染文本列
+			case av.KeyTypeText:
 				if nil != tableCell.Value && nil != tableCell.Value.Text {
 					tableCell.Value.Text.Content = util.EscapeHTML(tableCell.Value.Text.Content)
 				}
+			case av.KeyTypeEmail:
+				if nil != tableCell.Value && nil != tableCell.Value.Email {
+					tableCell.Value.Email.Content = util.EscapeHTML(tableCell.Value.Email.Content)
+				}
+			case av.KeyTypeURL:
+				if nil != tableCell.Value && nil != tableCell.Value.URL {
+					tableCell.Value.URL.Content = util.EscapeHTML(tableCell.Value.URL.Content)
+				}
+			case av.KeyTypePhone:
+				if nil != tableCell.Value && nil != tableCell.Value.Phone {
+					tableCell.Value.Phone.Content = util.EscapeHTML(tableCell.Value.Phone.Content)
+				}
 			}
 
 			treenode.FillAttributeViewTableCellNilValue(tableCell, rowID, col.ID)

+ 13 - 1
kernel/treenode/node.go

@@ -722,10 +722,22 @@ func renderAttributeViewTable(attrView *av.AttributeView, view *av.View) (ret *a
 				if nil != tableCell.Value && nil != tableCell.Value.Relation {
 					tableCell.Value.Relation.Contents = nil
 				}
-			case av.KeyTypeText: // 渲染文本列
+			case av.KeyTypeText:
 				if nil != tableCell.Value && nil != tableCell.Value.Text {
 					tableCell.Value.Text.Content = util.EscapeHTML(tableCell.Value.Text.Content)
 				}
+			case av.KeyTypeEmail:
+				if nil != tableCell.Value && nil != tableCell.Value.Email {
+					tableCell.Value.Email.Content = util.EscapeHTML(tableCell.Value.Email.Content)
+				}
+			case av.KeyTypeURL:
+				if nil != tableCell.Value && nil != tableCell.Value.URL {
+					tableCell.Value.URL.Content = util.EscapeHTML(tableCell.Value.URL.Content)
+				}
+			case av.KeyTypePhone:
+				if nil != tableCell.Value && nil != tableCell.Value.Phone {
+					tableCell.Value.Phone.Content = util.EscapeHTML(tableCell.Value.Phone.Content)
+				}
 			}
 
 			FillAttributeViewTableCellNilValue(tableCell, rowID, col.ID)