aboutsummaryrefslogtreecommitdiff
path: root/actions
diff options
context:
space:
mode:
authorCash Costello <cash.costello@gmail.com>2010-10-23 13:18:57 +0000
committerCash Costello <cash.costello@gmail.com>2010-10-23 13:18:57 +0000
commite0834b7d8b2b79ce230ca56601c7851aba4abe88 (patch)
tree3dd2e03d7da257000f81d3d0a4fbefa16e736d3e /actions
parentc2f005477cce4312df1bd67a88bb4d644fb14790 (diff)
downloadelgg-e0834b7d8b2b79ce230ca56601c7851aba4abe88.tar.gz
elgg-e0834b7d8b2b79ce230ca56601c7851aba4abe88.tar.bz2
better image deletion
Diffstat (limited to 'actions')
-rw-r--r--actions/delete.php71
1 files changed, 23 insertions, 48 deletions
diff --git a/actions/delete.php b/actions/delete.php
index 9b8c6ac6f..d9a65ce5f 100644
--- a/actions/delete.php
+++ b/actions/delete.php
@@ -32,64 +32,41 @@ if ($subtype != 'image' && $subtype != 'album') { // how did we even get here?
}
$owner_guid = 0; // group or user
-if ($subtype == 'image') { //deleting an image
- $album = get_entity($entity->container_guid);
- $owner_guid = $album->container_guid;
- $forward_url = $container->getURL(); //forward back to album after deleting pictures
- $images = array($entity);
+if ($subtype == 'image') {
+ //forward back to album after deleting pictures
+ $forward_url = $container->getURL();
+
// plugins can register to be told when a Tidypics image has been deleted
trigger_elgg_event('delete', 'tp_image', $entity);
-} else { //deleting an album
+
+ if ($entity->delete()) {
+ system_message(elgg_echo("tidypics:deleted"));
+ } else {
+ register_error(elgg_echo("tidypics:deletefailed"));
+ }
+} else {
+ //deleting an album
$owner_guid = $entity->container_guid;
$forward_url = 'pg/photos/owned/' . $container->username;
//get all the images from this album as long as less than 999 images
$images = get_entities("object", "image", $guid, '', 999);
// plugins can register to be told when a Tidypics album has been deleted
trigger_elgg_event('delete', 'tp_album', $entity);
-}
+ //loop through all images and delete them
+ foreach ($images as $im) {
+ if ($im) {
-// make sure we decrease the repo size for the size quota
-$image_repo_size_md = get_metadata_byname($owner_guid, "image_repo_size");
-$image_repo_size = (int)$image_repo_size_md->value;
-
-//loop through all images and delete them
-foreach ($images as $im) {
- $thumbnail = $im->thumbnail;
- $smallthumb = $im->smallthumb;
- $largethumb = $im->largethumb;
-
- if ($thumbnail) { //delete standard thumbnail image
- $delfile = new ElggFile();
- $delfile->owner_guid = $im->getOwner();
- $delfile->setFilename($thumbnail);
- $delfile->delete();
- }
- if ($smallthumb) { //delete small thumbnail image
- $delfile = new ElggFile();
- $delfile->owner_guid = $im->getOwner();
- $delfile->setFilename($smallthumb);
- $delfile->delete();
- }
- if ($largethumb) { //delete large thumbnail image
- $delfile = new ElggFile();
- $delfile->owner_guid = $im->getOwner();
- $delfile->setFilename($largethumb);
- $delfile->delete();
- }
- if ($im) {
- $image_repo_size -= $im->size();
- if (!$im->delete()) {
- if ($subtype=='image') {
+ if (!$im->delete()) {
register_error(elgg_echo("tidypics:deletefailed")); //unable to delete object
+ } else {
+ if ($subtype=='image') {
+ system_message(elgg_echo("tidypics:deleted")); //successfully deleted object
+ }
}
- } else {
- if ($subtype=='image') {
- system_message(elgg_echo("tidypics:deleted")); //successfully deleted object
- }
- }
- } //end delete actual image file
-} //end looping through each image to delete it
+ } //end delete actual image file
+ } //end looping through each image to delete it
+}
//now that all images have been deleted, delete the album
if ($subtype == 'album') {
@@ -116,6 +93,4 @@ if ($subtype == 'album') {
}
} //end of delete album
-create_metadata($owner_guid, "image_repo_size", $image_repo_size, 'integer', $owner_guid);
-
forward($forward_url);