v1.0.14: fix var scope — только в функциях
This commit is contained in:
@@ -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
@@ -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>
|
||||||
|
|||||||
Reference in New Issue
Block a user