Posted on: 09/04/02 07:08pm
By: Anonymous (Anonymous)
It always shows me "no albums found" thing..i have 3 albums created and everything configured right..what could be the problem??
Here is the code im talking about:
/**
* This is the function that returns a random image from the Gallery
*
* NOTE: this does not like albums with no pictures in it!
*
*/
function phpblock_gallery()
{
global $_CONF;
// Location of the Gallery album directory
$path_gallery_albums = $_CONF['path'] . 'screenshots/gallery';
// URL to the gallery
$gallery_url = $_CONF['site_url'] . '/screenshots';
// URL to album directory
$gallery_album_url = $_CONF['site_url'] . '/screenshots/gallery';
// Bail if we have a bad path
if (!is_dir($path_gallery_albums)) return "invalid directory";
// Open album directory
$fd = opendir($path_gallery_albums);
$albums = array();
$index = 1;
// Load all albums into an arrray. NOTE: this should be modified at
// some point to ignore empty albums!!!!!!
while (($f = @readdir($fd)) == TRUE) {
if (is_dir($path_gallery_albums . $f) && !ereg('hidden',$f) && $f <> '.' && $f <> '..' && $f <> 'CVS' && ($f <> '.users')) {
clearstatcache();
$albums[$index] = $f;
$index++;
}
}
closedir($fd);
if (count($albums) == 0) return $retval .= "no albums found";
// Randomly select an album from the array
mt_srand((double)microtime()*1000000);
$indexr = (mt_rand(1, count($albums)));
$rand_album = $albums[$indexr];
// Now get a random picture from this album
$thepic = phpblock_random_files($path_gallery_albums . $rand_album);
$pos = strpos($thepic, '.');
$pic_prefix = substr($thepic, 0, $pos);
// build HTML output and return it
$retval .= "<div align=center> <a href=\"";
$retval .= $gallery_url . '/view_photo.php?set_albumName=' . $rand_album . '&id=' . $pic_prefix;
$retval .= "\">";
$retval .= "<img border=0 src=\"";
$retval .= $gallery_album_url . '/' . $rand_album . '/' . $thepic;
$retval .= "\">";
$retval .= "</a> <br></div>\n";
return $retval;
}
/**
* Given an album this will return a random Gallery thumbnail from that album
*
* @g string Path to gallery album to get a random image from
*
**/
function phpblock_random_files($g)
{
// Open directory
$fd = opendir($g);
$pics = array();
$index = 1;
// Loop through directory inserting all thumbnails into an array. Do not add
// .gif images because netpbm can't convert them.
while (($f = @readdir($fd)) == TRUE) {
if ($f <> '.' && $f <> '..' && $f <> 'CVS' && strpos($f,'thumb') && !strpos(strtolower($f),'.gif')) {
clearstatcache();
$pics[$index] = $f;
$index++;
}
}
closedir($fd);
if ($index > 2) {
mt_srand((double)microtime()*1000000);
$indexr = (mt_rand(1, count($pics)));
} else {
$indexr = 1;
}
// Return image name
return $pics[$indexr];
}
Random Gallery Photo Display Block
Posted on: 09/05/02 05:09am
By: vinny
If you used the 'standard' installation of gallery it should have created two sub-directories. 'gallery' and 'albums'. If this is the case, you're conf variables should probably read:
$path_gallery_albums = $_CONF['path'] . 'screenshots/albums';
$gallery_url = $_CONF['site_url'] . '/screenshots/gallery';
$gallery_album_url = $_CONF['site_url'] . '/screenshots/albums';
If you post more details about your configuration we may be able to give more detailed help. Also, if you don't mind, the url of your site would be helpful also.
-Vinny
Random Gallery Photo Display Block
Posted on: 09/05/02 09:56am
By: Anonymous (Anonymous)
/screenshots/gallery is the path to the ablums..
Random Gallery Photo Display Block
Posted on: 09/05/02 01:32pm
By: Anonymous (ken)
I believe squatty was having the same problem. Does your cache file
contain anything? His was being created by the program, but empty.
Try defining the cache file /tmp or away from the album directory. That
fixed it for him.
Also, don't create file, let the program create it. Otherwise it'll think it
has already done it and will wait a while until it expires (think it is once a
day by default).
Random Gallery Photo Display Block
Posted on: 09/05/02 06:22pm
By: efarmboy
Ken, this looks to be the original random photo block and not the New Gallery based API one that we have been having fun with.
Blaine
Random Gallery Photo Display Block
Posted on: 09/06/02 11:06am
By: Anonymous (ken)
Doh, I hadn't looked at the code.