aboutsummaryrefslogtreecommitdiff
path: root/mod/pages/actions
diff options
context:
space:
mode:
Diffstat (limited to 'mod/pages/actions')
-rw-r--r--mod/pages/actions/pages/delete.php41
1 files changed, 22 insertions, 19 deletions
diff --git a/mod/pages/actions/pages/delete.php b/mod/pages/actions/pages/delete.php
index 8bc20b821..aea383ef8 100644
--- a/mod/pages/actions/pages/delete.php
+++ b/mod/pages/actions/pages/delete.php
@@ -2,36 +2,39 @@
/**
* Remove a page
*
+ * Subpages are not deleted but are moved up a level in the tree
+ *
* @package ElggPages
*/
-$page = get_input('page');
-
-if ($page = get_entity($page)) {
-
+$guid = get_input('guid');
+$page = get_entity($guid);
+if ($page) {
if ($page->canEdit()) {
-
$container = get_entity($page->container_guid);
// 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;
- }
+ $parent = $page->parent_guid;
+ $children = elgg_get_entities_from_metadata(array(
+ 'metadata_name' => 'parent_guid',
+ 'metadata_value' => $page->getGUID()
+ ));
+ if ($children) {
+ 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());
- }
+ }
+
+ if ($page->delete()) {
+ system_message(elgg_echo('pages:delete:success'));
+ if ($parent) {
+ if ($parent = get_entity($parent)) {
+ forward($parent->getURL());
}
- forward("pg/pages/owned/$container->username/");
}
-
+ forward("pg/pages/owned/$container->username/");
+ }
}
-
}
register_error(elgg_echo('pages:delete:failure'));