v1.0.14: fix var scope — только в функциях

This commit is contained in:
2026-06-18 18:28:46 +04:00
parent 3cc519702f
commit 9201e36304
2 changed files with 19 additions and 19 deletions
+1 -1
View File
@@ -1 +1 @@
<cfsetting showdebugoutput=no enablecfoutputonly=yes><cfoutput>OK v1.0.13</cfoutput> <cfsetting showdebugoutput=no enablecfoutputonly=yes><cfoutput>OK v1.0.14</cfoutput>
+18 -18
View File
@@ -183,31 +183,31 @@
<!--- ZIP: поиск PDF/DOCX во всех подпапках ---> <!--- ZIP: поиск PDF/DOCX во всех подпапках --->
<cfif doc.mime_type EQ "application/zip"> <cfif doc.mime_type EQ "application/zip">
<cftry> <cftry>
<cfset var zipBytes = binaryDecode(doc.original_bytes, "base64")> <cfset zipBytes = binaryDecode(doc.original_bytes, "base64")>
<cfset var zbais = createObject("java", "java.io.ByteArrayInputStream").init(zipBytes)> <cfset zbais = createObject("java", "java.io.ByteArrayInputStream").init(zipBytes)>
<cfset var zzis = createObject("java", "java.util.zip.ZipInputStream").init(zbais)> <cfset zzis = createObject("java", "java.util.zip.ZipInputStream").init(zbais)>
<cfloop condition="true"> <cfloop condition="true">
<cfset var zentry = zzis.getNextEntry()> <cfset zentry = zzis.getNextEntry()>
<cfif isNull(zentry)><cfbreak></cfif> <cfif isNull(zentry)><cfbreak></cfif>
<cfset var zname = zentry.getName()> <cfset zname = zentry.getName()>
<cfif right(zname, 1) EQ "/"> <cfif right(zname, 1) EQ "/">
<cfset zzis.closeEntry()><cfcontinue> <cfset zzis.closeEntry()><cfcontinue>
</cfif> </cfif>
<cfset var entryBytes = ""> <cfset entryBytes = "">
<cftry> <cftry>
<cfset entryBytes = zzis.readAllBytes()> <cfset entryBytes = zzis.readAllBytes()>
<cfcatch> <cfcatch>
<cfset var zbaos = createObject("java", "java.io.ByteArrayOutputStream").init()> <cfset zbaos = createObject("java", "java.io.ByteArrayOutputStream").init()>
<cfloop condition="true"> <cfloop condition="true">
<cfset var zb = zzis.read()> <cfset zb = zzis.read()>
<cfif zb LT 0><cfbreak></cfif> <cfif zb LT 0><cfbreak></cfif>
<cfset zbaos.write(zb)> <cfset zbaos.write(zb)>
</cfloop> </cfloop>
<cfset entryBytes = zbaos.toByteArray()> <cfset entryBytes = zbaos.toByteArray()>
</cfcatch> </cfcatch>
</cftry> </cftry>
<cfset var zext = listLast(zname, ".")> <cfset zext = listLast(zname, ".")>
<cfset var parsed = {elements: [], errors: []}> <cfset parsed = {elements: [], errors: []}>
<cfif zext EQ "pdf"> <cfif zext EQ "pdf">
<cfset parsed = parsePDF(entryBytes)> <cfset parsed = parsePDF(entryBytes)>
<cfelseif zext EQ "docx"> <cfelseif zext EQ "docx">
@@ -215,7 +215,7 @@
<cfelse> <cfelse>
<cfset arrayAppend(parsed.errors, "unsupported: .#zext#")> <cfset arrayAppend(parsed.errors, "unsupported: .#zext#")>
</cfif> </cfif>
<cfset var prefix = doc.filename & "/"> <cfset prefix = doc.filename & "/">
<cfloop array="#parsed.elements#" index="var el"> <cfloop array="#parsed.elements#" index="var el">
<cfset el.archive_path = prefix & zname> <cfset el.archive_path = prefix & zname>
<cfset arrayAppend(elements, el)> <cfset arrayAppend(elements, el)>
@@ -237,21 +237,21 @@
</cftry> </cftry>
<cfelseif doc.mime_type EQ "application/pdf"> <cfelseif doc.mime_type EQ "application/pdf">
<cfset var fileBytes = binaryDecode(doc.original_bytes, "base64")> <cfset fileBytes = binaryDecode(doc.original_bytes, "base64")>
<cfset var parsed = parsePDF(fileBytes)> <cfset parsed = parsePDF(fileBytes)>
<cfset elements = parsed.elements> <cfset elements = parsed.elements>
<cfset errors = parsed.errors> <cfset errors = parsed.errors>
<cfelseif doc.mime_type EQ "application/vnd.openxmlformats-officedocument.wordprocessingml.document"> <cfelseif doc.mime_type EQ "application/vnd.openxmlformats-officedocument.wordprocessingml.document">
<cfset var fileBytes = binaryDecode(doc.original_bytes, "base64")> <cfset fileBytes = binaryDecode(doc.original_bytes, "base64")>
<cfset var parsed = parseDOCX(fileBytes)> <cfset parsed = parseDOCX(fileBytes)>
<cfset elements = parsed.elements> <cfset elements = parsed.elements>
<cfset errors = parsed.errors> <cfset errors = parsed.errors>
<cfelseif doc.mime_type EQ "text/plain" OR doc.mime_type EQ "application/octet-stream"> <cfelseif doc.mime_type EQ "text/plain" OR doc.mime_type EQ "application/octet-stream">
<cftry> <cftry>
<cfset var fileBytes = binaryDecode(doc.original_bytes, "base64")> <cfset fileBytes = binaryDecode(doc.original_bytes, "base64")>
<cfset var text = createObject("java", "java.lang.String").init(fileBytes, "UTF-8")> <cfset text = createObject("java", "java.lang.String").init(fileBytes, "UTF-8")>
<cfloop list="#text#" index="var line" delimiters="#chr(10)#"> <cfloop list="#text#" index="var line" delimiters="#chr(10)#">
<cfset line = trim(line)> <cfset line = trim(line)>
<cfif len(line)> <cfif len(line)>
@@ -269,7 +269,7 @@
<cfset arrayAppend(errors, "unsupported: " & doc.mime_type)> <cfset arrayAppend(errors, "unsupported: " & doc.mime_type)>
</cfif> </cfif>
<cfset var newStatus = arrayLen(elements) GT 0 ? "parsed" : "error"> <cfset newStatus = arrayLen(elements) GT 0 ? "parsed" : "error">
<cfif arrayLen(errors) GT 0 AND arrayLen(elements) EQ 0> <cfif arrayLen(errors) GT 0 AND arrayLen(elements) EQ 0>
<cfset newStatus = "error"> <cfset newStatus = "error">
</cfif> </cfif>