]> gitweb.fluxo.info Git - lorea/elgg.git/commitdiff
working on settings
authorcash <cash.costello@gmail.com>
Sun, 20 Nov 2011 23:41:34 +0000 (18:41 -0500)
committercash <cash.costello@gmail.com>
Sun, 20 Nov 2011 23:41:34 +0000 (18:41 -0500)
13 files changed:
actions/photos/admin/settings.php [moved from actions/admin/settings.php with 85% similarity]
activate.php [new file with mode: 0644]
classes/TidypicsAlbum.php
deactivate.php [new file with mode: 0644]
languages/en.php
pages/photos/image/view.php [new file with mode: 0644]
pages/photos/owner.php
pages/viewimage.php [deleted file]
start.php
views/default/admin/settings/tidypics.php [new file with mode: 0644]
views/default/forms/photos/admin/settings.php
views/default/object/album/full.php
views/default/object/image/full.php

similarity index 85%
rename from actions/admin/settings.php
rename to actions/photos/admin/settings.php
index d3801f655bcf9fdd8ff40a09a5e829d0615ab2e6..a401d9bf326a97322ac19df7087de8d76d4cb99f 100644 (file)
@@ -1,25 +1,24 @@
 <?php
 /**
- * Save settings of Tidypics
+ * Save Tidypics plugin settings
  *
+ * @author Cash Costello
+ * @license http://www.gnu.org/licenses/gpl-2.0.html GNU General Public License v2
  */
 
-global $CONFIG;
+$plugin = elgg_get_plugin_from_id('tidypics');
 
-admin_gatekeeper();
-action_gatekeeper();
-
-
-// Params array (text boxes and drop downs)
 $params = get_input('params');
-$result = false;
 foreach ($params as $k => $v) {
-       if (!set_plugin_setting($k, $v, 'tidypics')) {
-               register_error(sprintf(elgg_echo('plugins:settings:save:fail'), 'tidypics'));
-               forward($_SERVER['HTTP_REFERER']);
+       if (!$plugin->setSetting($k, $v)) {
+               register_error(elgg_echo('plugins:settings:save:fail', array('tidypics')));
+               forward(REFERER);
        }
 }
 
+system_message(elgg_echo('tidypics:settings:save:ok'));
+forward(REFERER);
+
 // check boxes
 if (is_array(get_input('download_link'))) { // this can be done due to way Elgg uses checkboxes
        set_plugin_setting('download_link', 'enabled', 'tidypics');
@@ -76,8 +75,3 @@ $image_sizes['thumb_image_width'] = get_input('thumb_width');
 $image_sizes['thumb_image_height'] = get_input('thumb_width');
 set_plugin_setting('image_sizes', serialize($image_sizes), 'tidypics');
 
-
-
-system_message(elgg_echo('tidypics:settings:save:ok'));
-
-forward($_SERVER['HTTP_REFERER']);
diff --git a/activate.php b/activate.php
new file mode 100644 (file)
index 0000000..ca74c61
--- /dev/null
@@ -0,0 +1,32 @@
+<?php
+/**
+ * Activate Tidypics
+ * 
+ * @author Cash Costello
+ * @license http://www.gnu.org/licenses/gpl-2.0.html GNU General Public License v2
+ */
+
+// register classes
+if (get_subtype_id('object', 'album')) {
+       update_subtype('object', 'album', 'TidypicsAlbum');
+} else {
+       add_subtype('object', 'album', 'TidypicsAlbum');
+}
+if (get_subtype_id('object', 'image')) {
+       update_subtype('object', 'image', 'TidypicsImage');
+} else {
+       add_subtype('object', 'image', 'TidypicsImage');
+}
+
+// set default settings
+$plugin = elgg_get_plugin_from_id('tidypics');
+
+$defaults = array(
+       'tagging' => true,
+);
+
+foreach ($defaults as $name => $value) {
+       if ($plugin->getSetting($name) === null) {
+               $plugin->setSetting($name, $value);
+       }
+}
index 18fa556e3908311a2eae59975b72b7fa14b0ed2f..f1fd20669a093272b65d2f7dcfa2dfb5d2211700 100644 (file)
@@ -9,12 +9,20 @@
 
 
 class TidypicsAlbum extends ElggObject {
-       protected function initialise_attributes() {
-               parent::initialise_attributes();
+
+       /**
+        * Sets the internal attributes
+        */
+       protected function initializeAttributes() {
+               parent::initializeAttributes();
 
                $this->attributes['subtype'] = "album";
        }
 
+       /**
+        * Constructor
+        * @param mixed $guid
+        */
        public function __construct($guid = null) {
                parent::__construct($guid);
        }
@@ -36,6 +44,8 @@ class TidypicsAlbum extends ElggObject {
                
                mkdir(tp_get_img_dir() . $this->guid, 0755, true);
 
+               elgg_trigger_event('create', 'album', $this);
+
                return true;
        }
 
@@ -68,7 +78,7 @@ class TidypicsAlbum extends ElggObject {
         * @param int $offset
         * @return array
         */
-       public function getImages($limit, $offset=0) {
+       public function getImages($limit, $offset = 0) {
                $imageList = $this->getImageList();
                if ($offset > count($imageList)) {
                        return array();
@@ -90,7 +100,7 @@ class TidypicsAlbum extends ElggObject {
         * @param int $offset
         * @return string
         */
-       public function viewImages($limit, $offset=0) {
+       public function viewImages($limit, $offset = 0) {
                $images = $this->getImages($limit, $offset);
                if (count($images) == 0) {
                        return '';
@@ -101,9 +111,16 @@ class TidypicsAlbum extends ElggObject {
                return elgg_view_entity_list($images, $count, $offset, $limit, false, false, true);
        }
 
+       /**
+        * Get the URL for the album cover image
+        * 
+        * @param string $size
+        * @return string
+        */
        public function getCoverImageURL($size = 'small') {
-               if ($this->cover) {
-                       $url = "pg/photos/thumbnail/$this->cover/$size/";
+               $coverGuid = $this->getCoverImageGuid();
+               if ($coverGuid) {
+                       $url = "pg/photos/thumbnail/$coverGuid/$size/";
                } else {
                        $url = "mod/tidypics/graphics/empty_album.png";
                }
@@ -237,16 +254,19 @@ class TidypicsAlbum extends ElggObject {
        public function removeImage($imageGuid)  {
                $imageList = $this->getImageList();
                $key = array_search($imageGuid, $imageList);
-               if ($key === FALSE) {
-                       return FALSE;
+               if ($key === false) {
+                       return false;
                }
                
                unset($imageList[$key]);
                $this->setImageList($imageList);
 
-               return TRUE;
+               return true;
        }
 
+       /**
+        * Delete all the images in this album
+        */
        protected function deleteImages() {
                // get all the images from this album as long as less than 999 images
                $images = elgg_get_entities(array(
@@ -264,6 +284,9 @@ class TidypicsAlbum extends ElggObject {
                }
        }
 
+       /**
+        * Delete the album directory on disk
+        */
        protected function deleteAlbumDir() {
                $tmpfile = new ElggFile();
                $tmpfile->setFilename('image/' . $this->guid . '/._tmp_del_tidypics_album_');
diff --git a/deactivate.php b/deactivate.php
new file mode 100644 (file)
index 0000000..55191a9
--- /dev/null
@@ -0,0 +1,10 @@
+<?php
+/**
+ * Deactive Tidypics
+ *
+ * @author Cash Costello
+ * @license http://www.gnu.org/licenses/gpl-2.0.html GNU General Public License v2
+ */
+
+update_subtype('object', 'album');
+update_subtype('object', 'image');
index 63d4632c601e95f9c8306737e61fdda2324b1bb6..e93ee31971e97eff85a9ab3a3d8ad2f0b42b244c 100644 (file)
@@ -11,6 +11,7 @@ $english = array(
                        'photos' => "Photos",
                        'album' => "Photo Album",
                        'albums' => "Photo Albums",
+                       'admin:settings:tidypics' => 'Tidypics',
 
                        'photos:add' => "Create album",
                        'images:upload' => "Upload photos",
@@ -21,7 +22,7 @@ $english = array(
                        'album:user' => "%s's photo albums",
                        'album:friends' => "Friends' photo albums",
                        'album:all' => "All site photo albums",
-                       'album:group' => "Group albums",
+                       'photos:group' => "Group photos",
                        'item:object:image' => "Photos",
                        'item:object:album' => "Albums",
                        'tidypics:uploading:images' => "Please wait. Uploading images.",
diff --git a/pages/photos/image/view.php b/pages/photos/image/view.php
new file mode 100644 (file)
index 0000000..d9231eb
--- /dev/null
@@ -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);
index f6582e32617c2381868bb430334460b44ddeecff..214cd2e37248c78d5dc508a3c4734cc92454609a 100644 (file)
@@ -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);
diff --git a/pages/viewimage.php b/pages/viewimage.php
deleted file mode 100644 (file)
index 890f7e8..0000000
+++ /dev/null
@@ -1,62 +0,0 @@
-<?php
-
-/**
- * Tidypics image view
- *
- * Display a view of a single image
- */
-
-// Load Elgg engine
-include_once dirname(dirname(dirname(dirname(__FILE__)))) . "/engine/start.php";
-
-// if this page belongs to a closed group, prevent anyone outside group from seeing
-if (is_callable('group_gatekeeper')) {
-       group_gatekeeper();
-}
-
-// get the album entity
-$photo_guid = (int) get_input('guid');
-$photo = get_entity($photo_guid);
-
-// panic if we can't get it
-if (!$photo) {
-       forward();
-}
-
-// set page owner based on owner of photo album
-set_page_owner($photo->owner_guid);
-$album = get_entity($photo->container_guid);
-if ($album) {
-       $owner_guid = $album->container_guid;
-       if ($owner_guid) {
-               set_page_owner($owner_guid);
-       }
-}
-
-
-$page_owner = page_owner_entity();
-if ($page_owner instanceof ElggGroup) {
-       add_submenu_item(       sprintf(elgg_echo('album:group'),$page_owner->name),
-                       $CONFIG->wwwroot . "pg/photos/owned/" . $page_owner->username);
-}
-
-if (can_write_to_container(0, $album->container_guid)) {
-       add_submenu_item(       elgg_echo('image:edit'),
-                       $CONFIG->wwwroot . 'pg/photos/edit/' . $photo_guid,
-                       'photos');
-       $ts = time();
-       $token = generate_action_token($ts);
-       add_submenu_item(       elgg_echo('image:delete'),
-                       $CONFIG->wwwroot . 'action/tidypics/delete?guid=' . $photo_guid . '&amp;__elgg_token=' . $token . '&amp;__elgg_ts=' . $ts,
-                       'photos',
-                       true);
-}
-
-
-$title = $photo->title;
-$area2 = elgg_view_title($title);
-$area2 .= elgg_view_entity($photo, true);
-
-$body = elgg_view_layout('two_column_left_sidebar', '', $area2);
-
-page_draw($title, $body);
index fff4ebf8d274efe0178738a8a4b82c76445e4473..cd3a5158daa9aef903876a9b2bd3ab2c09cd5f92 100644 (file)
--- a/start.php
+++ b/start.php
@@ -12,9 +12,8 @@ elgg_register_event_handler('init', 'system', 'tidypics_init');
  * Tidypics plugin initialization
  */
 function tidypics_init() {
-       global $CONFIG;
 
-       // include core libraries
+       // Include core libraries
        require dirname(__FILE__) . "/lib/tidypics.php";
        
        // Set up site menu
@@ -27,6 +26,13 @@ function tidypics_init() {
        // Extend CSS
        elgg_extend_view('css/elgg', 'tidypics/css');
 
+       // Add photos link to owner block/hover menus
+       elgg_register_plugin_hook_handler('register', 'menu:owner_block', 'tidypics_owner_block_menu');
+
+       // Add admin menu item
+       elgg_register_admin_menu_item('configure', 'tidypics', 'settings');
+
+/*
        // Extend hover-over and profile menu
        elgg_extend_view('profile/menu/links','tidypics/hover_menu');
 
@@ -75,9 +81,9 @@ function tidypics_init() {
 
        // ajax handler for uploads when use_only_cookies is set
        register_plugin_hook('forward', 'system', 'tidypics_ajax_session_handler');
-
+*/
        // Register actions
-       $base_dir = $CONFIG->pluginspath . "tidypics/actions/photos";
+       $base_dir = elgg_get_plugins_path() . 'tidypics/actions/photos';
        elgg_register_action("photos/album/save", "$base_dir/album/save.php");
        elgg_register_action("photos/delete", "$base_dir/delete.php");
        elgg_register_action("photos/image/upload", "$base_dir/image/upload.php");
@@ -89,11 +95,13 @@ function tidypics_init() {
        register_action("tidypics/addtag", false, "$base_dir/addtag.php");
        register_action("tidypics/deletetag", false, "$base_dir/deletetag.php");
 
-       register_action("tidypics/admin/settings", false, "$base_dir/admin/settings.php", true);
+       elgg_register_action("photos/admin/settings", "$base_dir/admin/settings.php", 'admin');
        register_action("tidypics/admin/upgrade", false, "$base_dir/admin/upgrade.php", true);
 
-       elgg_register_library('tidypics:upload', $CONFIG->pluginspath . 'tidypics/lib/upload.php');
-       elgg_register_library('tidypics:resize', $CONFIG->pluginspath . 'tidypics/lib/resize.php');
+       // Register libraries
+       $base_dir = elgg_get_plugins_path() . 'tidypics/lib';
+       elgg_register_library('tidypics:upload', "$base/upload.php");
+       elgg_register_library('tidypics:resize', "$base/resize.php");
 }
 
 /**
@@ -263,31 +271,25 @@ function tidypics_page_handler($page) {
 
                case "owned":  // albums owned by container entity
                case "owner":
-                       if (isset($page[1])) {
-                               set_input('username', $page[1]);
-                       }
                        require "$base/owner.php";
                        break;
 
                case "friends": // albums of friends
-                       if (isset($page[1])) {
-                               set_input('username', $page[1]);
-                       }
                        require "$base/friends.php";
                        break;
 
+               case "group": // albums of a group
+                       require "$base/owner.php";
+                       break;
+
                case "album": // view an album individually
-                       if (isset($page[1])) {
-                               set_input('guid', $page[1]);
-                       }
+                       set_input('guid', $page[1]);
                        require "$base/album/view.php";
                        break;
 
                case "new":  // create new album
                case "add":
-                       if (isset($page[1])) {
-                               set_input('guid', $page[1]);
-                       }
+                       set_input('guid', $page[1]);
                        require "$base/album/add.php";
                        break;
 
@@ -392,6 +394,25 @@ function tidypics_page_handler($page) {
        return true;
 }
 
+/**
+ * Add a menu item to an ownerblock
+ */
+function tidypics_owner_block_menu($hook, $type, $return, $params) {
+       if (elgg_instanceof($params['entity'], 'user')) {
+               $url = "photos/owner/{$params['entity']->username}";
+               $item = new ElggMenuItem('photos', elgg_echo('photos'), $url);
+               $return[] = $item;
+       } else {
+               if ($params['entity']->blog_enable != "no") {
+                       $url = "photos/group/{$params['entity']->guid}/all";
+                       $item = new ElggMenuItem('photos', elgg_echo('photos:group'), $url);
+                       $return[] = $item;
+               }
+       }
+
+       return $return;
+}
+
 /**
  * Override permissions for group albums and images
  *
diff --git a/views/default/admin/settings/tidypics.php b/views/default/admin/settings/tidypics.php
new file mode 100644 (file)
index 0000000..aaaebd3
--- /dev/null
@@ -0,0 +1,11 @@
+<?php
+/**
+ * Admin page
+ *
+ * @author Cash Costello
+ * @license http://www.gnu.org/licenses/gpl-2.0.html GNU General Public License v2
+ */
+
+echo elgg_view('output/longtext', array('value' => elgg_echo('tidypics:admin:instructions')));
+
+echo elgg_view_form('photos/admin/settings');
index 06b3f4cb931719d7129b86c47c2bb21d9634c80c..ea1e12de83e1df01e53bd314b624769d38569779 100644 (file)
@@ -3,18 +3,84 @@
  * Tidypics admin settings form body
  */
 
-$plugin = find_plugin_settings('tidypics');
+$plugin = elgg_get_plugin_from_id('tidypics');
+
+echo '<div>';
+$checked = $plugin->tagging ? 'checked' : false;
+echo elgg_view('input/checkbox', array(
+       'name' => 'params[tagging]',
+       'value' => true,
+       'checked' => (bool)$plugin->tagging,
+));
+echo ' ' . elgg_echo('tidypics:settings:tagging');
+echo '</div>';
+
+// Thumbnail sizes
+echo '<div>';
+echo '<h3>' . elgg_echo('tidypics:settings:heading:sizes') . '</h3>';
+echo "<h6>You must edit the css if you change the default sizes</h6>";
+$image_sizes = unserialize($plugin->image_sizes);
+
+/*
+if(!$image_sizes) {
+       $image_sizes = array(); // set default values
+       $image_sizes['large_image_width'] = $image_sizes['large_image_height'] = 600;
+       $image_sizes['small_image_width'] = $image_sizes['small_image_height'] = 153;
+       $image_sizes['thumb_image_width'] = $image_sizes['thumb_image_height'] = 60;
+} else {
+       $image_sizes = unserialize($image_sizes);
+}
+ *
+ */
+
+$sizes = array('large', 'small', 'tiny');
+foreach ($sizes as $size) {
+       echo elgg_echo("tidypics:settings:{$size}size");
+       echo ' width: ';
+       echo elgg_view('input/text', array(
+               'name' => "{$size}_thumb_width",
+               'value' => $image_sizes["{$size}_image_width"],
+               'style' => 'width: 150px;'
+       ));
+       echo ' height: ';
+       echo elgg_view('input/text', array(
+               'name' => "{$size}_thumb_height",
+               'value' => $image_sizes["{$size}_image_height"],
+               'style' => 'width: 150px;'
+       ));
+}
+
+$form_body .= 'width: <input style="width: 20%;" type="text" name="large_thumb_width" value=' . "\"{$image_sizes['large_image_width']}\"" . ' class="input-text" />&nbsp;&nbsp;&nbsp;';
+$form_body .= 'height: <input style="width: 20%;" type="text" name="large_thumb_height" value=' . "\"{$image_sizes['large_image_height']}\"" . ' class="input-text" /></p>';
+
+$form_body .= "<p>" . elgg_echo('tidypics:settings:smallsize') . "<br />";
+$form_body .= 'width and height: <input style="width: 20%;" type="text" name="small_thumb_width" value=' . "\"{$image_sizes['small_image_width']}\"" . ' class="input-text" />&nbsp;&nbsp;&nbsp;';
+//$form_body .= 'height: <input style="width: 20%;" type="text" name="small_thumb_height" value=' . "\"{$image_sizes['small_image_height']}\"" . ' class="input-text" /></p>';
+
+$form_body .= "<p>" . elgg_echo('tidypics:settings:thumbsize') . "<br />";
+$form_body .= 'width and height: <input style="width: 20%;" type="text" name="thumb_width" value=' . "\"{$image_sizes['thumb_image_width']}\"" . ' class="input-text" />&nbsp;&nbsp;&nbsp;';
+//$form_body .= 'height: <input style="width: 20%;" type="text" name="thumb_height" value=' . "\"{$image_sizes['thumb_image_height']}\"" . ' class="input-text" /></p>';
+echo '</div>';
+
+echo elgg_view('input/submit', array('value' => elgg_echo("save")));
+
+return true;
 
 
 // Main settings
-$form_body = '<h3>' . elgg_echo('tidypics:settings:heading:main') . '</h3>';
+echo '<h3>' . elgg_echo('tidypics:settings:heading:main') . '</h3>';
 
 // Tagging
-$tagging = $plugin->tagging;
-if (!$tagging) {
-       $tagging = "enabled";
-}
-$form_body .= '<p class="admin_debug">' . elgg_view("input/checkboxes", array('options' => array(elgg_echo('tidypics:settings:tagging') => 'enabled'), 'internalname' => 'tagging', 'value' => $tagging )) . "</p>";
+$tagging = $plugin->tagging ? $plugin->tagging : 'enabled';
+echo '<div>';
+echo elgg_view("input/checkboxes", array(
+       'name' => 'tagging',
+       'value' => $tagging,
+       'options' => array(
+               elgg_echo('tidypics:settings:tagging') => 'enabled'
+       ),
+));
+echo "</div>";
 
 // Download Link
 $download_link = $plugin->download_link;
index 4d2d8c88ba27999a96b08c384cbe5682753ff1b6..e350d232772d00a18103308307b003b1bc7d0ae1 100644 (file)
@@ -41,9 +41,13 @@ $params = array(
 $params = $params + $vars;
 $summary = elgg_view('object/elements/summary', $params);
 
-$body = elgg_view('output/longtext', array(
-       'value' => $album->description,
-));
+$body = '';
+if ($album->description) {
+       $body = elgg_view('output/longtext', array(
+               'value' => $album->description,
+               'class' => 'mbm',
+       ));
+}
 $body .= elgg_list_entities(array(
        'type' => 'object',
        'subtype' => 'image',
index a4abe2dafcb3fabac023b6d4630c24fed41379c0..d08c03f9c74f73361b868b64d08c5d260782c738 100644 (file)
@@ -1,2 +1,68 @@
 <?php
+/**
+ * Full view of an image
+ *
+ * @uses $vars['entity'] TidypicsImage
+ *
+ * @author Cash Costello
+ * @license http://www.gnu.org/licenses/gpl-2.0.html GNU General Public License v2
+ */
 
+$image = $photo = $vars['entity'];
+
+$img = elgg_view('output/img', array(
+       'src' => $image->getSrcURL('large'),
+       'alt' => $image->getTitle(),
+       'class' => 'elgg-photo',
+));
+
+$content = elgg_view('output/url', array(
+       'text' => $img,
+       'href' => $image->getURL(),
+));
+
+$owner_link = elgg_view('output/url', array(
+       'href' => "photos/owner/" . $photo->getOwnerEntity()->username,
+       'text' => $photo->getOwnerEntity()->name,
+));
+$author_text = elgg_echo('byline', array($owner_link));
+
+$owner_icon = elgg_view_entity_icon($photo->getOwnerEntity(), 'tiny');
+
+$metadata = elgg_view_menu('entity', array(
+       'entity' => $vars['entity'],
+       'handler' => 'photos',
+       'sort_by' => 'priority',
+       'class' => 'elgg-menu-hz',
+));
+
+$subtitle = "$author_text $date $categories $comments_link";
+
+$params = array(
+       'entity' => $photo,
+       'title' => false,
+       'metadata' => $metadata,
+       'subtitle' => $subtitle,
+       'tags' => $tags,
+);
+$list_body = elgg_view('object/elements/summary', $params);
+
+$params = array('class' => 'mbl');
+$summary = elgg_view_image_block($owner_icon, $list_body, $params);
+
+echo $summary;
+
+if ($photo->description) {
+       echo elgg_view('output/longtext', array(
+               'value' => $photo->description,
+               'class' => 'mbl',
+       ));
+}
+
+echo '<div class="tidypics-wrapper-photo">';
+echo elgg_view('tidypics/tagging/help');
+echo elgg_view('tidypics/tagging/select', array('photo' => $photo));
+echo $content;
+echo '</div>';
+
+       echo elgg_view_comments($photo);
\ No newline at end of file