/**
  * @see BackendAdapter::createFile
  */
 public function createFile(File $file, Folder $folder)
 {
     $document = array('folder_id' => $folder->getId(), 'name' => $file->getName(), 'profile' => $file->getProfile(), 'status' => $file->getStatus(), 'date_created' => new MongoDate($file->getDateCreated()->getTimestamp()), 'uuid' => $file->getUuid(), 'resource_id' => $file->getResource()->getId(), 'data' => $file->getData()->toArray());
     $this->getMongo()->files->ensureIndex(array('folder_id' => 1, 'name' => 1), array('unique' => true));
     $this->getMongo()->files->insert($document, array('w' => true));
     $file->setId((string) $document['_id']);
     $file->setFolderId($folder->getId());
     return $file;
 }
 /**
  * @see BackendAdapter::createFile
  */
 public function createFile(File $file, Folder $folder)
 {
     $document = array('folder_id' => $folder->getId(), 'name' => $file->getName(), 'profile' => $file->getProfile(), 'status' => $file->getStatus(), 'date_created' => $file->getDateCreated()->format('Y-m-d H:i:s'), 'uuid' => $file->getUuid(), 'resource_id' => $file->getResource()->getId(), 'data' => $file->getData()->toArray());
     $document['id'] = $this->createId();
     $this->create('files', $document['id'], $document);
     $file->setId($document['id']);
     $file->setFolderId($folder->getId());
     return $file;
 }
 /**
  * @see BackendAdapter::createFile
  */
 public function createFile(File $file, Folder $folder)
 {
     $id = $this->conn->getDatabasePlatform()->getName() == 'mysql' ? null : $this->conn->fetchColumn($this->conn->getDatabasePlatform()->getSequenceNextValSQL('xi_filelib_file_id_seq'));
     $this->conn->insert('xi_filelib_file', array('id' => $id, 'folder_id' => $folder->getId(), 'fileprofile' => $file->getProfile(), 'filename' => $file->getName(), 'date_created' => $file->getDateCreated()->format('Y-m-d H:i:s'), 'status' => $file->getStatus(), 'uuid' => $file->getUuid(), 'resource_id' => $file->getResource()->getId(), 'data' => json_encode($file->getdata()->toArray())));
     $id = $this->conn->getDatabasePlatform()->getName() == 'mysql' ? $this->conn->lastInsertId() : $id;
     $file->setId($id);
     $file->setFolderId($folder->getId());
     return $file;
 }
 /**
  * @see BackendAdapter::createFile
  */
 public function createFile(File $file, Folder $folder)
 {
     $self = $this;
     return $this->em->transactional(function (EntityManager $em) use($self, $file, $folder) {
         $fileEntityName = $self->getFileEntityName();
         $entity = new $fileEntityName();
         $entity->setFolder($self->getFolderReference($folder->getId()));
         $entity->setName($file->getName());
         $entity->setProfile($file->getProfile());
         $entity->setDateCreated($file->getDateCreated());
         $entity->setStatus($file->getStatus());
         $entity->setUuid($file->getUuid());
         $entity->setData($file->getData()->toArray());
         $resource = $file->getResource();
         if ($resource) {
             $entity->setResource($em->getReference($self->getResourceEntityName(), $resource->getId()));
         }
         $em->persist($entity);
         $em->flush($entity);
         $file->setId($entity->getId());
         $file->setFolderId($entity->getFolder()->getId());
         return $file;
     });
 }
Beispiel #5
0
 /**
  * Returns whether the plugin provides versions for a file.
  *
  * @param  File    $file File item
  * @return boolean
  */
 public function isApplicableTo(File $file)
 {
     if (!$this->belongsToProfile($file->getProfile())) {
         return false;
     }
     return call_user_func($this->isApplicableTo, $file);
 }