true,
);
var $command = 'catdoc'; // could be any application.
var $commandconfig = 'indexer/catdoc'; // could be any application.
var $args = array("-w", "-d", "UTF-8");
var $use_pipes = true;
function extract_contents($sFilename, $sTempFilename) {
if (OS_WINDOWS) {
$this->command = 'c:\antiword\antiword.exe';
$this->commandconfig = 'indexer/antiword';
$this->args = array();
}
putenv('LANG=en_US.UTF-8');
$sCommand = KTUtil::findCommand($this->commandconfig, $this->command);
if (empty($sCommand)) {
return false;
}
if (OS_WINDOWS) {
$sDir = dirname(dirname($sCommand));
putenv('HOME=' . $sDir);
$sBatDir = KT_DIR.'\bin\exec_files.bat';
$cmdline = array($sCommand);
$cmdline = kt_array_merge($cmdline, $this->args);
$sCmd_1 = KTUtil::safeShellString($cmdline);
$sCmd_2 = escapeshellarg($sFilename);
$sCmd_3 = escapeshellarg($sTempFilename);
$sCmd_1 = str_replace( '/','\\',$sCmd_1);
$sCmd_2 = str_replace( '/','\\',$sCmd_2);
$sCmd_3 = str_replace( '/','\\',$sCmd_3);
$iRet = '';
$sBat = '"'.$sBatDir.'" '.$sCmd_1.' '.$sCmd_2.' '.$sCmd_3;
$sBat = str_replace( '/','\\',$sBat);
$WshShell = new COM("WScript.Shell");
$res = $WshShell->Run($sBat, 0, true);
$contents = file_get_contents($sTempFilename);
return $contents;
}
return parent::extract_contents($sFilename, $sTempFilename);
}
function findLocalCommand() {
if (OS_WINDOWS) {
$this->command = 'c:\antiword\antiword.exe';
$this->commandconfig = 'indexer/antiword';
$this->args = array();
}
$sCommand = KTUtil::findCommand($this->commandconfig, $this->command);
return $sCommand;
}
function getDiagnostic() {
$sCommand = $this->findLocalCommand();
// can't find the local command.
if (empty($sCommand)) {
return sprintf(_kt('Unable to find required command for indexing. Please ensure that %s is installed and in the %s Path. For more information on indexers and helper applications, please visit the %s site.'), $this->command, APP_NAME, $this->support_url, APP_NAME);
}
return null;
}
}
?>