/** * @test */ public function fileUploadShouldBeReplacable() { $upload = new FileUpload(ROOT_TESTS . '/data/self-lussing-manatee.jpg'); $folder = $this->getMockedFolder(); $profile = $this->getMockedFileProfile(); $event = new FileUploadEvent($upload, $folder, $profile); $upload2 = $event->getFileUpload(); $this->assertSame($upload, $upload2); $upload3 = new FileUpload(ROOT_TESTS . '/data/refcard.pdf'); $event->setFileUpload($upload3); $upload4 = $event->getFileUpload(); $this->assertSame($upload3, $upload4); }
/** * @param FileUploadEvent $event */ public function beforeUpload(FileUploadEvent $event) { if (!$this->belongsToProfile($event->getProfile()->getIdentifier())) { return; } $upload = $event->getFileUpload(); if (!preg_match("/^image/", $upload->getMimeType())) { return; } $helper = new ImageMagickHelper($upload->getRealPath(), $this->tempFiles, $this->commandDefinitions); $tempnam = $helper->execute(); $pinfo = pathinfo($upload->getUploadFilename()); $nupload = new FileUpload($tempnam); $mimeTypes = new MimeTypes(); $extension = $mimeTypes->mimeTypeToExtension($nupload->getMimeType()); $nupload->setOverrideFilename($pinfo['filename'] . '.' . $extension); $event->setFileUpload($nupload); }