Exemple #1
0
 /**
  * Retrieve all article files for a type and assoc ID.
  * @param $assocId int
  * @param $type int
  * @return array ArticleFiles
  */
 function &getArticleFilesByAssocId($assocId, $type)
 {
     import('file.ArticleFileManager');
     $articleFiles = array();
     $result =& $this->retrieve('SELECT * FROM article_files WHERE assoc_id = ? AND type = ?', array($assocId, ArticleFileManager::typeToPath($type)));
     while (!$result->EOF) {
         $articleFiles[] =& $this->_returnArticleFileFromRow($result->GetRowAssoc(false));
         $result->moveNext();
     }
     $result->Close();
     unset($result);
     return $articleFiles;
 }
 /**
  * Inserts files into database, which have not been a temporary file before.
  *@param $nameOfFile string
  *@param $fileStage constant, ARTICLE_FILE_SUBMISSION or ARTICLE_FILE_SUPP
  *@param $fileType string, txt/plain or application/pdf
  *@param $article_id string
  *@param $pathToFile string, path were to find the file which is inserted here
  */
 function insertArticleFile($nameOfFile, $fileStage, $fileType, $article_id, $pathToFile, $origFileName = NULL)
 {
     import('classes.file.ArticleFileManager');
     $articleFileManager = new ArticleFileManager($article_id);
     $articleFileDao =& DAORegistry::getDAO('ArticleFileDAO');
     $fileTypePath = $articleFileManager->typeToPath($fileStage);
     $dir = $articleFileManager->filesDir . $fileTypePath . '/';
     $articleFile =& $articleFileManager->generateDummyFile($articleFileManager->article);
     $articleFile->setFileType($fileType);
     if ($origFileName == NULL) {
         $origFileName = $nameOfFile;
     }
     $articleFile->setOriginalFileName($origFileName);
     $articleFile->setType($fileTypePath);
     $articleFile->setRound($articleFileManager->article->getCurrentRound());
     $articleFile->setAssocId(null);
     $newFileName = $articleFileManager->generateFilename($articleFile, $fileStage, $articleFile->getOriginalFileName());
     if (!$articleFileManager->copyFile($pathToFile . $nameOfFile, $dir . $newFileName)) {
         // Delete the dummy file we inserted
         $articleFileDao->deleteArticleFileById($articleFile->getFileId());
         return false;
     }
     $articleFile->setFileSize(filesize($dir . $newFileName));
     $articleFileDao->updateArticleFile($articleFile);
     $articleFileManager->removePriorRevisions($articleFile->getFileId(), $articleFile->getRevision());
     return $articleFile->getFileId();
 }