예제 #1
0
 function getValue()
 {
     $upload_manager = new SJB_UploadPictureManager();
     $upload_manager->setFileGroup("pictures");
     $fileInfo = SJB_UploadFileManager::getUploadedFileInfo($this->property_info['value']);
     $thumbFileInfo = SJB_UploadFileManager::getUploadedFileInfo($this->property_info['value'] . "_thumb");
     return array('file_url' => $upload_manager->getUploadedFileLink($this->property_info['value'], $fileInfo), 'file_name' => empty($fileInfo['file_name']) ? null : $fileInfo['file_name'], 'thumb_file_url' => $upload_manager->getUploadedFileLink($this->property_info['value'] . "_thumb", $thumbFileInfo), 'thumb_file_name' => empty($thumbFileInfo['file_name']) ? null : $thumbFileInfo['file_name']);
 }
예제 #2
0
 private static function changeFileProperties(&$exportProperties, &$exportData, $fileType)
 {
     $filePropertiesInfo = SJB_UserProfileFieldManager::getFieldsInfoByType($fileType);
     foreach ($filePropertiesInfo as $propertyInfo) {
         if (isset($exportProperties[$propertyInfo['id']])) {
             foreach ($exportData as $userSid => $property) {
                 $fileId = $exportData[$userSid][$propertyInfo['id']];
                 $fileData =& $exportData[$userSid][$propertyInfo['id']];
                 $fileData = null;
                 $fileInfo = empty($fileId) ? null : ($fileInfo = SJB_UploadFileManager::getUploadedFileInfo($fileId));
                 if (!empty($fileInfo)) {
                     $fileSavedName = $fileInfo['saved_file_name'];
                     $fileGroup = $fileInfo['file_group'];
                     $uploadFilesDirectory = SJB_System::getSystemSettings("UPLOAD_FILES_DIRECTORY") . '/' . $fileGroup . '/';
                     $exportFilesDirectory = SJB_System::getSystemSettings("EXPORT_FILES_DIRECTORY") . '/' . $fileGroup . '/';
                     $fileNameParsed = explode('.', $fileSavedName);
                     $fileExtension = array_pop($fileNameParsed);
                     $fileName = implode('.', $fileNameParsed);
                     @copy($uploadFilesDirectory . $fileSavedName, $exportFilesDirectory . $fileSavedName);
                     if ($propertyInfo['id'] == 'Logo') {
                         @copy($uploadFilesDirectory . $fileName . '_thumb.' . $fileExtension, $exportFilesDirectory . $fileName . '_thumb.' . $fileExtension);
                     } else {
                         if ($propertyInfo['id'] == 'video') {
                             @copy($uploadFilesDirectory . $fileName . '.png', $exportFilesDirectory . $fileName . '.png');
                         }
                     }
                     $fileData = serialize(array('name' => $fileName, 'extension' => $fileExtension, 'mimeType' => $fileInfo['mime_type']));
                 }
             }
         }
     }
 }
예제 #3
0
 function getKeywordValue()
 {
     $keywords = '';
     if (!self::isEmpty() && SJB_Settings::getSettingByName('get_keyword_from_file')) {
         $fileId = $this->getComplexParent() . ":" . $this->property_info['id'] . ":" . $this->complexEnum . "_" . $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('/[\\n\\r]/', '', strip_tags($doc->parse()));
                         break;
                     case 'docx':
                         $keywords = SJB_HelperFunctions::docx2text($fileUrl);
                         $keywords = preg_replace('/[\\n\\r]/', '', 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('/[\\n\\r]/', '', strip_tags(html_entity_decode($keywords)));
                             unlink($outFilename);
                         }
                         break;
                     case 'txt':
                         $keywords = file_get_contents($fileUrl);
                         $keywords = preg_replace('/[\\n\\r]/', '', strip_tags(html_entity_decode($keywords)));
                         break;
                 }
             }
         }
     }
     return $keywords;
 }
예제 #4
0
 private static function changeFilesFieldValue($dstListingSid, $listingProperty, $value = null, $isComplex = false)
 {
     if (!$value) {
         $value = $listingProperty->getValue();
     }
     $uploadedFileId = SJB_Array::get($value, 'file_id');
     $uploadedFileInfo = SJB_UploadFileManager::getUploadedFileInfo($uploadedFileId);
     if ($uploadedFileInfo) {
         $uploadFileManager = new SJB_UploadFileManager();
         $fileGroup = $listingProperty->getType() == 'video' ? 'video' : 'files';
         if ($isComplex) {
             $newUploadedFileId = strstr($uploadedFileId, '_', true) . '_' . $dstListingSid;
         } else {
             $newUploadedFileId = $listingProperty->getID() . '_' . $dstListingSid;
         }
         $uploadFileManager->setFileGroup($fileGroup);
         $uploadFileManager->copyFile($uploadedFileInfo, $newUploadedFileId);
         $listingProperty->setValue($newUploadedFileId);
     }
 }
예제 #5
0
 public static function getUploadedFileLink($uploaded_file_id, $file_info = false, $noHost = false)
 {
     if ($file_info === false) {
         $file_info = SJB_UploadFileManager::getUploadedFileInfo($uploaded_file_id);
     }
     if (!empty($file_info)) {
         $upload_files_directory = SJB_System::getSystemSettings('UPLOAD_FILES_DIRECTORY');
         $file_group = $file_info['file_group'];
         $saved_file_name = $file_info['saved_file_name'];
         $file_name = $upload_files_directory . "/" . $file_group . "/" . $saved_file_name;
         $site_url = SJB_System::getSystemSettings("SITE_URL");
         $link = $site_url . "/" . $file_name;
         return $link;
     }
     return null;
 }
예제 #6
0
 public static function getUploadedFileGroup($uploaded_file_id)
 {
     $file_info = SJB_UploadFileManager::getUploadedFileInfo($uploaded_file_id);
     if (!empty($file_info)) {
         return $file_info['file_group'];
     }
     return null;
 }