$image_repo_size = (int)$image_repo_size_md->value;
//loop through all images and delete them
-foreach($images as $im) {
+foreach ($images as $im) {
$thumbnail = $im->thumbnail;
$smallthumb = $im->smallthumb;
$largethumb = $im->largethumb;
$delfile->setFilename($largethumb);
$delfile->delete();
}
- if ($im) { //delete actual image file
- $delfile = new ElggFile($im->getGUID());
- $delfile->owner_guid = $im->getOwner();
- //$delfile->setFilename($im->originalfilename);
- $image_repo_size -= $delfile->size();
+ if ($im) {
+ $image_repo_size -= $im->size();
- if (!$delfile->delete()) {
- if ($subtype=='image') register_error(elgg_echo("tidypics:deletefailed")); //unable to delete object
+ if (!$im->delete()) {
+ if ($subtype=='image') {
+ register_error(elgg_echo("tidypics:deletefailed")); //unable to delete object
+ }
} else {
- if ($subtype=='image') system_message(elgg_echo("tidypics:deleted")); //successfully deleted object
+ 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
rmdir($albumdir);
}
- //delete object from database
+ //delete album object from database
if (!$entity->delete()) {
register_error(elgg_echo("tidypics:deletefailed")); //unable to delete object
} else {
}
return $imageList[$key];
}
+
+ /**
+ * Remove an image from the album list
+ *
+ * @param int $imageGuid
+ * @return bool
+ */
+ public function removeImage($imageGuid) {
+ $imageList = $this->getImageList();
+ $key = array_search($imageGuid, $imageList);
+ if ($key === FALSE) {
+ return FALSE;
+ }
+
+ unset($imageList[$key]);
+ $this->setImageList($imageList);
+
+ return TRUE;
+ }
}
parent::__construct($guid);
}
+ /**
+ * delete image
+ *
+ * @return bool
+ */
+ public function delete() {
+
+ $album = get_entity($this->container_guid);
+ $album->removeImage($this->guid);
+
+ return parent::delete();
+ }
+
/**
* Has the photo been tagged with "in this photo" tags
*