need help creating custom slideshow

jlhughes

Joined: 2002-06-05
Posts: 81
Posted: Mon, 2005-05-02 04:57

I have a youth soccer web site where I've written a little app that searches all of the files in gallery's albums and returns an array of urls that match a search string. For instance, all the photos with "richard" in the file name. ( You can see how this works at http://rcubarcelona.org/roster )

I would like some help adapting this to the gallery slideshow so that I can feed the results into a modified version of slideshow.php. Has anyone done anything like this?

Here's the code I'm using to gather the images info I want to display. I'm sure this is adapted from something I got from here somewhere.

$dir_name = "/****/****/public_html/albums/";

if (!isset($player)) // no name was provided
{
$player = 'team_group';
}

//initialize $i
function GetDirArray($sPath,$player,$i)
{
global $player, $dir_name, $i, $match_list;
	//Load Directory Into Array
	$handle=opendir($sPath);
	while (false !== ($file = readdir($handle))) 
	{
        $retVal[count($retVal)] = $file;
	}
	//Clean up and sort
	closedir($handle); 	
	sort($retVal);
	//return $retVal;
	
	while (list($key, $val) = each($retVal))
	{
		if ($val != "." && $val != "..")
		{ 
	        	$path = str_replace("//","/",$sPath.$val);
				//prep for search; make sure no capitalization problems
				$lc_path = strtolower($path); 
				
				if ( (strpos($lc_path,$player) != 0) && (strpos($lc_path,'thumb') != 0) )
				{
				// this_match is the complete path to the image file
				$this_match = explode("/",$path);
				$file_match = count($this_match)-1;
				$album_match = count($this_match)-2;
				$match_list[$i]['imagename']=$this_match[$file_match];
				$match_list[$i]['imageurl']= $this_match[$album_match] . "/" . $this_match[$file_match];
				//debug aid
				//echo "$i  >   &amp; {$match_list[$i]['imageurl']} &amp;{$match_list[$i] ['imagename']}<br>";
				$i++;
	        	}
				//RECURSIVE TO TAKE CARE OF DIRECTORIES
				if (is_dir($sPath.$val))
	        	{
	        		GetDirArray($sPath.$val."/",$player,$i);
	        	}
	    	}
	}
}

$i=1;

GetDirArray($dir_name, $player,$i);

rsort($match_list);

$max_pics = count($match_list);

if (!isset($start)) //first time through
{
// 0 is first in array
$start=0;

if ($max_pics > 9) // more than 9 photos
{
$stop= 8;

} ELSE {
// subtract 1 from max_pics to adjust for 0 start
$stop = ($max_pics-1);
} // end if stop < 9
} // end if first time

:D Any help would be greatly appreciated.