Example #1
0
 /**
  * addVersion
  * @author Thomas Schedler <*****@*****.**>
  */
 public function addVersion($_FILE_NAME)
 {
     $this->core->logger->debug('massiveart.files.File->addVersion()');
     try {
         $this->_FILE_NAME = $_FILE_NAME;
         $this->intUserId = Zend_Auth::getInstance()->getIdentity()->id;
         $objFileData = $this->getModelFile()->getFileTable()->find($this->intId);
         if (count($objFileData) == 1) {
             $this->objFileData = $objFileData->current();
             $this->strSegmentPath = $this->objFileData->path;
             /**
              * archive file now
              */
             $this->archive();
             /**
              * update file version data
              */
             $arrUpdateData = array('archiver' => $this->intUserId, 'archived' => date('Y-m-d H:i:s'), 'downloadCounter' => $this->objFileData->downloadCounter);
             $strWhere = $this->objModelFile->getFileVersionTable()->getAdapter()->quoteInto('idFiles = ?', $this->objFileData->id);
             $strWhere .= $this->objModelFile->getFileVersionTable()->getAdapter()->quoteInto(' AND version = ?', $this->objFileData->version);
             $this->objModelFile->getFileVersionTable()->update($arrUpdateData, $strWhere);
             /**
              * upload new version
              */
             $this->upload(true);
             $this->objFileData->isImage = $this->getIsImage();
             $this->objFileData->filename = $this->objFileData->fileId . '.' . $this->strExtension;
             $this->objFileData->size = $this->dblSize;
             $this->objFileData->extension = $this->strExtension;
             $this->objFileData->mimeType = $this->strMimeType;
             $this->objFileData->version++;
             /**
              * update file data
              */
             $this->objFileData->save();
             /**
              * insert new version data
              */
             $arrInsertData = array('idFiles' => $this->objFileData->id, 'fileId' => $this->objFileData->fileId, 'idUsers' => $this->intUserId, 'path' => $this->objFileData->path, 'idParent' => $this->objFileData->idParent, 'idParentTypes' => $this->objFileData->idParentTypes, 'isS3Stored' => 0, 'isImage' => $this->objFileData->isImage, 'filename' => $this->objFileData->filename, 'creator' => $this->intUserId, 'created' => date('Y-m-d H:i:s'), 'size' => $this->objFileData->size, 'extension' => $this->objFileData->extension, 'mimeType' => $this->objFileData->mimeType, 'version' => $this->objFileData->version);
             $this->objModelFile->getFileVersionTable()->insert($arrInsertData);
             /**
              * upate image file attributes
              */
             if ($this->getIsImage()) {
                 $arrUpdateAttributeData = array('xDim' => $this->intXDim, 'yDim' => $this->intYDim);
                 $strWhere = $this->objModelFile->getFileAttributeTable()->getAdapter()->quoteInto('idFiles = ?', $this->objFileData->id);
                 $this->objModelFile->getFileAttributeTable()->update($arrUpdateAttributeData, $strWhere);
             }
         } else {
             throw new Exception('Not able to add new version, because there is no file with given ID!');
         }
     } catch (Exception $exc) {
         $this->core->logger->err($exc);
     }
 }
Example #2
0
 /**
  * add
  * @author Thomas Schedler <*****@*****.**>
  * @version 1.0
  */
 public function add($_FILE_NAME)
 {
     $this->core->logger->debug('massiveart.files.File->add()');
     try {
         $this->_FILE_NAME = $_FILE_NAME;
         $this->strFileId = uniqid();
         $this->upload();
         $this->getModelFile();
         $this->intUserId = Zend_Auth::getInstance()->getIdentity()->id;
         $this->intVersion = 1;
         $arrInsertData = array('fileId' => $this->strFileId, 'idUsers' => $this->intUserId, 'path' => '', 'idParent' => $this->intParentId, 'idParentTypes' => $this->intParentTypeId, 'isS3Stored' => 0, 'isImage' => $this->getIsImage(), 'filename' => $this->strFileId . '.' . $this->strExtension, 'creator' => $this->intUserId, 'created' => date('Y-m-d H:i:s'), 'size' => $this->dblSize, 'extension' => $this->strExtension, 'mimeType' => $this->strMimeType, 'version' => $this->intVersion);
         $this->intId = $this->objModelFile->getFileTable()->insert($arrInsertData);
         if ($this->getIsImage()) {
             $arrInsertAttributeData = array('idFiles' => $this->intId, 'xDim' => $this->intXDim, 'yDim' => $this->intYDim);
             $this->objModelFile->getFileAttributeTable()->insert($arrInsertAttributeData);
         }
     } catch (Exception $exc) {
         $this->core->logger->err($exc);
     }
 }