aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--classes/TidypicsAlbum.php36
-rw-r--r--languages/en.php1
-rw-r--r--manifest.xml2
-rw-r--r--views/default/object/image/full.php13
-rw-r--r--views/default/object/image/navigation.php34
-rw-r--r--views/default/photos/css.php14
6 files changed, 77 insertions, 23 deletions
diff --git a/classes/TidypicsAlbum.php b/classes/TidypicsAlbum.php
index e5a8e2c0c..e04344a6b 100644
--- a/classes/TidypicsAlbum.php
+++ b/classes/TidypicsAlbum.php
@@ -207,41 +207,45 @@ class TidypicsAlbum extends ElggObject {
}
/**
- * Get the GUID of the image before the current one
+ * Get the previous image in the album
*
- * @param int $currentGuid
- * @return int
+ * @param int $guid GUID of the current image
+ * @return TidypicsImage
*/
- public function getPreviousImageGuid($currentGuid) {
+ public function getPreviousImage($guid) {
$imageList = $this->getImageList();
- $key = array_search($currentGuid, $imageList);
+ $key = array_search($guid, $imageList);
if ($key === FALSE) {
- return 0;
+ return null;
}
$key--;
if ($key < 0) {
- return 0;
+ return get_entity(end($imageList));
}
- return $imageList[$key];
+ return get_entity($imageList[$key]);
}
/**
- * Get the GUID of the image after the current one
+ * Get the next image in the album
*
- * @param int $currentGuid
- * @return int
+ * @param int $guid GUID of the current image
+ * @return TidypicsImage
*/
- public function getNextImageGuid($currentGuid) {
+ public function getNextImage($guid) {
$imageList = $this->getImageList();
- $key = array_search($currentGuid, $imageList);
+ $key = array_search($guid, $imageList);
if ($key === FALSE) {
- return 0;
+ return null;
}
$key++;
if ($key >= count($imageList)) {
- return 0;
+ return get_entity($imageList[0]);
}
- return $imageList[$key];
+ return get_entity($imageList[$key]);
+ }
+
+ public function getIndex($guid) {
+ return array_search($guid, $this->getImageList()) + 1;
}
/**
diff --git a/languages/en.php b/languages/en.php
index c701f98f4..e7d7bb988 100644
--- a/languages/en.php
+++ b/languages/en.php
@@ -126,6 +126,7 @@ $english = array(
'image:none' => "No images have been added yet.",
'image:back' => "Previous",
'image:next' => "Next",
+ 'image:index' => "%u of %u",
// tagging
'tidypics:taginstruct' => 'Select area that you want to tag',
diff --git a/manifest.xml b/manifest.xml
index 53181fc29..b955ef6bb 100644
--- a/manifest.xml
+++ b/manifest.xml
@@ -2,7 +2,7 @@
<plugin_manifest xmlns="http://www.elgg.org/plugin_manifest/1.8">
<name>Tidypics Photo Gallery</name>
<author>Cash Costello</author>
- <version>1.8.0</version>
+ <version>1.8.0-preview1</version>
<description>A photo gallery with albums, tagging, and a slideshow.</description>
<category>content</category>
<category>multimedia</category>
diff --git a/views/default/object/image/full.php b/views/default/object/image/full.php
index f866e432d..48ed40876 100644
--- a/views/default/object/image/full.php
+++ b/views/default/object/image/full.php
@@ -46,6 +46,13 @@ $summary = elgg_view_image_block($owner_icon, $list_body, $params);
echo $summary;
+echo '<div class="tidypics-wrapper-photo">';
+echo elgg_view('object/image/navigation', $vars);
+//echo elgg_view('tidypics/tagging/help');
+//echo elgg_view('tidypics/tagging/select', array('photo' => $photo));
+echo $img;
+echo '</div>';
+
if ($photo->description) {
echo elgg_view('output/longtext', array(
'value' => $photo->description,
@@ -53,10 +60,4 @@ if ($photo->description) {
));
}
-echo '<div class="tidypics-wrapper-photo">';
-echo elgg_view('tidypics/tagging/help');
-echo elgg_view('tidypics/tagging/select', array('photo' => $photo));
-echo $img;
-echo '</div>';
-
echo elgg_view_comments($photo);
diff --git a/views/default/object/image/navigation.php b/views/default/object/image/navigation.php
new file mode 100644
index 000000000..155b76364
--- /dev/null
+++ b/views/default/object/image/navigation.php
@@ -0,0 +1,34 @@
+<?php
+/**
+ * Photo navigation
+ *
+ * @uses $vars['entity']
+ */
+
+$photo = $vars['entity'];
+
+$album = $photo->getContainerEntity();
+$previous_photo = $album->getPreviousImage($photo->getGUID());
+$next_photo = $album->getNextImage($photo->getGUID());
+$size = $album->getSize();
+$index = $album->getIndex($photo->getGUID());
+
+echo '<ul class="elgg-menu elgg-menu-hz tidypics-album-nav">';
+echo '<li>';
+echo elgg_view('output/url', array(
+ 'text' => elgg_view_icon('arrow-left'),
+ 'href' => $previous_photo->getURL(),
+));
+echo '</li>';
+
+echo '<li>';
+echo '<span>' . elgg_echo('image:index', array($index, $size)) . '</span>';
+echo '</li>';
+
+echo '<li>';
+echo elgg_view('output/url', array(
+ 'text' => elgg_view_icon('arrow-right'),
+ 'href' => $next_photo->getURL(),
+));
+echo '</li>';
+echo '</ul>';
diff --git a/views/default/photos/css.php b/views/default/photos/css.php
index 119d98c09..18f225131 100644
--- a/views/default/photos/css.php
+++ b/views/default/photos/css.php
@@ -52,6 +52,20 @@
padding: 0 10px;
}
+.tidypics-album-nav {
+ margin: 3px 0;
+ text-align: center;
+ color: #aaa;
+}
+
+.tidypics-album-nav > li {
+ padding: 0 3px;
+}
+
+.tidypics-album-nav > li {
+ vertical-align: top;
+}
+
<?php
return true;
?>