Commit 327b80ed1fafb4c7d68a4ef87f9044123db17806

Authored by kevin_fourie
1 parent 88d6505c

Merged in from DEV trunk...

KTS-1594
"Support for Office 2007 Documents"
Fixed.

Committed By: Conrad Vermeulen
Reviewed By: Megan Watson

KTS-2861
"KTUtil::arrayGet see "0" as an empty string"
Fixed. Using isset($aArray{0}) now. Evaluates to false if $aArray is not set or if it has zero length (ie. it's first character is not set).

Committed By: Kevin Fourie
Reviewed By: Conrad Vermeulen


git-svn-id: https://kt-dms.svn.sourceforge.net/svnroot/kt-dms/STABLE/trunk@8144 c91229c3-7414-0410-bfa2-8a42b809f60b
lib/util/ktutil.inc
@@ -229,7 +229,9 @@ class KTUtil { @@ -229,7 +229,9 @@ class KTUtil {
229 if (!is_array($aArray)) { 229 if (!is_array($aArray)) {
230 $aArray = (array) $aArray; 230 $aArray = (array) $aArray;
231 } 231 }
232 - if (empty($aArray)) { 232 +
  233 + // Evaluates to false if $aArray is not set or if it has zero length (ie. it's first character is not set).
  234 + if (!isset($aArray{0})) {
233 return $mDefault; 235 return $mDefault;
234 } 236 }
235 if (array_key_exists($sKey, $aArray)) { 237 if (array_key_exists($sKey, $aArray)) {
search2/indexing/extractorCore.inc.php
@@ -360,7 +360,9 @@ abstract class ExternalDocumentExtractor extends DocumentExtractor @@ -360,7 +360,9 @@ abstract class ExternalDocumentExtractor extends DocumentExtractor
360 $temp_dir = $config->get('urls/tmpDirectory'); 360 $temp_dir = $config->get('urls/tmpDirectory');
361 $res = 0; 361 $res = 0;
362 362
363 - $script_prefix = $temp_dir . '/' . time(); 363 + $docid = $this->document->getId();
  364 +
  365 + $script_prefix = $temp_dir . '/' . time() . '-' . $docid;
364 $script_out = $script_prefix . '.out'; 366 $script_out = $script_prefix . '.out';
365 367
366 // define the scripts that we want 368 // define the scripts that we want
@@ -380,7 +382,7 @@ abstract class ExternalDocumentExtractor extends DocumentExtractor @@ -380,7 +382,7 @@ abstract class ExternalDocumentExtractor extends DocumentExtractor
380 382
381 $script = "#!/bin/sh\n"; 383 $script = "#!/bin/sh\n";
382 $script .= "# This is an auto generated file. \n"; 384 $script .= "# This is an auto generated file. \n";
383 - $script .= $cmd . ' 2>>"' . $script_out . '" >>"' . $script_out . "\"\n"; 385 + $script .= $cmd . ' 2>>"' . $script_out . "\"\n";
384 $script .= "exit $?\n"; 386 $script .= "exit $?\n";
385 } 387 }
386 388
search2/indexing/extractors/OpenXmlTextExtractor.inc.php
@@ -144,16 +144,10 @@ class OpenXmlTextExtractor extends ExternalDocumentExtractor @@ -144,16 +144,10 @@ class OpenXmlTextExtractor extends ExternalDocumentExtractor
144 $config = KTConfig::getSingleton(); 144 $config = KTConfig::getSingleton();
145 $temp_dir = $config->get('urls/tmpDirectory'); 145 $temp_dir = $config->get('urls/tmpDirectory');
146 146
147 - $time = 'openxml_'. time(); 147 + $docid = $this->document->getId();
  148 + $time = 'openxml_'. time() . '-' . $docid;
148 $this->openxml_dir = $temp_dir . '/' . $time; 149 $this->openxml_dir = $temp_dir . '/' . $time;
149 150
150 - if (!mkdir($this->openxml_dir))  
151 - {  
152 - $this->output = _kt('Could not create folder: ') . $this->openxml_dir;  
153 - return false;  
154 - }  
155 -  
156 -  
157 $cmd = $this->unzip . ' ' . str_replace( 151 $cmd = $this->unzip . ' ' . str_replace(
158 array('{source}','{part}', '{target_dir}'), 152 array('{source}','{part}', '{target_dir}'),
159 array($this->sourcefile, '\[Content_Types\].xml',$this->openxml_dir), $this->unzip_params); 153 array($this->sourcefile, '\[Content_Types\].xml',$this->openxml_dir), $this->unzip_params);
@@ -282,13 +276,15 @@ class OpenXmlTextExtractor extends ExternalDocumentExtractor @@ -282,13 +276,15 @@ class OpenXmlTextExtractor extends ExternalDocumentExtractor
282 if ($result === false) 276 if ($result === false)
283 { 277 {
284 $this->output = _kt('Could not save content to file: ') . $this->targetfile; 278 $this->output = _kt('Could not save content to file: ') . $this->targetfile;
285 - @rmdir($this->openxml_dir); 279 + KTUtil::deleteDirectory($this->openxml_dir);
286 return false; 280 return false;
287 } 281 }
288 } 282 }
289 - @rmdir($this->openxml_dir); 283 + KTUtil::deleteDirectory($this->openxml_dir);
  284 +
290 return true; 285 return true;
291 } 286 }
  287 + KTUtil::deleteDirectory($this->openxml_dir);
292 288
293 return false; 289 return false;
294 290
search2/indexing/indexerCore.inc.php
@@ -795,6 +795,11 @@ abstract class Indexer @@ -795,6 +795,11 @@ abstract class Indexer
795 795
796 public function getExtractor($extractorClass) 796 public function getExtractor($extractorClass)
797 { 797 {
  798 + if (empty($extractorClass))
  799 + {
  800 + return null;
  801 + }
  802 +
798 $includeFile = SEARCH2_INDEXER_DIR . 'extractors/' . $extractorClass . '.inc.php'; 803 $includeFile = SEARCH2_INDEXER_DIR . 'extractors/' . $extractorClass . '.inc.php';
799 if (!file_exists($includeFile)) 804 if (!file_exists($includeFile))
800 { 805 {