From b13fc7c7088929b793ff2ab747b6edc32761df98 Mon Sep 17 00:00:00 2001 From: conradverm Date: Mon, 25 Feb 2008 13:47:43 +0000 Subject: [PATCH] KTS-1594 "Support for Office 2007 Documents" Fixed. --- search2/indexing/extractorCore.inc.php | 6 ++++-- search2/indexing/extractors/OpenXmlTextExtractor.inc.php | 16 ++++++---------- search2/indexing/indexerCore.inc.php | 5 +++++ 3 files changed, 15 insertions(+), 12 deletions(-) diff --git a/search2/indexing/extractorCore.inc.php b/search2/indexing/extractorCore.inc.php index 36ec73c..b205fba 100755 --- a/search2/indexing/extractorCore.inc.php +++ b/search2/indexing/extractorCore.inc.php @@ -360,7 +360,9 @@ abstract class ExternalDocumentExtractor extends DocumentExtractor $temp_dir = $config->get('urls/tmpDirectory'); $res = 0; - $script_prefix = $temp_dir . '/' . time(); + $docid = $this->document->getId(); + + $script_prefix = $temp_dir . '/' . time() . '-' . $docid; $script_out = $script_prefix . '.out'; // define the scripts that we want @@ -380,7 +382,7 @@ abstract class ExternalDocumentExtractor extends DocumentExtractor $script = "#!/bin/sh\n"; $script .= "# This is an auto generated file. \n"; - $script .= $cmd . ' 2>>"' . $script_out . '" >>"' . $script_out . "\"\n"; + $script .= $cmd . ' 2>>"' . $script_out . "\"\n"; $script .= "exit $?\n"; } diff --git a/search2/indexing/extractors/OpenXmlTextExtractor.inc.php b/search2/indexing/extractors/OpenXmlTextExtractor.inc.php index cb01a12..b1baf72 100644 --- a/search2/indexing/extractors/OpenXmlTextExtractor.inc.php +++ b/search2/indexing/extractors/OpenXmlTextExtractor.inc.php @@ -144,16 +144,10 @@ class OpenXmlTextExtractor extends ExternalDocumentExtractor $config = KTConfig::getSingleton(); $temp_dir = $config->get('urls/tmpDirectory'); - $time = 'openxml_'. time(); + $docid = $this->document->getId(); + $time = 'openxml_'. time() . '-' . $docid; $this->openxml_dir = $temp_dir . '/' . $time; - if (!mkdir($this->openxml_dir)) - { - $this->output = _kt('Could not create folder: ') . $this->openxml_dir; - return false; - } - - $cmd = $this->unzip . ' ' . str_replace( array('{source}','{part}', '{target_dir}'), array($this->sourcefile, '\[Content_Types\].xml',$this->openxml_dir), $this->unzip_params); @@ -282,13 +276,15 @@ class OpenXmlTextExtractor extends ExternalDocumentExtractor if ($result === false) { $this->output = _kt('Could not save content to file: ') . $this->targetfile; - @rmdir($this->openxml_dir); + KTUtil::deleteDirectory($this->openxml_dir); return false; } } - @rmdir($this->openxml_dir); + KTUtil::deleteDirectory($this->openxml_dir); + return true; } + KTUtil::deleteDirectory($this->openxml_dir); return false; diff --git a/search2/indexing/indexerCore.inc.php b/search2/indexing/indexerCore.inc.php index a6435c7..a40b47f 100755 --- a/search2/indexing/indexerCore.inc.php +++ b/search2/indexing/indexerCore.inc.php @@ -795,6 +795,11 @@ abstract class Indexer public function getExtractor($extractorClass) { + if (empty($extractorClass)) + { + return null; + } + $includeFile = SEARCH2_INDEXER_DIR . 'extractors/' . $extractorClass . '.inc.php'; if (!file_exists($includeFile)) { -- libgit2 0.21.4