get('indexer/javaLuceneURL'); $this->xmlrpc = XmlRpcLucene::get($javaServerUrl); } public function processDocument() { $oStorage = KTStorageManagerUtil::getSingleton(); $path = $oStorage->temporaryFile($this->document); if(!file_exists($path)){ global $default; $default->log->debug('Document, id: '.$this->document->iId.', does not exist at given storage path: '.$path); return false; } // do pdf conversion $res = $this->convertFile($path); if($res === false){ global $default; $default->log->debug('Document, id: '.$this->document->iId.', could not be converted to pdf.'); return false; } return true; } /** * The supported mime types for the converter. * * @return array */ public function getSupportedMimeTypes() { $aAcceptedMimeTypes = array('doc', 'ods', 'odt', 'ott', 'txt', 'rtf', 'sxw', 'stw', // 'html', 'htm', 'xml' , 'pdb', 'psw', 'ods', 'ots', 'sxc', 'stc', 'dif', 'dbf', 'xls', 'xlt', 'slk', 'csv', 'pxl', 'odp', 'otp', 'sxi', 'sti', 'ppt', 'pot', 'sxd', 'odg', 'otg', 'std', 'asc'); return $aAcceptedMimeTypes; } function convertFile($filename) { global $default; // Get contents and send to converter $buffer = file_get_contents($filename); $buffer = $this->xmlrpc->convertDocument($buffer, 'pdf'); if($buffer === false){ $default->log->error('PDF Converter Plugin: Conversion to PDF Failed'); return false; } $dir = $default->pdfDirectory; // Ensure the PDF directory exists if(!file_exists($dir)){ mkdir($dir, '0755'); } $pdfFile = $dir .'/'. $this->document->iId.'.pdf'; // if a previous version of the pdf exists - delete it if(file_exists($pdfFile)){ @unlink($pdfFile); } file_put_contents($pdfFile, $buffer); unset($buffer); return $pdfFile; } } ?>