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; } } ?>