/**
  * Generate file path relative to contributed media directory
  *
  * @param Contribution $contribution
  * @param File  $file
  *
  * @return string
  */
 public function generateAbsolutePath(Contribution $contribution, File $file = null)
 {
     if (null === $file) {
         return $this->directory . $contribution->getFileName();
     }
     return $this->directory . $this->generateRelativePath($contribution, $file);
 }
 /**
  * Generate a HaPHPy File and attach it to the contribution
  *
  * @param Contribution $contribution
  *
  * @return false|void
  */
 public function attachTo(Contribution $contribution)
 {
     if (!$contribution->getFileName()) {
         return false;
     }
     $absPath = $this->pathGenerator->getFileAbsolutePath($contribution);
     $file = new File($absPath);
     $contribution->setFile($file);
 }
 /**
  * @param Contribution $contribution
  */
 public function remove(Contribution $contribution)
 {
     if (!$contribution->getFileName()) {
         return;
     }
     unlink($this->pathGenerator->getFileAbsolutePath($contribution));
     $this->entityManager->remove($contribution);
     $this->entityManager->flush();
 }
 /**
  * Generate file path relative to contributed media directory
  *
  * @param Contribution $contribution
  *
  * @return string
  */
 public function getFileAbsolutePath(Contribution $contribution)
 {
     return $this->directory . DIRECTORY_SEPARATOR . $contribution->getFileName();
 }