aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--mod/groups/actions/delete.php26
1 files changed, 19 insertions, 7 deletions
diff --git a/mod/groups/actions/delete.php b/mod/groups/actions/delete.php
index a99b3a2c6..6eed12a9c 100644
--- a/mod/groups/actions/delete.php
+++ b/mod/groups/actions/delete.php
@@ -3,18 +3,30 @@
* Delete a group
*/
-$guid = (int)get_input('group_guid');
+$guid = (int) get_input('group_guid');
$entity = get_entity($guid);
-if (($entity) && ($entity instanceof ElggGroup))
-{
- if ($entity->delete())
+if (($entity) && ($entity instanceof ElggGroup)) {
+ // delete group icons
+ $owner_guid = $entity->owner_guid;
+ $prefix = "groups/" . $entity->guid;
+ $imagenames = array('.jpg', 'tiny.jpg', 'small.jpg', 'medium.jpg', 'large.jpg');
+ $img = new ElggFile();
+ $img->owner_guid = $owner_guid;
+ foreach ($imagenames as $name) {
+ $img->setFilename($prefix . $name);
+ $img->delete();
+ }
+
+ // delete group
+ if ($entity->delete()) {
system_message(elgg_echo('group:deleted'));
- else
+ } else {
register_error(elgg_echo('group:notdeleted'));
-}
-else
+ }
+} else {
register_error(elgg_echo('group:notdeleted'));
+}
$url_name = elgg_get_logged_in_user_entity()->username;
forward(elgg_get_site_url() . "pg/groups/member/{$url_name}");