Example #1
0
 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']);
 }
Example #2
0
 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;
 }