function isEmpty() { if ($this->getComplexParent()) { return parent::isEmpty() && !SJB_UploadFileManager::isFileReadyForUpload($this->property_info['id'], $this->getComplexParent()); } return parent::isEmpty() && !SJB_UploadFileManager::isFileReadyForUpload($this->property_info['id']); }
function getKeywordValue() { $keywords = ''; if (!parent::isEmpty() && SJB_Settings::getSettingByName('get_keyword_from_file')) { $fileId = $this->property_info['id'] . "_" . $this->object_sid; $fileInfo = SJB_UploadFileManager::getUploadedFileInfo($fileId); if ($fileInfo) { $uploadManager = new SJB_UploadFileManager(); $uploadManager->setFileGroup("files"); $fileUrl = $uploadManager->getUploadedFileLink($fileId, $fileInfo, true); $fileExtension = substr(strrchr($fileInfo['saved_file_name'], "."), 1); if (file_exists($fileUrl)) { switch ($fileExtension) { case 'doc': $doc = new doc(); $doc->read($fileUrl); $keywords = preg_replace('/[^[:punct:]\\w]/', '', strip_tags($doc->parse())); break; case 'docx': $keywords = SJB_HelperFunctions::docx2text($fileUrl); $keywords = preg_replace('/[^[:punct:]\\w]/', '', strip_tags(html_entity_decode($keywords))); break; case 'xls': case 'xlsx': $fileInfo['tmp_name'] = $fileUrl; $fileObj = new SJB_ImportFileXLS($fileInfo); $fileObj->parse(); $data = $fileObj->getData(); $keywords = ''; foreach ($data as $val) { $val = array_unique($val); $val = array_diff($val, array('')); $keywords .= implode(' ', $val); } $keywords = preg_replace("/[[:punct:]^\\s]/ui", " ", $keywords); break; case 'pdf': $outFilename = str_replace("." . $fileExtension, '.txt', $fileUrl); exec("pdftotext {$fileUrl} {$outFilename}"); if (file_exists($outFilename)) { $keywords = file_get_contents($outFilename); $keywords = preg_replace('/[^[:punct:]\\w]/', '', strip_tags(html_entity_decode($keywords))); unlink($outFilename); } break; case 'txt': $keywords = file_get_contents($fileUrl); $keywords = preg_replace('/[^[:punct:]\\w]/', '', strip_tags(html_entity_decode($keywords))); break; } } } } return $keywords; }