aboutsummaryrefslogtreecommitdiff
path: root/mod/pages/actions/pages/delete.php
blob: 8bda9e794e7a5db1910da615e098a4686fd37d48 (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
<?php

	$page = get_input('page');
	
	if ($page = get_entity($page)) {
		
		if ($page->canEdit()) {
			
			// Bring all child elements forward
				$parent = $page->parent_guid;
				if ($children = elgg_get_entities_from_metadata(array('metadata_name' => 'parent_guid', 'metadata_value' => $page->getGUID()))) {
					foreach($children as $child) {
						$child->parent_guid = $parent;
					}
				}
				if ($page->delete()) {
					system_message(elgg_echo('pages:delete:success'));
					if ($parent) {
						if ($parent = get_entity($parent)) {
							forward($parent->getURL());
							exit;
						}
					}
					forward('pg/pages/owned/' . $_SESSION['user']->username);
					exit;
				}
			
		}
		
	}
	
	register_error(elgg_echo('pages:delete:failure'));
	forward($_SERVER['HTTP_REFERER']);

?>