aboutsummaryrefslogtreecommitdiff
path: root/mod/pages/pages/pages/edit.php
diff options
context:
space:
mode:
authorJeff Tilson <jrtilson@gmail.com>2013-04-05 13:35:13 -0400
committerJeff Tilson <jrtilson@gmail.com>2013-04-05 13:35:13 -0400
commit5103c706857719615102eda7cfd823b0723a1476 (patch)
tree156f69ffa5914368ef4fc1a878503db867993fd4 /mod/pages/pages/pages/edit.php
parent835c7fe5eb77343081b9bd33ec465f9ce8929570 (diff)
downloadelgg-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.php13
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");