/** * @param MediaInterface $mixed * * @return FacadeInterface */ public function transform($mixed, $folderId = null) { $facade = $this->newFacade(); $facade->name = $mixed->getMediaType(); $facade->translatedName = $this->translator->trans('open_orchestra_media_admin.media_filter.' . $mixed->getMediaType()); $facade->addLink('_filter', $this->generateRoute('open_orchestra_api_media_list', array('folderId' => $folderId, 'mediaType' => $facade->name))); return $facade; }
/** * Vote for $action on $folder not owned by $user * A user can act on someone else's media if he has the matching super role and the media is located into a folder is in his perimeter * * @param string $action * @param MediaInterface $media * @param UserInterface $user * * @return bool */ protected function voteForSomeoneElseSubject($action, $media, UserInterface $user) { $requiredRole = ContributionRoleInterface::MEDIA_CONTRIBUTOR; switch ($action) { case ContributionActionInterface::EDIT: $requiredRole = ContributionRoleInterface::MEDIA_SUPER_EDITOR; break; case ContributionActionInterface::DELETE: $requiredRole = ContributionRoleInterface::MEDIA_SUPER_SUPRESSOR; break; } return $user->hasRole($requiredRole) && $this->isSubjectInPerimeter($media->getMediaFolder()->getPath(), $user, MediaFolderInterface::ENTITY_TYPE); }
/** * Assert that the original file is removed * * @param MediaInterface $media */ protected function assertOriginalRemoved($media) { if ($media->getFilesystemName() != '') { Phake::verify($this->fileSystem)->remove(array($this->tmpDir . DIRECTORY_SEPARATOR . $media->getFilesystemName())); } else { Phake::verify($this->fileSystem, Phake::never())->remove(Phake::anyParameters()); } }