<?php
require_once './class.coverflow.php';
$width = 600; $height = 400;
set_time_limit( 180 );
$coversArray = array( // imageSRC imageTITLE URL array( './covers/coverflow10.jpg', ' ', './covers/coverflow10.jpg' ) , array( './covers/coverflow11.jpg', ' ', './covers/coverflow11.jpg' ) , array( './covers/coverflow20.jpg', ' ', './covers/coverflow20.jpg' ) , array( './covers/coverflow30.jpg', ' ', './covers/coverflow30.jpg' ) , array( './covers/coverflow31.jpg', ' ', './covers/coverflow31.jpg' ) , array( './covers/cfp_0.jpg', ' ', './covers/cfp_0.jpg' ) , array( './covers/cfp_1A.jpg', ' ', './covers/cfp_1A.jpg' ) , array( './covers/cfp_1B.jpg', ' ', './covers/cfp_1B.jpg' ) , array( './covers/noges.jpg', ' ', './covers/noges.jpg' ) , array( './covers/lill.jpg', ' ', './covers/lill.jpg' ) , array( './covers/saun.jpg', ' ', './covers/saun.jpg' ) , array( './covers/tamm.jpg', ' ', './covers/tamm.jpg' ) /**/ );
$countcoversArray = count($coversArray);
if( isset($_GET['cfp']) ) $centered = (int) $_GET['cfp']; else $centered = 0; if( isset($_GET['cft']) ) $cftype = $_GET['cft']; //coverFlow, gameCards, topSites else $cftype = 'coverFlow';
if( $centered < 0 ) $centered = 0; elseif( $centered < $countcoversArray ); else $centered = $countcoversArray-1;
switch($cftype){ case 'coverFlow': $imageCachefileSrc = './cache/cfp_'. $centered .'.jpg';$imageCachefileHtm = './cache/cfp_'. $centered .'.htm';break; case 'gameCards': $imageCachefileSrc = './cache/gcp_'. $centered .'.jpg';$imageCachefileHtm = './cache/gcp_'. $centered .'.htm';break; case 'topSites': $imageCachefileSrc = './cache/tsp_'. $centered .'.jpg';$imageCachefileHtm = './cache/tsp_'. $centered .'.htm';break; default:$imageCachefileSrc = './cache/cfp_'. $centered .'.jpg';$imageCachefileHtm = './cache/cfp_'. $centered .'.htm'; } //$cov->set_htmlImagemapName('coverflow1');
$echoCoverFlowHTML = '';
function createNoimage($topath='./cache/noimag.jpg', $nopath='./n0', $title='' ) { $noImgGD = imagecreatetruecolor(400, 300); $bg = imagecolorallocate($noImgGD, 255, 255, 255); $frame = imagecolorallocate($noImgGD, 0, 0, 255); $textcolor = imagecolorallocate($noImgGD, 127, 120, 0); $textcolor2 = imagecolorallocate($noImgGD, 0, 0, 0); imagefill($noImgGD, 0, 0, $bg); imageline($noImgGD, 10, 10, 390, 10, $frame); imageline($noImgGD, 390, 10, 390, 290, $frame); imageline($noImgGD, 390, 290, 10, 290, $frame); imageline($noImgGD, 10, 290, 10, 10, $frame); imagestring($noImgGD, 5, intval(400/2)-30, intval(300/2)-30, 'I M A G E', $textcolor); imagestring($noImgGD, 5, intval(400/4), intval(300/2)-10, 'Not valid image in path.', $textcolor); imagestring($noImgGD, 2, intval(400/8), intval(300/2)+40, $nopath , $textcolor2); imagestring($noImgGD, 3, intval(400/8), intval(300/2)+80, $title , $textcolor2); imagejpeg( $noImgGD, $topath, 90 ); } //createNoimage()
if( !is_file( $imageCachefileSrc ) ) {
$cov = new coverflow($width,$height); $cov->set_reflectionHeight(2.1); // 4.5 //$cov->set_bgWhite(); // default $cov->set_bgBlack();
switch($cftype){ case 'coverFlow': $cov->set_use_coverFlow();break; case 'gameCards': $cov->set_use_gameCards();break; case 'topSites': $cov->set_use_topSites();break; default:$cov->set_use_coverFlow(); } foreach( $coversArray as $coverId => $cover ) { if( $centered == $coverId ) { $url = $cover[2]; $target='_blank'; } else { $url = '?cfp=' . $coverId; $target='_self'; } if( is_file( $cover[0] ) && is_readable( $cover[0] ) ) $cov->set_cover($cover[0]); else { $noimagepath = './cache/tmp_'.md5($cover[0]).'.jpg'; if(strlen($cover[0]) > 32 ) { $cover_subst_path = substr($cover[0], -31 ); $ellip_0 = '...'; } else { $cover_subst_path = substr($cover[0], 0-strlen($cover[0]) ); $ellip_0 = ''; } if(strlen($cover[1]) > 32 ) { $cover_subst_title = substr($cover[1], 0, 32); $ellip_1 = '...'; } else { $cover_subst_title = substr($cover[1], 0, strlen($cover[1])); $ellip_1 = ''; } if( !is_file( $noimagepath ) && !is_readable($noimagepath ) ) createNoimage($noimagepath, $ellip_0.$cover_subst_path, $cover_subst_title.$ellip_1 ); $cov->set_cover( $noimagepath ); } $cov->set_htmlAtag($coverId, $cover[1], $url, $target ); } $cov->set_coverCentered( $centered );
$cov->get_imageJpeg( $imageCachefileSrc ); //$cov->get_imagePng( $imageSrc ); $imageHtmlToCache = '<h2>' . $coversArray[$centered][1] . '</h2>' . '<img src="'. $imageCachefileSrc .'" usemap="'.$cov->get_htmlImagemapName() .'" alt="_" width="'.$width.'" height="'.$height.'" border="0" />' . $cov->get_htmlImagemap(); file_put_contents_($imageCachefileHtm, $imageHtmlToCache ); $echoCoverFlowHTML = $imageHtmlToCache;
} else { $echoCoverFlowHTML = file_get_all ( $imageCachefileHtm ); } //Invisible, 0x0 images $BrowserCache = ''; for( $i = 0 ; $i < $countcoversArray; $i++ ) { if( is_file( './cache/cfp_'. $i .'.jpg' ) ) $BrowserCache .= '<img src="./cache/cfp_'. $i .'.jpg" width="0" height="0" border="0" alt="" />'; }
$pageLinks = "\n\n<p>"; for( $i = 0 ; $i < $countcoversArray; $i++ ) { if( $i > 0 ) $pageLinks .= '   '; if( $centered == $i ) $pageLinks .= '<span style="font-size:small;">' . ($i+1) . '</span>'; else $pageLinks .= '<a href="?cfp=' . $i . '&cft='.$cftype.'" style="font-size:large;">'. ($i+1) .'</a>'; } $pageLinks .="</p>\n\n";
echo '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <?xml version="1.0" encoding="ISO-8859-1" ?> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> <title>PHP Class coverFlow Example</title> <style> h2 { font-size:13pt;} a, a:link, a:hover, a:visited{ color:blue;text-decoration:none; } a:active { color:blue;text-decoration:underlined; } </style> <body style="background:white;" > <p style="margin: 0 0 0 0;padding:0 0 0 0;font-family:times;font-size:12pt;"><a href=".." style="color:#0000FF;text-decoration:none;"><<< Top Site</a></p> <h1>PHP Class coverFlow Example</h1> <p>Please visit my <a href="http://dreamplayer.deviantart.com/art/PHP-class-coverFlow-130480029">deviantART</a> or <a href="http://www.phpclasses.org/browse/package/5549.html">PHP Classes</a> page for information!</p> <p>Click on the centered image to see original or click on the smaller ones to move in gallery.</p> '
.'<p>Select type of presentation: <a href="?cfp='.$centered.'&cft=coverFlow">coverFlow</a> <!-- | <a href="?cfp='.$centered.'cft=topSites">topSites</a> --> | <a href="?cfp='.$centered.'cft=gameCards">gameCards</a></p>'
.$pageLinks . $echoCoverFlowHTML . $BrowserCache . ' </body> </html>';
/////////////////////////////////////////////////////////////////////////////////
/** * Write a string to a file. * Uses function file_put_contents if available * This function is binary-safe. * For perfomance reasons by default multi-dimensional array supported in php4 * * @author Uku-Kaarel Jõesaar http://ukj.pri.ee * @param string $filename The file name where to write the data * @param mixed $data The data to write. Can be either a string, an array or a stream resource. * @param int $flags FILE_USE_INCLUDE_PATH, FILE_APPEND and/or LOCK_EX * @param resource $context A context resource * @return int */ function file_put_contents_($filename,$data,$flags=NULL,$context=NULL) {
//(PHP 5) if(function_exists('file_put_contents')) return file_put_contents($filename,$data,$flags,$context); //supports 1d arr
$flockr=TRUE; $mode='wb'; $use_include_path=FALSE;
if($flags&FILE_USE_INCLUDE_PATH)$use_include_path=TRUE; if($flags&FILE_APPEND)$mode='ab';
eval("\$handle=fopen(\$filename ,\$mode ,\$use_include_path". (is_resource($context)?",\$context":'').");");
if(!$handle) return FALSE; //5.1.0 //PHP 4.0.1 if($flags&LOCK_EX) $flockr=flock($handle,LOCK_EX);
if($flockr){ if(is_array($data)) if(function_exists('fwrite_array')) $fwriter=fwrite_array($handle,$data); else $data=implode('',$data); else $fwriter=fwrite($handle,$data); } fclose($handle);
return $fwriter; } //end file_put_contents_()
/** * Read whole file into string * * @param string filename * @return string FALSE if failure */ function file_get_all ( $filename ) { if(!is_file( $filename )) return FALSE; if(!is_readable( $filename )) return FALSE; $r = @fopen($filename,'rb'); if(is_resource( $r )) { fseek($r,0,SEEK_END); $filesize = ftell($r); rewind( $r ); $re = ''; if($filesize > 0) { while (!feof($r)) { $re .= @fread($r, 8192); } } else $re = ''; fclose( $r ); return $re; } return FALSE; } //end file_get_all()
?>
|