diff options
Diffstat (limited to 'mod/file/actions/file/delete.php')
-rw-r--r-- | mod/file/actions/file/delete.php | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/mod/file/actions/file/delete.php b/mod/file/actions/file/delete.php new file mode 100644 index 000000000..72585aa36 --- /dev/null +++ b/mod/file/actions/file/delete.php @@ -0,0 +1,33 @@ +<?php +/** +* Elgg file delete +* +* @package ElggFile +*/ + +$guid = (int) get_input('guid'); + +$file = new FilePluginFile($guid); +if (!$file->guid) { + register_error(elgg_echo("file:deletefailed")); + forward('file/all'); +} + +if (!$file->canEdit()) { + register_error(elgg_echo("file:deletefailed")); + forward($file->getURL()); +} + +$container = $file->getContainerEntity(); + +if (!$file->delete()) { + register_error(elgg_echo("file:deletefailed")); +} else { + system_message(elgg_echo("file:deleted")); +} + +if (elgg_instanceof($container, 'group')) { + forward("file/group/$container->guid/all"); +} else { + forward("file/owner/$container->username"); +} |