aboutsummaryrefslogtreecommitdiff
path: root/actions/delete.php
blob: dfe9106665b7f8d83e3a0eb15ffc0a23255ec9e8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
<?php

/**
 * Tidypics Delete Action for Images and Albums
 *
 */

// must be logged in
gatekeeper();

$forward_url = 'pg/photos/world'; // by default forward to world photos

$guid = (int) get_input('guid');

$entity = get_entity($guid);
if (!$entity) {
	// unable to get Elgg entity
	register_error(elgg_echo("tidypics:deletefailed"));
	forward($forward_url);
}

if (!$entity->canEdit()) {
	// user doesn't have permissions
	register_error(elgg_echo("tidypics:deletefailed"));
	forward($forward_url);
}

$subtype = $entity->getSubtype();
$container = get_entity($entity->container_guid);

if ($subtype != 'image' && $subtype != 'album') {
	// how did we even get here?
	register_error(elgg_echo("tidypics:deletefailed"));
	forward($forward_url);
}

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 {
	// forward to this person's albums
	$forward_url = 'pg/photos/owned/' . $container->username;

	// plugins can register to be told when a Tidypics album has been deleted
	trigger_elgg_event('delete', 'tp_album', $entity);
}


if ($entity->delete()) {
	system_message(elgg_echo("tidypics:deleted"));
} else {
	register_error(elgg_echo("tidypics:deletefailed"));
}

forward($forward_url);