/** * {@inheritdoc} */ public function getInterceptors(Repository $repository) { $interceptors = array(); $ids = array('modera_file_repository.validation.file_properties_validation_interceptor'); $config = $repository->getConfig(); if (isset($config['interceptors']) && is_array($config['interceptors'])) { $ids = array_merge($ids, $config['interceptors']); } foreach ($ids as $id) { $interceptors[] = $this->container->get($id); } return $interceptors; }
/** * {@inheritdoc} */ public function beforePut(\SplFileInfo $file, Repository $repository) { $config = $repository->getConfig(); $wrapper = new FileWrapper($file); if (isset($config['images_only']) && true === $config['images_only']) { $wrapper->addImageConstraint(); } if (isset($config['max_size']) && '' != $config['max_size']) { $wrapper->addFileConstraint(array('maxSize' => $config['max_size'])); } if (isset($config['file_constraint']) && is_array($config['file_constraint'])) { $wrapper->addFileConstraint($config['file_constraint']); } if (isset($config['image_constraint']) && is_array($config['image_constraint'])) { $wrapper->addImageConstraint($config['image_constraint']); } $errors = $wrapper->validate($this->validator); if (count($errors)) { throw FileValidationException::create($file, $errors, $repository); } }