diff options
Diffstat (limited to 'mod/pages/pages/pages/owner.php')
-rw-r--r-- | mod/pages/pages/pages/owner.php | 53 |
1 files changed, 53 insertions, 0 deletions
diff --git a/mod/pages/pages/pages/owner.php b/mod/pages/pages/pages/owner.php new file mode 100644 index 000000000..7de74a3b4 --- /dev/null +++ b/mod/pages/pages/pages/owner.php @@ -0,0 +1,53 @@ +<?php +/** + * List a user's or group's pages + * + * @package ElggPages + */ + +$owner = elgg_get_page_owner_entity(); +if (!$owner) { + forward('', '404'); +} + +// access check for closed groups +group_gatekeeper(); + +$title = elgg_echo('pages:owner', array($owner->name)); + +elgg_push_breadcrumb($owner->name); + +elgg_register_title_button(); + +$content = elgg_list_entities(array( + 'type' => 'object', + 'subtype' => 'page_top', + 'container_guid' => elgg_get_page_owner_guid(), + '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'; +} + +$sidebar = elgg_view('pages/sidebar/navigation'); +$sidebar .= elgg_view('pages/sidebar'); + +$params = array( + 'filter_context' => $filter_context, + 'content' => $content, + 'title' => $title, + 'sidebar' => $sidebar, +); + +if (elgg_instanceof($owner, 'group')) { + $params['filter'] = ''; +} + +$body = elgg_view_layout('content', $params); + +echo elgg_view_page($title, $body); |