aboutsummaryrefslogtreecommitdiff
path: root/pages/photos
diff options
context:
space:
mode:
Diffstat (limited to 'pages/photos')
-rw-r--r--pages/photos/image/view.php52
-rw-r--r--pages/photos/owner.php15
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);