/** * @param Contribution $contribution */ public function remove(Contribution $contribution) { if (!$contribution->getFileName()) { return; } unlink($this->pathGenerator->generateAbsolutePath($contribution)); $this->entityManager->remove($contribution); $this->entityManager->flush(); }
/** * Save Contribution file to file system * and perist Contribution info to database * * @param Contribution $contribution * @param \SplFileInfo $file */ public function persist(Contribution $contribution, \SplFileInfo $file) { // File $path = $this->pathGenerator->generateAbsolutePath($contribution, $file); $file->move(dirname($path), basename($path)); // Data persistence $contribution->setModifiedAt(new \DateTime()); $this->entityManager->persist($contribution); $this->entityManager->flush(); }
/** * Save Contribution file to file system * and perist Contribution info to database * * @param Contribution $contribution * @param UploadedFile $file */ public function persist(Contribution $contribution, UploadedFile $file) { // Paths $absolutePath = $this->pathGenerator->generateAbsolutePath($contribution, $file); $relativePath = $this->pathGenerator->generateRelativePath($contribution, $file); // File $file->move(dirname($absolutePath), basename($absolutePath)); // Data persistence $contribution->setModifiedAt(new \DateTime()); $contribution->setFileName($relativePath); $this->entityManager->persist($contribution); $this->entityManager->flush(); }
/** * Test if generated absolute path for new contribution is ok */ public function testGenerateAbsolutePath() { $pathGenerator = new PathGenerator($this->directory); $path = $this->directory . DIRECTORY_SEPARATOR; $path .= $this->contribution->getAuthProvider() . DIRECTORY_SEPARATOR; $path .= $this->contribution->getIdentifier(); $path .= '.' . $this->extension; $absolutePath = $pathGenerator->generateAbsolutePath($this->contribution, $this->file); $this->assertEquals($absolutePath, $path); }