Member
Member
jphilbert   2013-05-22, 16:56
#1
Is there any variable that will not show all albums when using the "getAlbums command?

This is what I do currently to get published/unpublished albums.
$albums = $gallery->getAlbums( null, null, null, null, true );
Administrator
Administrator
acrylian   2013-05-22, 17:41
#2
http://www.zenphoto.org/documentation/classes/Gallery.html#methodgetAlbums
The last one.
Member
Member
jphilbert   2013-05-23, 09:54
#3
Ok found a bug ... during testing this
$albums = $gallery->getAlbums( null, null, null, null, true );

Will not work if an unpublished album is under another unpublished album Sad
Administrator
Administrator
acrylian   2013-05-23, 10:06
#4
What exactly is the bug? If an album is unpublished it is inherited by all children as with rights and passwords.
Member
Member
jphilbert   2013-05-23, 14:21
#5
Lets break it down...
---------------------

2012 (main folder)
flowers (sub folder unpublished)
birds
insects
-----------------------
Now GetAlbums will list 2012 and flowers but anything under flowers will NOT show up..

Even with care listed as TRUE.
Administrator
Administrator
acrylian   2013-05-23, 16:55
#6
Sorry, the gallery class getAlbums only gets teh toplevel as on the index page. For sublevels you need to recursively use the album methods as well.
Member
Member
jphilbert   2013-05-23, 20:53
#7
any examples?? Or can you explian a bit more?
Member
Member
jphilbert   2013-05-23, 23:55
#8
I guess I have to revise this function

`
function getSubAlbums( $gallery, $album )
{
$list = array();
$albumObj = new Album( $gallery, $album );
$albumID = $albumObj->getID();
$parentID = getItemByID( "albums", $albumID );
if ( $albumObj->isDynamic() || !$albumID )
return $list;
$subalbums = $albumObj->getAlbums();
$subalbums = $parentID->getAlbums();
if ( is_array( $subalbums ) ) {
foreach ( $subalbums as $subalbum ) {
$list[] = $subalbum;
$list = array_merge( $list, getSubAlbums( $gallery, $subalbum ) );
} //$subalbums as $subalbum
} //is_array($subalbums)
return $list;
}
`
Member
Member
jphilbert   2013-05-24, 00:10
#9
I found the BUG it was me over looking my subalbums function SMH
`
function getSubAlbums( $gallery, $album )
{
$list = array();
$albumObj = new Album( $gallery, $album );
$albumID = $albumObj->getID();
$parentID = getItemByID( "albums", $albumID );
if ( $albumObj->isDynamic() || !$albumID )
return $list;
$subalbums = $albumObj->getAlbums( null, null, null, null, true );
$subalbums = $parentID->getAlbums( null, null, null, null, true );
if ( is_array( $subalbums ) ) {
foreach ( $subalbums as $subalbum ) {
$list[] = $subalbum;
$list = array_merge( $list, getSubAlbums( $gallery, $subalbum ) );
} //$subalbums as $subalbum
} //is_array($subalbums)
return $list;
}
`
Administrator
Administrator
acrylian   2013-05-24, 07:59
#10
So it is solved then?
Member
Member
jphilbert   2013-05-24, 14:44
#11
YEP solved ... false alarm. My main function with "getAlbums()" call my subalbums function I just missed that I needed to do getAlbums( null, null, null, null, true ) also so it can find all unpublished "NESTED" subfolders never had that situation before.
  
Powered By MyBB, © 2002-2026 MyBB Group.
Made with by Curves UI.