aboutsummaryrefslogtreecommitdiff
path: root/mod/file/actions/file/delete.php
diff options
context:
space:
mode:
Diffstat (limited to 'mod/file/actions/file/delete.php')
-rw-r--r--mod/file/actions/file/delete.php96
1 files changed, 32 insertions, 64 deletions
diff --git a/mod/file/actions/file/delete.php b/mod/file/actions/file/delete.php
index 9357d4955..fe03e5077 100644
--- a/mod/file/actions/file/delete.php
+++ b/mod/file/actions/file/delete.php
@@ -1,65 +1,33 @@
<?php
-
- /**
- * Elgg file delete
- *
- * @package ElggFile
- */
-
- $guid = (int) get_input('file');
- if ($file = get_entity($guid)) {
-
- if ($file->canEdit()) {
-
- $container = get_entity($file->container_guid);
-
- $thumbnail = $file->thumbnail;
- $smallthumb = $file->smallthumb;
- $largethumb = $file->largethumb;
- if ($thumbnail) {
-
- $delfile = new ElggFile();
- $delfile->owner_guid = $file->owner_guid;
- $delfile->setFilename($thumbnail);
- $delfile->delete();
-
- }
- if ($smallthumb) {
-
- $delfile = new ElggFile();
- $delfile->owner_guid = $file->owner_guid;
- $delfile->setFilename($smallthumb);
- $delfile->delete();
-
- }
- if ($largethumb) {
-
- $delfile = new ElggFile();
- $delfile->owner_guid = $file->owner_guid;
- $delfile->setFilename($largethumb);
- $delfile->delete();
-
- }
-
- if (!$file->delete()) {
- register_error(elgg_echo("file:deletefailed"));
- } else {
- system_message(elgg_echo("file:deleted"));
- }
-
- } else {
-
- $container = get_loggedin_user();
- register_error(elgg_echo("file:deletefailed"));
-
- }
-
- } else {
-
- register_error(elgg_echo("file:deletefailed"));
-
- }
-
- forward("pg/file/$container->username/");
-
-?> \ No newline at end of file
+/**
+* Elgg file delete
+*
+* @package ElggFile
+*/
+
+$guid = (int) get_input('guid');
+
+$file = new FilePluginFile($guid);
+if (!$file->guid) {
+ register_error(elgg_echo("file:deletefailed"));
+ forward('pg/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("pg/file/group/$container->guid/owner");
+} else {
+ forward("pg/file/owner/$container->username");
+}