예제 #1
0
 /**
  * @param string $svgFilename
  *
  * @return $this
  */
 public function setSVGFilename($svgFilename)
 {
     $this->svgFilename = StringHandler::cleanForFilename($svgFilename);
     return $this;
 }
예제 #2
0
 /**
  * @param string $filename
  *
  * @return $this
  */
 public function setFilename($filename)
 {
     $this->filename = StringHandler::cleanForFilename($filename);
     return $this;
 }
예제 #3
0
 private function updateDocument($data, $document)
 {
     $fs = new Filesystem();
     if (!empty($data['newDocument'])) {
         $uploadedFile = $data['newDocument'];
         if ($uploadedFile !== null && $uploadedFile->getError() == UPLOAD_ERR_OK && $uploadedFile->isValid()) {
             /*
              * In case file already exists
              */
             if ($fs->exists($document->getAbsolutePath())) {
                 $fs->remove($document->getAbsolutePath());
             }
             if (StringHandler::cleanForFilename($uploadedFile->getClientOriginalName()) == $document->getFilename()) {
                 $finder = new Finder();
                 $previousFolder = $document->getFilesFolder() . '/' . $document->getFolder();
                 if ($fs->exists($previousFolder)) {
                     $finder->files()->in($previousFolder);
                     // Remove Precious folder if it's empty
                     if ($finder->count() == 0) {
                         $fs->remove($previousFolder);
                     }
                 }
                 $document->setFolder(substr(hash("crc32b", date('YmdHi')), 0, 12));
             }
             $document->setFilename($uploadedFile->getClientOriginalName());
             $document->setMimeType($uploadedFile->getMimeType());
             $this->getService('em')->flush();
             $uploadedFile->move(Document::getFilesFolder() . '/' . $document->getFolder(), $document->getFilename());
             return $document;
         }
     }
     return $document;
 }