From: Bharat M. <bh...@us...> - 2001-07-19 09:30:06
|
Update of /cvsroot/gallery/gallery In directory usw-pr-cvs1:/tmp/cvs-serv1419 Modified Files: upgrade_album.php Log Message: Reworked so that it finds all albums, including nested albums. Index: upgrade_album.php =================================================================== RCS file: /cvsroot/gallery/gallery/upgrade_album.php,v retrieving revision 1.3 retrieving revision 1.4 diff -u -r1.3 -r1.4 --- upgrade_album.php 2001/07/19 08:26:31 1.3 +++ upgrade_album.php 2001/07/19 09:30:02 1.4 @@ -40,10 +40,17 @@ * If we're not the admin, we can only upgrade the album that we're * looking at. */ -if (!$gallery->user->isAdmin()) { +if ($gallery->session->albumName) { $upgrade_albumname = $gallery->session->albumName; } +// Hack check +if (!$gallery->user->isAdmin() && !$upgrade_albumname) { + exit; +} + +$albumDB = new AlbumDB(); + function close_button() { print "<center>"; print "<form>"; @@ -78,7 +85,31 @@ } print "</ul>"; } -$albumDB = new AlbumDB(); + +function find_albums(&$results, $album="") { + global $gallery; + global $albumDB; + + if ($album) { + if ($album->versionOutOfDate()) { + $results[] = $album; + } + + $count = $album->numPhotos(1); + for ($j = 1; $j <= $count; $j++) { + $name = $album->isAlbumName($j); + if ($name) { + find_albums($results, $albumDB->getAlbumByName($name)); + } + } + } else { + $numAlbums = $albumDB->numAlbums($gallery->user); + for ($i = 1; $i <= $numAlbums; $i++) { + $album = $albumDB->getAlbum($gallery->user, $i); + find_albums($results, $album); + } + } +} ?> <html> @@ -116,13 +147,8 @@ exit; } -$numAlbums = $albumDB->numAlbums($gallery->user); -for ($i = 1; $i <= $numAlbums; $i++) { - $album = $albumDB->getAlbum($gallery->user, $i); - if ($album->versionOutOfDate()) { - $ood[] = $album; - } -} +$ood = array(); +find_albums($ood); if ($upgradeall && sizeof($ood)) { process($ood); |