/** * @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) { $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) { $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; }); }
/** * @param File $file * @param Version $version * @return bool */ private function versionUnpublisher(File $file, Version $version) { $versionUrls = $file->getData()->get('publisher.version_url', array()); try { $this->getResolvedAdapter()->unpublish($file, $version, $this->getVersionProvider($file, $version), $this->linker); unset($versionUrls[$version->toString()]); $file->getData()->set('publisher.version_url', $versionUrls); return true; } catch (FilelibException $e) { return false; } }