diff options
author | Jeff Tilson <jrtilson@gmail.com> | 2013-04-05 13:35:13 -0400 |
---|---|---|
committer | Jeff Tilson <jrtilson@gmail.com> | 2013-04-05 13:35:13 -0400 |
commit | 5103c706857719615102eda7cfd823b0723a1476 (patch) | |
tree | 156f69ffa5914368ef4fc1a878503db867993fd4 /mod/pages/pages/pages/edit.php | |
parent | 835c7fe5eb77343081b9bd33ec465f9ce8929570 (diff) | |
download | elgg-5103c706857719615102eda7cfd823b0723a1476.tar.gz elgg-5103c706857719615102eda7cfd823b0723a1476.tar.bz2 |
Allow pages revisions to be reverted or deleted
Diffstat (limited to 'mod/pages/pages/pages/edit.php')
-rw-r--r-- | mod/pages/pages/pages/edit.php | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/mod/pages/pages/pages/edit.php b/mod/pages/pages/pages/edit.php index 1f411b94d..a925cdc55 100644 --- a/mod/pages/pages/pages/edit.php +++ b/mod/pages/pages/pages/edit.php @@ -8,6 +8,7 @@ gatekeeper(); $page_guid = (int)get_input('guid'); +$revision = (int)get_input('annotation_id'); $page = get_entity($page_guid); if (!$page) { register_error(elgg_echo('noaccess')); @@ -28,7 +29,17 @@ elgg_push_breadcrumb(elgg_echo('edit')); $title = elgg_echo("pages:edit"); if ($page->canEdit()) { - $vars = pages_prepare_form_vars($page); + + if ($revision) { + $revision = elgg_get_annotation_from_id($revision); + if (!$revision || !($revision->entity_guid == $page_guid)) { + register_error(elgg_echo('pages:revision:not_found')); + forward(REFERER); + } + } + + $vars = pages_prepare_form_vars($page, $page->parent_guid, $revision); + $content = elgg_view_form('pages/edit', array(), $vars); } else { $content = elgg_echo("pages:noaccess"); |