eZ\Bundle\EzPublishCoreBundle\Imagine\IORepositoryResolver::remove PHP Method

remove() public method

public remove ( array $paths, array $filters )
$paths array The paths where the original files are expected to be.
$filters array The imagine filters in effect.
    public function remove(array $paths, array $filters)
    {
        if (empty($filters)) {
            $filters = array_keys($this->filterConfiguration->all());
        }
        if (empty($paths)) {
            $this->variationPurger->purge($filters);
        }
        foreach ($paths as $path) {
            foreach ($filters as $filter) {
                $filteredImagePath = $this->getFilePath($path, $filter);
                if (!$this->ioService->exists($filteredImagePath)) {
                    continue;
                }
                $binaryFile = $this->ioService->loadBinaryFile($filteredImagePath);
                $this->ioService->deleteBinaryFile($binaryFile);
            }
        }
    }

Usage Example

 public function testRemoveWithFilters()
 {
     $originalPath = 'foo/bar/test.jpg';
     $filters = array('filter1', 'filter2', 'chaud_cacao');
     $this->configResolver->expects($this->never())->method('getParameter')->with('image_variations')->will($this->returnValue(array()));
     $fileToDelete = 'foo/bar/test_chaud_cacao.jpg';
     $this->ioService->expects($this->exactly(count($filters)))->method('exists')->will($this->returnValueMap(array(array('foo/bar/test_filter1.jpg', false), array('foo/bar/test_filter2.jpg', false), array($fileToDelete, true))));
     $binaryFile = new BinaryFile(array('id' => $fileToDelete));
     $this->ioService->expects($this->once())->method('loadBinaryFile')->with($fileToDelete)->will($this->returnValue($binaryFile));
     $this->ioService->expects($this->once())->method('deleteBinaryFile')->with($binaryFile);
     $this->imageResolver->remove(array($originalPath), $filters);
 }