blob: becf1fedb5a1c6ccce3073c568407291ed93ecd9 (
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
|
<?php
/**
* Tidypics Delete Photo Tag
*
*/
gatekeeper();
action_gatekeeper();
$image_guid = get_input('image_guid');
$tags = get_input('tags');
if ($image_guid == 0) {
register_error(elgg_echo("tidypics:phototagging:error"));
forward($_SERVER['HTTP_REFERER']);
}
$image = get_entity($image_guid);
if (!$image)
{
register_error(elgg_echo("tidypics:phototagging:error"));
forward($_SERVER['HTTP_REFERER']);
}
foreach ($tags as $id => $value) {
// delete normal tag if it exists
if (is_array($image->tags)) {
$index = array_search($value, $image->tags);
if ($index !== false) {
$tagarray = $image->tags;
unset($tagarray[$index]);
$image->clearMetadata('tags');
$image->tags = $tagarray;
}
} else {
if ($value === $image->tags) {
$image->clearMetadata('tags');
}
}
// delete relationship if this tag is a user
$annotation = get_annotation($id);
$photo_tag = unserialize($annotation->value);
if ($photo_tag->type == 'user') {
remove_entity_relationship($photo_tag->value, 'phototag', $image_guid);
}
// delete the photo tag annotation
delete_annotation($id);
}
system_message(elgg_echo("tidypics:deletetag:success"));
forward($_SERVER['HTTP_REFERER']);
?>
|