Also hiding slideshow and sort links for albums with no images.
$guids = get_input('guids');
$guids = explode(',', $guids);
-$album->setImageList($guids);
+if ($album->setImageList($guids)) {
+ system_message(elgg_echo('tidypics:album:sorted', array($album->getTitle())));
+} else {
+ register_error(elgg_echo('tidypics:album:could_not_sort', array($album->getTitle())));
+}
-system_message(elgg_echo('tidypics:album:sorted', array($album->getTitle())));
forward($album->getURL());
\ No newline at end of file
$list = unserialize($listString);
// if empty don't need to check the permissions.
- if (!$list) {
+ if (!$list || $list[0] == '') {
return array();
}
* @param array $list An indexed array of image guids
*/
public function setImageList($list) {
+ // validate data
+ foreach ($list as $guid) {
+ if (!filter_var($guid, FILTER_VALIDATE_INT)) {
+ return false;
+ }
+ }
+
$listString = serialize($list);
- $this->orderedImages = $listString;
+ return $this->orderedImages = $listString;
}
/**
'tidypics:uploader:instructs' => 'There are three easy steps for adding photos to your album using this uploader: choosing, uploading, and describing them. If you do not have Flash, there is also a <a href="%s">basic uploader</a> available.',
'tidypics:uploader:basic' => 'You can upload up to 10 photos at a time (%s MB maximum per photo)',
'tidypics:sort:instruct' => 'Sort the album photos by dragging and dropping the images. Then click the save button.',
+ 'tidypics:sort:no_images' => 'No images found to sort. Upload images using the link above.',
// albums
'album:num' => '%s photos',
'album:save_cover_image' => 'Cover image saved.',
'tidypics:settings:save:ok' => 'Successfully saved the Tidypics plugin settings',
'tidypics:album:sorted' => 'The album %s is sorted',
+ 'tidypics:album:could_not_sort' => 'Could not sort the album %s. Make sure there are images in the album and try again.',
'tidypics:upgrade:success' => 'Upgrade of Tidypics a success',
//Error messages
elgg_push_breadcrumb($album->getTitle(), $album->getURL());
elgg_push_breadcrumb(elgg_echo('album:sort'));
+elgg_register_menu_item('title', array(
+ 'name' => 'upload',
+ 'href' => 'photos/upload/' . $album->getGUID(),
+ 'text' => elgg_echo('images:upload'),
+ 'link_class' => 'elgg-button elgg-button-action',
+));
-$content = elgg_view_form('photos/album/sort', array(), array('album' => $album));
+if ($album->getSize()) {
+ $content = elgg_view_form('photos/album/sort', array(), array('album' => $album));
+} else {
+ $content = elgg_echo('tidypics:sort:no_images');
+}
$body = elgg_view_layout('content', array(
'filter' => false,
}
}
- if (elgg_instanceof($entity, 'object', 'album')) {
+ // only show these options if there are images
+ if (elgg_instanceof($entity, 'object', 'album') && $entity->getSize() > 0) {
$url = $entity->getURL() . '?limit=50&view=rss';
$url = elgg_format_url($url);
$slideshow_link = "javascript:PicLensLite.start({maxScale:0, feedUrl:'$url'})";
* Group blog module
*/
-$group = elgg_get_page_owner_entity();
+$group = $vars['entity'];
if ($group->photos_enable == "no") {
return true;