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
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

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.