diff options
Diffstat (limited to 'pages/photos')
-rw-r--r-- | pages/photos/image/view.php | 52 | ||||
-rw-r--r-- | pages/photos/owner.php | 15 |
2 files changed, 65 insertions, 2 deletions
diff --git a/pages/photos/image/view.php b/pages/photos/image/view.php new file mode 100644 index 000000000..d9231eb08 --- /dev/null +++ b/pages/photos/image/view.php @@ -0,0 +1,52 @@ +<?php +/** + * View an image + * + * @author Cash Costello + * @license http://www.gnu.org/licenses/gpl-2.0.html GNU General Public License v2 + */ + +group_gatekeeper(); + +// get the photo entity +$photo_guid = (int) get_input('guid'); +$photo = get_entity($photo_guid); + +// set page owner based on owner of photo album +$album = $photo->getContainerEntity(); +if ($album) { + elgg_set_page_owner_guid($album->getContainerGUID()); +} +$owner = elgg_get_page_owner_entity(); + +// set up breadcrumbs +elgg_push_breadcrumb(elgg_echo('photos'), 'photos/all'); +if (elgg_instanceof($page_owner, 'group')) { + elgg_push_breadcrumb($owner->name, "photos/group/$owner->guid/all"); +} else { + elgg_push_breadcrumb($owner->name, "photos/owner/$owner->username"); +} +elgg_push_breadcrumb($album->title, $album->getURL()); +elgg_push_breadcrumb($photo->title); + +// add download button to title menu +elgg_register_menu_item('title', array( + 'name' => 'download', + 'href' => 'photos/download', + 'text' => elgg_echo('image:download'), + 'link_class' => 'elgg-button elgg-button-action', +)); + +$content = elgg_view_entity($photo, array('full_view' => true)); + +$body = elgg_view_layout('content', array( + 'filter' => false, + 'content' => $content, + 'title' => $photo->title, + 'sidebar' => elgg_view('tidypics/sidebar', array( + 'page' => 'view', + 'image' => $photo, + )), +)); + +echo elgg_view_page($photo->title, $body); diff --git a/pages/photos/owner.php b/pages/photos/owner.php index f6582e326..214cd2e37 100644 --- a/pages/photos/owner.php +++ b/pages/photos/owner.php @@ -35,11 +35,22 @@ elgg_pop_context(); elgg_register_title_button(); -$body = elgg_view_layout('content', array( +$params = array( 'filter_context' => 'mine', 'content' => $content, 'title' => $title, 'sidebar' => elgg_view('tidypics/sidebar', array('page' => 'owner')), -)); +); + +// don't show filter if out of filter context +if ($owner instanceof ElggGroup) { + $params['filter'] = false; +} + +if ($owner->getGUID() != elgg_get_logged_in_user_guid()) { + $params['filter_context'] = ''; +} + +$body = elgg_view_layout('content', $params); echo elgg_view_page($title, $body); |