v1.0.80: structNew вместо {...} в парсерах — баг Lucee с переиспользованием struct
This commit is contained in:
+40
-7
@@ -35,7 +35,12 @@
|
||||
<cfloop list="#pageText#" index="line" delimiters="#chr(10)#">
|
||||
<cfset line = trim(line)>
|
||||
<cfif len(line)>
|
||||
<cfset arrayAppend(out.elements, {type: "paragraph", style: "", text: line, page: pn})>
|
||||
<cfset var el = structNew()>
|
||||
<cfset el.type = "paragraph">
|
||||
<cfset el.style = "">
|
||||
<cfset el.text = line>
|
||||
<cfset el.page = pn>
|
||||
<cfset arrayAppend(out.elements, el)>
|
||||
</cfif>
|
||||
</cfloop>
|
||||
</cfif>
|
||||
@@ -71,7 +76,12 @@
|
||||
<cfif len(trim(text))>
|
||||
<cfset var style = "">
|
||||
<cftry><cfset style = para.getStyle()><cfcatch></cfcatch></cftry>
|
||||
<cfset arrayAppend(out.elements, {type: "paragraph", style: style, text: trim(text), page: 0})>
|
||||
<cfset var el = structNew()>
|
||||
<cfset el.type = "paragraph">
|
||||
<cfset el.style = style>
|
||||
<cfset el.text = trim(text)>
|
||||
<cfset el.page = 0>
|
||||
<cfset arrayAppend(out.elements, el)>
|
||||
</cfif>
|
||||
<cfelseif beClass CONTAINS "XWPFTable">
|
||||
<cfset var table = be>
|
||||
@@ -91,7 +101,11 @@
|
||||
</cfif>
|
||||
</cfloop>
|
||||
<cfif arrayLen(rows) GT 0>
|
||||
<cfset arrayAppend(out.elements, {type: "table", rows: rows, page: 0})>
|
||||
<cfset var el = structNew()>
|
||||
<cfset el.type = "table">
|
||||
<cfset el.rows = rows>
|
||||
<cfset el.page = 0>
|
||||
<cfset arrayAppend(out.elements, el)>
|
||||
</cfif>
|
||||
</cfif>
|
||||
</cfloop>
|
||||
@@ -165,7 +179,12 @@
|
||||
</cfloop>
|
||||
<cfset paraText = trim(paraText)>
|
||||
<cfif len(paraText)>
|
||||
<cfset arrayAppend(out.elements, {type: "paragraph", style: "", text: paraText, page: 0})>
|
||||
<cfset var el = structNew()>
|
||||
<cfset el.type = "paragraph">
|
||||
<cfset el.style = "">
|
||||
<cfset el.text = paraText>
|
||||
<cfset el.page = 0>
|
||||
<cfset arrayAppend(out.elements, el)>
|
||||
</cfif>
|
||||
<cfelseif localName EQ "tbl" OR right(localName, 4) EQ ":tbl">
|
||||
<cfset var rows = []>
|
||||
@@ -201,7 +220,11 @@
|
||||
</cfif>
|
||||
</cfloop>
|
||||
<cfif arrayLen(rows) GT 0>
|
||||
<cfset arrayAppend(out.elements, {type: "table", rows: rows, page: 0})>
|
||||
<cfset var el = structNew()>
|
||||
<cfset el.type = "table">
|
||||
<cfset el.rows = rows>
|
||||
<cfset el.page = 0>
|
||||
<cfset arrayAppend(out.elements, el)>
|
||||
</cfif>
|
||||
</cfif>
|
||||
</cfloop>
|
||||
@@ -231,7 +254,12 @@
|
||||
<cfloop from="0" to="#arrayLen(paragraphs) - 1#" index="pi">
|
||||
<cfset var text = trim(paragraphs[pi])>
|
||||
<cfif len(text)>
|
||||
<cfset arrayAppend(out.elements, {type: "paragraph", style: "", text: text, page: 0})>
|
||||
<cfset var el = structNew()>
|
||||
<cfset el.type = "paragraph">
|
||||
<cfset el.style = "">
|
||||
<cfset el.text = text>
|
||||
<cfset el.page = 0>
|
||||
<cfset arrayAppend(out.elements, el)>
|
||||
</cfif>
|
||||
</cfloop>
|
||||
<cfset doc.close()>
|
||||
@@ -255,7 +283,12 @@
|
||||
<cfloop array="#lines#" index="var line">
|
||||
<cfset line = trim(line)>
|
||||
<cfif len(line) GT 3 AND (reFind("[а-яА-ЯёЁ]", line) OR reFind("\d{2,}", line))>
|
||||
<cfset arrayAppend(out.elements, {type: "paragraph", style: "", text: line, page: 0})>
|
||||
<cfset var el = structNew()>
|
||||
<cfset el.type = "paragraph">
|
||||
<cfset el.style = "">
|
||||
<cfset el.text = line>
|
||||
<cfset el.page = 0>
|
||||
<cfset arrayAppend(out.elements, el)>
|
||||
</cfif>
|
||||
</cfloop>
|
||||
<cfcatch>
|
||||
|
||||
Reference in New Issue
Block a user