Exemplo n.º 1
0
 /**
  * Internal function to return an MinutesFile object from a row.
  * @param $row array
  * @return MinutesFile
  */
 function &_returnMinutesFileFromRow(&$row)
 {
     $minutesFile = new MinutesFile();
     $minutesFile->setFileId($row['file_id']);
     $minutesFile->setMeetingId($row['meeting_id']);
     $minutesFile->setFileName($row['file_name']);
     $minutesFile->setOriginalFileName($row['original_file_name']);
     $minutesFile->setFileType($row['file_type']);
     $minutesFile->setFileSize($row['file_size']);
     $minutesFile->setType($row['type']);
     $minutesFile->setArticleId($row['article_id']);
     $minutesFile->setDateCreated($row['date_created']);
     HookRegistry::call('MinutesFileDAO::_returnMinutesFileFromRow', array(&$minutesFile, &$row));
     return $minutesFile;
 }
Exemplo n.º 2
0
 /**
  * PRIVATE routine to upload the file and add it to the database.
  * @param $fileName string index into the $_FILES array
  * @param $type string identifying type
  * @param $fileId int ID of an existing file to update
  * @return int the file ID (false if upload failed)
  */
 function handleUpload($fileName, $type, $fileId = null)
 {
     if (HookRegistry::call('MinutesFileManager::handleUpload', array(&$fileName, &$type, &$fileId, &$result))) {
         return $result;
     }
     $minutesFileDao =& DAORegistry::getDAO('MinutesFileDAO');
     $typePath = $this->typeToPath($type);
     $dir = $this->filesDir . $typePath . '/';
     if (!$fileId) {
         // Insert dummy file to generate file id FIXME?
         $dummyFile = true;
         $minutesFile =& $this->generateDummyFile($this->meeting);
     } else {
         $dummyFile = false;
         $minutesFile = new MinutesFile();
         $minutesFile->setMeetingId($this->meetingId);
         $minutesFile->setFileId($fileId);
         $minutesFile->setDateCreated(Core::getCurrentDate());
     }
     $minutesFile->setFileType($_FILES[$fileName]['type']);
     $minutesFile->setFileSize($_FILES[$fileName]['size']);
     $minutesFile->setOriginalFileName(MinutesFileManager::truncateFileName($_FILES[$fileName]['name'], 127));
     $minutesFile->setType($typePath);
     $newFileName = $this->generateFilename($minutesFile, $typePath, $this->getUploadedFileName($fileName));
     if (!$this->uploadFile($fileName, $dir . $newFileName)) {
         // Delete the dummy file we inserted
         $minutesFileDao->deleteMinutesFileById($minutesFile->getFileId());
         return false;
     }
     if ($dummyFile) {
         $minutesFileDao->updateMinutesFile($minutesFile);
     } else {
         $minutesFileDao->insertMinutesFile($minutesFile);
     }
     return $minutesFile->getFileId();
 }