IssueFileManager::contentTypeToPath PHP Method

contentTypeToPath() public method

Return directory path based on issue content type (used for naming files).
public contentTypeToPath ( $contentType ) : string
$contentType int
return string
    function contentTypeToPath($contentType)
    {
        switch ($contentType) {
            case ISSUE_FILE_PUBLIC:
                return 'public';
        }
    }

Usage Example

Esempio n. 1
0
 /**
  * Handle a submission element
  * @param $node DOMElement
  * @return IssueGalley
  */
 function handleElement($node)
 {
     $deployment = $this->getDeployment();
     $context = $deployment->getContext();
     $issue = $deployment->getIssue();
     assert(is_a($issue, 'Issue'));
     // Create the data object
     $issueGalleyDao = DAORegistry::getDAO('IssueGalleyDAO');
     $issueGalley = $issueGalleyDao->newDataObject();
     $issueGalley->setIssueId($issue->getId());
     $locale = $node->getAttribute('locale');
     if (empty($locale)) {
         $locale = $context->getPrimaryLocale();
     }
     $issueGalley->setLocale($locale);
     $issueGalley->setSequence($issueGalleyDao->getNextGalleySequence($issue->getId()));
     // Handle metadata in subelements.
     for ($n = $node->firstChild; $n !== null; $n = $n->nextSibling) {
         if (is_a($n, 'DOMElement')) {
             switch ($n->tagName) {
                 case 'label':
                     $issueGalley->setLabel($n->textContent);
                     break;
                 case 'issue_file':
                     $issueFileDao = DAORegistry::getDAO('IssueFileDAO');
                     $issueFile = $issueFileDao->newDataObject();
                     $issueFile->setIssueId($issue->getId());
                     for ($o = $n->firstChild; $o !== null; $o = $o->nextSibling) {
                         if (is_a($o, 'DOMElement')) {
                             switch ($o->tagName) {
                                 case 'file_name':
                                     $issueFile->setServerFileName($o->textContent);
                                     break;
                                 case 'file_type':
                                     $issueFile->setFileType($o->textContent);
                                     break;
                                 case 'file_size':
                                     $issueFile->setFileSize($o->textContent);
                                     break;
                                 case 'content_type':
                                     $issueFile->setContentType((int) $o->textContent);
                                     break;
                                 case 'original_file_name':
                                     $issueFile->setOriginalFileName($o->textContent);
                                     break;
                                 case 'date_uploaded':
                                     $issueFile->setDateUploaded($o->textContent);
                                     break;
                                 case 'date_modified':
                                     $issueFile->setDateModified($o->textContent);
                                     break;
                                 case 'embed':
                                     import('classes.file.IssueFileManager');
                                     $issueFileManager = new IssueFileManager($issue->getId());
                                     $filePath = $issueFileManager->getFilesDir() . $issueFileManager->contentTypeToPath($issueFile->getContentType()) . '/' . $issueFile->getServerFileName();
                                     $issueFileManager->writeFile($filePath, base64_decode($o->textContent));
                                     break;
                             }
                         }
                     }
                     $issueFileId = $issueFileDao->insertObject($issueFile);
                     $issueGalley->setFileId($issueFileId);
                     break;
             }
         }
     }
     $issueGalleyDao->insertObject($issueGalley);
     return $issueGalley;
 }
All Usage Examples Of IssueFileManager::contentTypeToPath