aboutsummaryrefslogtreecommitdiff
path: root/mod/pages/pages/pages
diff options
context:
space:
mode:
authorcash <cash@36083f99-b078-4883-b0ff-0f9b5a30f544>2011-03-19 15:19:02 +0000
committercash <cash@36083f99-b078-4883-b0ff-0f9b5a30f544>2011-03-19 15:19:02 +0000
commitb5e2dbf292cddd56a8171b4c9cf1d9cf0fb45582 (patch)
treeaa7f916fba9fc61869f71492266d537f34e4d736 /mod/pages/pages/pages
parente603c947a5ae2869164b11fee827d4c595e4a3f8 (diff)
downloadelgg-b5e2dbf292cddd56a8171b4c9cf1d9cf0fb45582.tar.gz
elgg-b5e2dbf292cddd56a8171b4c9cf1d9cf0fb45582.tar.bz2
Fixes #3158 updated search and pages plugins for page handler scripts
git-svn-id: http://code.elgg.org/elgg/trunk@8769 36083f99-b078-4883-b0ff-0f9b5a30f544
Diffstat (limited to 'mod/pages/pages/pages')
-rw-r--r--mod/pages/pages/pages/edit.php42
-rw-r--r--mod/pages/pages/pages/friends.php31
-rw-r--r--mod/pages/pages/pages/history.php43
-rw-r--r--mod/pages/pages/pages/index.php49
-rw-r--r--mod/pages/pages/pages/new.php38
-rw-r--r--mod/pages/pages/pages/revision.php54
-rw-r--r--mod/pages/pages/pages/view.php54
-rw-r--r--mod/pages/pages/pages/world.php28
8 files changed, 339 insertions, 0 deletions
diff --git a/mod/pages/pages/pages/edit.php b/mod/pages/pages/pages/edit.php
new file mode 100644
index 000000000..8e530084b
--- /dev/null
+++ b/mod/pages/pages/pages/edit.php
@@ -0,0 +1,42 @@
+<?php
+/**
+ * Edit a page
+ *
+ * @package ElggPages
+ */
+
+gatekeeper();
+
+$page_guid = get_input('guid');
+$page = get_entity($page_guid);
+if (!$page) {
+
+}
+
+$container = $page->getContainerEntity();
+if (!$container) {
+
+}
+
+elgg_set_page_owner_guid($container->getGUID());
+
+elgg_push_breadcrumb($page->title, $page->getURL());
+elgg_push_breadcrumb(elgg_echo('edit'));
+
+$title = elgg_echo("pages:edit");
+
+if ($page->canEdit()) {
+ $vars = pages_prepare_form_vars($page);
+ $content = elgg_view_form('pages/edit', array(), $vars);
+} else {
+ $content = elgg_echo("pages:noaccess");
+}
+
+$body = elgg_view_layout('content', array(
+ 'filter' => '',
+ 'buttons' => '',
+ 'content' => $content,
+ 'title' => $title,
+));
+
+echo elgg_view_page($title, $body);
diff --git a/mod/pages/pages/pages/friends.php b/mod/pages/pages/pages/friends.php
new file mode 100644
index 000000000..13aa28578
--- /dev/null
+++ b/mod/pages/pages/pages/friends.php
@@ -0,0 +1,31 @@
+<?php
+/**
+ * List a user's friends' pages
+ *
+ * @package ElggPages
+ */
+
+$owner = elgg_get_page_owner_entity();
+if (!$owner) {
+
+}
+
+elgg_push_breadcrumb($owner->name, "pages/owner/$owner->username");
+elgg_push_breadcrumb(elgg_echo('friends'));
+
+$title = elgg_echo('pages:friends');
+
+$content = list_user_friends_objects($owner->guid, 'page_top', 10, false);
+if (!$content) {
+ $content = elgg_echo('pages:none');
+}
+
+$params = array(
+ 'filter_context' => 'friends',
+ 'content' => $content,
+ 'title' => $title,
+);
+
+$body = elgg_view_layout('content', $params);
+
+echo elgg_view_page($title, $body);
diff --git a/mod/pages/pages/pages/history.php b/mod/pages/pages/pages/history.php
new file mode 100644
index 000000000..7ed5ad7f7
--- /dev/null
+++ b/mod/pages/pages/pages/history.php
@@ -0,0 +1,43 @@
+<?php
+/**
+ * History of revisions of a page
+ *
+ * @package ElggPages
+ */
+
+$page_guid = get_input('guid');
+
+$page = get_entity($page_guid);
+if (!$page) {
+
+}
+
+$container = $page->getContainerEntity();
+if (!$container) {
+
+}
+
+elgg_set_page_owner_guid($container->getGUID());
+
+if (elgg_instanceof($container, 'group')) {
+ elgg_push_breadcrumb($container->name, "pages/group/$container->guid/owner");
+} else {
+ elgg_push_breadcrumb($container->name, "pages/owner/$container->username");
+}
+pages_prepare_parent_breadcrumbs($page);
+elgg_push_breadcrumb($page->title, $page->getURL());
+elgg_push_breadcrumb(elgg_echo('pages:history'));
+
+$title = $page->title . ": " . elgg_echo('pages:history');
+
+$content = list_annotations($page_guid, 'page', 20, false);
+
+$body = elgg_view_layout('content', array(
+ 'filter' => '',
+ 'buttons' => '',
+ 'content' => $content,
+ 'title' => $title,
+ 'sidebar' => elgg_view('pages/sidebar/navigation', array('page' => $page)),
+));
+
+echo elgg_view_page($title, $body);
diff --git a/mod/pages/pages/pages/index.php b/mod/pages/pages/pages/index.php
new file mode 100644
index 000000000..6a89e6092
--- /dev/null
+++ b/mod/pages/pages/pages/index.php
@@ -0,0 +1,49 @@
+<?php
+/**
+ * List a user's or group's pages
+ *
+ * @package ElggPages
+ */
+
+$owner = elgg_get_page_owner_entity();
+if (!$owner) {
+
+}
+
+// access check for closed groups
+group_gatekeeper();
+
+$title = elgg_echo('pages:owner', array($owner->name));
+
+elgg_push_breadcrumb($owner->name);
+
+$content = elgg_list_entities(array(
+ 'types' => 'object',
+ 'subtypes' => 'page_top',
+ 'container_guid' => elgg_get_page_owner_guid(),
+ 'limit' => $limit,
+ 'full_view' => false,
+));
+if (!$content) {
+ $content = '<p>' . elgg_echo('pages:none') . '</p>';
+}
+
+$filter_context = '';
+if (elgg_get_page_owner_guid() == elgg_get_logged_in_user_guid()) {
+ $filter_context = 'mine';
+}
+
+$params = array(
+ 'filter_context' => $filter_context,
+ 'content' => $content,
+ 'title' => $title,
+ 'sidebar' => elgg_view('pages/sidebar/navigation'),
+);
+
+if (elgg_instanceof($owner, 'group')) {
+ $params['filter'] = '';
+}
+
+$body = elgg_view_layout('content', $params);
+
+echo elgg_view_page($title, $body);
diff --git a/mod/pages/pages/pages/new.php b/mod/pages/pages/pages/new.php
new file mode 100644
index 000000000..42a8e04e1
--- /dev/null
+++ b/mod/pages/pages/pages/new.php
@@ -0,0 +1,38 @@
+<?php
+/**
+ * Create a new page
+ *
+ * @package ElggPages
+ */
+
+gatekeeper();
+
+$container_guid = (int) get_input('guid');
+$container = get_entity($container_guid);
+if (!$container) {
+
+}
+
+$parent_guid = 0;
+$page_owner = $container;
+if (elgg_instanceof($container, 'object')) {
+ $parent_guid = $container->getGUID();
+ $page_owner = $container->getContainerEntity();
+}
+
+elgg_set_page_owner_guid($page_owner->getGUID());
+
+$title = elgg_echo('pages:add');
+elgg_push_breadcrumb($title);
+
+$vars = pages_prepare_form_vars(null, $parent_guid);
+$content = elgg_view_form('pages/edit', array(), $vars);
+
+$body = elgg_view_layout('content', array(
+ 'filter' => '',
+ 'buttons' => '',
+ 'content' => $content,
+ 'title' => $title,
+));
+
+echo elgg_view_page($title, $body);
diff --git a/mod/pages/pages/pages/revision.php b/mod/pages/pages/pages/revision.php
new file mode 100644
index 000000000..968c64b58
--- /dev/null
+++ b/mod/pages/pages/pages/revision.php
@@ -0,0 +1,54 @@
+<?php
+/**
+ * View a revision of page
+ *
+ * @package ElggPages
+ */
+
+$id = get_input('id');
+$annotation = elgg_get_annotation_from_id($id);
+if (!$annotation) {
+ forward();
+}
+
+$page = get_entity($annotation->entity_guid);
+if (!$page) {
+
+}
+
+elgg_set_page_owner_guid($page->getContainerGUID());
+
+group_gatekeeper();
+
+$container = elgg_get_page_owner_entity();
+if (!$container) {
+}
+
+$title = $page->title . ": " . elgg_echo('pages:revision');
+
+if (elgg_instanceof($container, 'group')) {
+ elgg_push_breadcrumb($container->name, "pages/group/$container->guid/owner");
+} else {
+ elgg_push_breadcrumb($container->name, "pages/owner/$container->username");
+}
+pages_prepare_parent_breadcrumbs($page);
+elgg_push_breadcrumb($page->title, $page->getURL());
+elgg_push_breadcrumb(elgg_echo('pages:revision'));
+
+$content = elgg_view('object/page_top', array(
+ 'entity' => $page,
+ 'revision' => $annotation,
+ 'full' => true,
+));
+
+$sidebar = elgg_view('pages/sidebar/history', array('page' => $page));
+
+$body = elgg_view_layout('content', array(
+ 'filter' => '',
+ 'buttons' => '',
+ 'content' => $content,
+ 'title' => $title,
+ 'sidebar' => $sidebar,
+));
+
+echo elgg_view_page($title, $body);
diff --git a/mod/pages/pages/pages/view.php b/mod/pages/pages/pages/view.php
new file mode 100644
index 000000000..d3503709d
--- /dev/null
+++ b/mod/pages/pages/pages/view.php
@@ -0,0 +1,54 @@
+<?php
+/**
+ * View a single page
+ *
+ * @package ElggPages
+ */
+
+$page_guid = get_input('guid');
+$page = get_entity($page_guid);
+if (!$page) {
+ forward();
+}
+
+elgg_set_page_owner_guid($page->getContainerGUID());
+
+group_gatekeeper();
+
+$container = elgg_get_page_owner_entity();
+if (!$container) {
+}
+
+$title = $page->title;
+
+if (elgg_instanceof($container, 'group')) {
+ elgg_push_breadcrumb($container->name, "pages/group/$container->guid/owner");
+} else {
+ elgg_push_breadcrumb($container->name, "pages/owner/$container->username");
+}
+pages_prepare_parent_breadcrumbs($page);
+elgg_push_breadcrumb($title);
+
+$content = elgg_view_entity($page, true);
+$content .= elgg_view_comments($page);
+
+$buttons = '';
+if ($page->canEdit()) {
+ $url = "pages/add/$page->guid";
+ $buttons = elgg_view('output/url', array(
+ 'text' => elgg_echo('pages:newchild'),
+ 'href' => $url,
+ 'class' => 'elgg-button elgg-button-action',
+ ));
+ $buttons = "<ul class=\"elgg-menu elgg-menu-title\"><li>$buttons</li></ul>";
+}
+
+$body = elgg_view_layout('content', array(
+ 'filter' => '',
+ 'buttons' => $buttons,
+ 'content' => $content,
+ 'title' => $title,
+ 'sidebar' => elgg_view('pages/sidebar/navigation'),
+));
+
+echo elgg_view_page($title, $body);
diff --git a/mod/pages/pages/pages/world.php b/mod/pages/pages/pages/world.php
new file mode 100644
index 000000000..668100ad2
--- /dev/null
+++ b/mod/pages/pages/pages/world.php
@@ -0,0 +1,28 @@
+<?php
+/**
+ * List all pages
+ *
+ * @package ElggPages
+ */
+
+$title = elgg_echo('pages:all');
+
+elgg_pop_breadcrumb();
+elgg_push_breadcrumb(elgg_echo('pages'));
+
+$content = elgg_list_entities(array(
+ 'types' => 'object',
+ 'subtypes' => 'page_top',
+ 'full_view' => false,
+));
+if (!$content) {
+ $content = '<p>' . elgg_echo('pages:none') . '</p>';
+}
+
+$body = elgg_view_layout('content', array(
+ 'filter_context' => 'all',
+ 'content' => $content,
+ 'title' => $title,
+));
+
+echo elgg_view_page($title, $body);