czy ktos moze mi powiedziec w jaki sposob dodac do skryptu (galeria) opcje sortowania katalogow ze zdjeciami (od a do z, od 0 do 9)?
oto glowny plik galerii:
Kod
<?
//require('galeria/config.php');
define("GDIR", "galeria/"); //gdzie znajduja sie foldery ze zdjeciami
define("FNAME", "../galeria.php"); //gdzie znajduja sie foldery ze zdjeciami
define("COLS", 2); //kolumn
define("ROWS", 20); //max wierszy
class gallery
{
function show_tree($node = '', $depth = -1, $ground = 0)
{
$return = '';
$dname = Array();
$dh = opendir(GDIR.$node);
$spacer = '';
for($sp = 1; $sp < $ground - $depth; $sp++)
{
$spacer .= ' ';
}
while($file = readdir($dh))
{
if ($file != "." && $file != ".." && is_dir(GDIR.$node.$file))
{
if(file_exists(GDIR.$node.$file.'/'.$file.'.txt'))
{
$label = file(GDIR.$node.$file.'/'.$file.'.txt');
$return .= $spacer.'<a href="'.FNAME.'?cat='.$node.$file.'/">'.$label[0].'</a><br>'."\n";
}
else
{
$return .= $spacer.'<a href="'.FNAME.'?cat='.$node.$file.'/">'.$file.'</a><br>'."\n";
}
if($depth != 0)
{
$return .= $this -> show_tree($node.$file.'/', $depth - 1);
}
}
}
return $return;
}
function is_image($f_name)
{
if(in_array(strtolower(substr($f_name,-3)), array('jpg', 'gif', 'png')))
{
return true;
}
else
return false;
}
function show_thumbnails($node, $page = 0)
{
$images = array();
$dh = opendir(GDIR.$node);
while($file = readdir($dh))
{
if ($file != "." && $file != ".." && !is_dir(GDIR.$node.$file) && $this -> is_image($file))
{
$images[] = $file;
}
}
$total = count($images);
if($total > 0)
{
sort($images);
$per_page = COLS*ROWS;
if($total > $per_page)
{
$page_list = "<br> \n";
$pages = ceil($total/$per_page);
for($i = 0; $i < $pages; $i++)
{
$p = $i+1;
if($i != $page)
{
$page_list .= ' <a href="'.FNAME.'?cat='.$node.'&page='.$i.'">'. $p .'</a> ';
}
else
{
$page_list .= ' ['.$p.'] ';
}
}
$return['p_list'] = $page_list."<br> \n";
}
else
$return['p_list'] = "";
$images_table = "<center><table width=95%border=0cellpadding=2 cellspacing=2>\n";
for($j = $page * $per_page, $r = 0; $j < min(($page + 1) * $per_page, $total); $j++, $r++)
{
$size = getimagesize (GDIR.$node.$images[$j]);
if($size[1] < $size[0])
{
$height = 86;
$width = 130;
$thumbnail = ''.GDIR.'thumbs.php?image='.$node.$images[$j].'&newheight=86&newwidth=130&width='.$size[0].'&height='.$size[1].'';
}
else
{
$height = 130;
$width = 86;
$thumbnail = ''.GDIR.'thumbs.php?image='.$node.$images[$j].'&newheight=130&newwidth=86&width='.$size[0].'&height='.$size[1].'';
}
$image_cell = '';
if($r == 0)
$image_cell = '<tr>'."\n";
$x = $size[0] + 0;
$y = $size[1] + 30;
$image_cell .= '<td align=center>
<a href="#" onclick="window.open(\''.GDIR.'popup.php?node='.$node.'&img='.$j.'&w='.$size[0].'&h='.$size[1].'&t='.$j.'\',\''.$j.'\',\'width='. $x .',height='. $y .',directories=no,location=no,menubar=no,scrollbars=no,status=no,toolbar=no,re
sizable=no\');return false" target="_blank">
<img class="cienie" src="'.$thumbnail.'" border=0>
</a>
</td>'."\n";
if($r == COLS - 1)
{
$image_cell .= '</tr>'."\n";
$r = -1;
}
$images_table .= $image_cell;
}
$images_table .= '</table></center>';
$return['images'] = $images_table;
}
else
{
$return['images'] = '';
$return['p_list'] = '';
}
return $return;
}
function tracker($node)
{
$current = '';
$return = '<b>galeria</b> » ';
$path = explode("/", $node);
$last = count($path) - 2;
foreach($path as $n => $folder)
{
if(strlen($folder) > 0)
{
$current.=$folder."/";
if(file_exists(GDIR.$current.$folder.'.txt'))
{
$label = file(GDIR.$current.$folder.'.txt');
if($n != $last)
$return .= '<a href="'.FNAME.'?cat='.$current.'">'.$label[0].'</a> » ';
else
$return .= $label[0].' ';
}
else
{
if($n != $last)
$return .= '<a href="'.FNAME.'?cat='.$current.'">'.$folder.'</a> » ';
else
$return .= $folder.' ';
}
}
}
echo $return."<br> \n";
}
function menu($node)
{
$path = explode("/", $node);
return $this -> menu_2($path, '', 0);
}
function menu_2($path, $node = '', $lvl = 0)
{
$return = '';
$dh = opendir(GDIR.$node);
$spacer = '';
for($sp = 0; $sp < $lvl; $sp++)
{
$spacer .= ' ';
}
while($file = readdir($dh))
{
if ($file != "." && $file != ".." && is_dir(GDIR.$node.$file))
{
if(file_exists(GDIR.$node.$file.'/'.$file.'.txt'))
{
$label = file(GDIR.$node.$file.'/'.$file.'.txt');
$return .= $spacer.'<a href="'.FNAME.'?cat='.$node.$file.'/">'.$label[0].'</a><br>'."\n";
}
else
{
$return .= $spacer.'<a href="'.FNAME.'?cat='.$node.$file.'/">'.$file.'</a><br>'."\n";
}
if(in_array($file, $path))
{
$return .= $this -> menu_2($path, $node.$file.'/', $lvl + 1);
}
}
}
return $return;
}
}
$gal = new gallery;
if(isset($cat))
$dir = $cat;
else
$dir = '';
echo $gal -> tracker($dir);
echo $gal -> menu($dir);
if(!isset($page))
$page = 0;
if(isset($cat))
{
$all = $gal -> show_thumbnails($cat, $page);
echo $all['p_list'];
echo $all['images'];
}
//print_r($gal -> show_tree($cat, 0));
?>
//require('galeria/config.php');
define("GDIR", "galeria/"); //gdzie znajduja sie foldery ze zdjeciami
define("FNAME", "../galeria.php"); //gdzie znajduja sie foldery ze zdjeciami
define("COLS", 2); //kolumn
define("ROWS", 20); //max wierszy
class gallery
{
function show_tree($node = '', $depth = -1, $ground = 0)
{
$return = '';
$dname = Array();
$dh = opendir(GDIR.$node);
$spacer = '';
for($sp = 1; $sp < $ground - $depth; $sp++)
{
$spacer .= ' ';
}
while($file = readdir($dh))
{
if ($file != "." && $file != ".." && is_dir(GDIR.$node.$file))
{
if(file_exists(GDIR.$node.$file.'/'.$file.'.txt'))
{
$label = file(GDIR.$node.$file.'/'.$file.'.txt');
$return .= $spacer.'<a href="'.FNAME.'?cat='.$node.$file.'/">'.$label[0].'</a><br>'."\n";
}
else
{
$return .= $spacer.'<a href="'.FNAME.'?cat='.$node.$file.'/">'.$file.'</a><br>'."\n";
}
if($depth != 0)
{
$return .= $this -> show_tree($node.$file.'/', $depth - 1);
}
}
}
return $return;
}
function is_image($f_name)
{
if(in_array(strtolower(substr($f_name,-3)), array('jpg', 'gif', 'png')))
{
return true;
}
else
return false;
}
function show_thumbnails($node, $page = 0)
{
$images = array();
$dh = opendir(GDIR.$node);
while($file = readdir($dh))
{
if ($file != "." && $file != ".." && !is_dir(GDIR.$node.$file) && $this -> is_image($file))
{
$images[] = $file;
}
}
$total = count($images);
if($total > 0)
{
sort($images);
$per_page = COLS*ROWS;
if($total > $per_page)
{
$page_list = "<br> \n";
$pages = ceil($total/$per_page);
for($i = 0; $i < $pages; $i++)
{
$p = $i+1;
if($i != $page)
{
$page_list .= ' <a href="'.FNAME.'?cat='.$node.'&page='.$i.'">'. $p .'</a> ';
}
else
{
$page_list .= ' ['.$p.'] ';
}
}
$return['p_list'] = $page_list."<br> \n";
}
else
$return['p_list'] = "";
$images_table = "<center><table width=95%border=0cellpadding=2 cellspacing=2>\n";
for($j = $page * $per_page, $r = 0; $j < min(($page + 1) * $per_page, $total); $j++, $r++)
{
$size = getimagesize (GDIR.$node.$images[$j]);
if($size[1] < $size[0])
{
$height = 86;
$width = 130;
$thumbnail = ''.GDIR.'thumbs.php?image='.$node.$images[$j].'&newheight=86&newwidth=130&width='.$size[0].'&height='.$size[1].'';
}
else
{
$height = 130;
$width = 86;
$thumbnail = ''.GDIR.'thumbs.php?image='.$node.$images[$j].'&newheight=130&newwidth=86&width='.$size[0].'&height='.$size[1].'';
}
$image_cell = '';
if($r == 0)
$image_cell = '<tr>'."\n";
$x = $size[0] + 0;
$y = $size[1] + 30;
$image_cell .= '<td align=center>
<a href="#" onclick="window.open(\''.GDIR.'popup.php?node='.$node.'&img='.$j.'&w='.$size[0].'&h='.$size[1].'&t='.$j.'\',\''.$j.'\',\'width='. $x .',height='. $y .',directories=no,location=no,menubar=no,scrollbars=no,status=no,toolbar=no,re
sizable=no\');return false" target="_blank">
<img class="cienie" src="'.$thumbnail.'" border=0>
</a>
</td>'."\n";
if($r == COLS - 1)
{
$image_cell .= '</tr>'."\n";
$r = -1;
}
$images_table .= $image_cell;
}
$images_table .= '</table></center>';
$return['images'] = $images_table;
}
else
{
$return['images'] = '';
$return['p_list'] = '';
}
return $return;
}
function tracker($node)
{
$current = '';
$return = '<b>galeria</b> » ';
$path = explode("/", $node);
$last = count($path) - 2;
foreach($path as $n => $folder)
{
if(strlen($folder) > 0)
{
$current.=$folder."/";
if(file_exists(GDIR.$current.$folder.'.txt'))
{
$label = file(GDIR.$current.$folder.'.txt');
if($n != $last)
$return .= '<a href="'.FNAME.'?cat='.$current.'">'.$label[0].'</a> » ';
else
$return .= $label[0].' ';
}
else
{
if($n != $last)
$return .= '<a href="'.FNAME.'?cat='.$current.'">'.$folder.'</a> » ';
else
$return .= $folder.' ';
}
}
}
echo $return."<br> \n";
}
function menu($node)
{
$path = explode("/", $node);
return $this -> menu_2($path, '', 0);
}
function menu_2($path, $node = '', $lvl = 0)
{
$return = '';
$dh = opendir(GDIR.$node);
$spacer = '';
for($sp = 0; $sp < $lvl; $sp++)
{
$spacer .= ' ';
}
while($file = readdir($dh))
{
if ($file != "." && $file != ".." && is_dir(GDIR.$node.$file))
{
if(file_exists(GDIR.$node.$file.'/'.$file.'.txt'))
{
$label = file(GDIR.$node.$file.'/'.$file.'.txt');
$return .= $spacer.'<a href="'.FNAME.'?cat='.$node.$file.'/">'.$label[0].'</a><br>'."\n";
}
else
{
$return .= $spacer.'<a href="'.FNAME.'?cat='.$node.$file.'/">'.$file.'</a><br>'."\n";
}
if(in_array($file, $path))
{
$return .= $this -> menu_2($path, $node.$file.'/', $lvl + 1);
}
}
}
return $return;
}
}
$gal = new gallery;
if(isset($cat))
$dir = $cat;
else
$dir = '';
echo $gal -> tracker($dir);
echo $gal -> menu($dir);
if(!isset($page))
$page = 0;
if(isset($cat))
{
$all = $gal -> show_thumbnails($cat, $page);
echo $all['p_list'];
echo $all['images'];
}
//print_r($gal -> show_tree($cat, 0));
?>