Ejemplo n.º 1
0
Archivo: Delete.php Proyecto: acp3/cms
 /**
  * @param int $id
  * @param string $action
  *
  * @return mixed
  * @throws \ACP3\Core\Controller\Exception\ResultNotExistsException
  */
 public function execute($id, $action = '')
 {
     return $this->actionHelper->handleDeleteAction($action, function (array $items) {
         $bool = false;
         foreach ($items as $item) {
             if (!empty($item) && $this->pictureRepository->pictureExists($item) === true) {
                 $picture = $this->pictureRepository->getOneById($item);
                 $this->pictureRepository->updatePicturesNumbers($picture['pic'], $picture['gallery_id']);
                 $this->galleryHelpers->removePicture($picture['file']);
                 $bool = $this->pictureRepository->delete($item);
                 if ($this->uriAliasManager) {
                     $this->uriAliasManager->deleteUriAlias(sprintf(Gallery\Helpers::URL_KEY_PATTERN_PICTURE, $item));
                 }
                 $this->galleryCache->saveCache($picture['gallery_id']);
             }
         }
         Core\Cache\Purge::doPurge($this->appPath->getCacheDir() . 'http');
         return $bool;
     }, 'acp/gallery/pictures/delete/id_' . $id, 'acp/gallery/index/edit/id_' . $id);
 }