diff --git a/modules/Gallery/Handlers/Gallery.php b/modules/Gallery/Handlers/Gallery.php index dde4c303..c33c5697 100644 --- a/modules/Gallery/Handlers/Gallery.php +++ b/modules/Gallery/Handlers/Gallery.php @@ -83,15 +83,13 @@ class Gallery implements AppHandler // create new directory for images $directory = Directory::create([ - 'name' => $request->title, + 'name' => $content->id . '_' . $request->title, 'description' => $request->description, 'parent_id' => $parentDirectoryId ]); // save id into module_config array - $settings = [ - 'directoryId' => $directory->id - ]; + $settings = ['directoryId' => $directory->id]; // save settings $content->module_settings = json_encode($settings); @@ -209,4 +207,34 @@ class Gallery implements AppHandler Storage::put(self::CONFIG_FILENAME, $directory->id); } + + /** + * Method called right after content page is marked as deleted + * + * This method is supposed to clean after "deleted" page. + * + * @param Content $content + * + * @return mixed + */ + public static function delete(Content $content) + { + // try to convert module_settings into something more accessible + if (is_string($content->module_settings)) { + $content->module_settings = json_decode($content->module_settings); + } + + // get directory id + $directoryId = $content->module_settings->directoryId; + + $directory = Directory::find($directoryId); + + // check if gallery exists + if (!$directory) { + return; + } + + // delete directory used as photogallery + $directory->delete(); + } } \ No newline at end of file