/** * @param string $action * * @return mixed */ public function execute($action = '') { return $this->actionHelper->handleDeleteAction($action, function (array $items) { foreach ($items as $item) { $pictures = $this->pictureRepository->getPicturesByGalleryId($item); foreach ($pictures as $row) { $this->galleryHelpers->removePicture($row['file']); } $this->galleryCache->getCacheDriver()->delete(Gallery\Cache::CACHE_ID . $item); if ($this->uriAliasManager) { $this->uriAliasManager->deleteUriAlias(sprintf(Gallery\Helpers::URL_KEY_PATTERN_GALLERY, $item)); } $this->deletePictureAliases($item); } return $this->galleryModel->delete($items); }); }
/** * @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); }
/** * @param array $formData * @param array $settings * @param array $picture * @param int $pictureId * * @return \Symfony\Component\HttpFoundation\RedirectResponse */ protected function executePost(array $formData, array $settings, array $picture, $pictureId) { return $this->actionHelper->handleEditPostAction(function () use($formData, $settings, $picture, $pictureId) { /** @var UploadedFile $file */ $file = $this->request->getFiles()->get('file'); $this->pictureFormValidation->setFileRequired(false)->setFile($file)->validate([]); if (!empty($file)) { $upload = new Core\Helpers\Upload($this->appPath, Gallery\Installer\Schema::MODULE_NAME); $result = $upload->moveFile($file->getPathname(), $file->getClientOriginalName()); $this->galleryHelpers->removePicture($picture['file']); $formData['file'] = $result['name']; } $formData['gallery_id'] = $picture['gallery_id']; return $this->pictureModel->save($formData, $pictureId); }, 'acp/gallery/index/edit/id_' . $picture['gallery_id']); }