<?php
#
# Agal 1.3  ( modified Agal 1.2 by Doc Sniper ) 
#
### Options #################################################################
$site_title = "Foo Bar";
$pics_per_index_page = 20;
$pics_per_row = 5;
$indexfile="index.txt"; # usage: First Line: title;Page Title; Other Lines: filename;Picture Text;
#############################################################################

### Themes ##################################################################
#$default_theme="blue_drops";
#$default_theme="graffity_grey";
#$default_theme="grey_brain";
#$default_theme="simple_grey";
#$default_theme="violet";
#$default_theme="blue_matrix";
#$default_theme="green_matrix";
$default_theme="red_letters";
#$default_theme="standard";
#############################################################################

### Do not change anything below this Line ##################################

# PHP-Parameters
$filename = basename($PHP_SELF);
$bild = $_GET["bild"];
$theme = $_GET["theme"];
$index = $_GET["index"];

# Theme settings
if ( !isset($theme) ) { $theme=$default_theme; }
if ( !isset($index) ) { $index=1; }

# Get Image Index
$dir = opendir('./');
    while(false !== ($file = readdir($dir))) {
	if (substr($file, -3) == 'jpg' || substr($file, -3) == 'JPG' || substr($file, -3) == 'png' || substr($file, -3) == 'PNG' || substr($file, -3) == 'gif' || substr($file, -3) == 'GIF')
    		$all_images[] = $file;
        }
closedir($dir);

sort($all_images);
$nr_of_pics = (sizeof ($all_images));

# Get the Page Title if set in $indexfile, else use $site_title from above
if(file_exists($indexfile))
{
    $fp=fopen($indexfile,"r");
    while(!feof($fp) && $imagedescr[0] != "title")
    {
        $imagedescr = explode(";", fgets($fp,200));
        if($imagedescr[0] == "title")
        {
            $site_title = $imagedescr[1];
        }
    }
    fclose($fp) ;
}

# Show Index or Show single Picture
if ($bild >0 && $bild <= $nr_of_pics) zeige_bild();
else index_seite();

############################
function calc_index_pages(){

global $filename;
global $nr_of_pics;
global $pics_per_index_page;
global $index;
global $theme;

echo("<center>");
$number_of_index_pages = $nr_of_pics / $pics_per_index_page;
if ( $nr_of_pics % $pics_per_index_page != 0 ) { $number_of_index_pages = intval($number_of_index_pages) + 1; }
if ($index != 1) { $index--; echo("<a href=\"$filename?theme=$theme&index=$index\">prev</a>"); echo("&nbsp;"); $index++; }

for ( $i = 1 ; $i <= $number_of_index_pages ; $i++)
{
    if ( $index != $i ) { echo("<a href=\"$filename?theme=$theme&index=$i\">$i</a>&nbsp;"); }
    else { echo ("$i&nbsp;"); }
}
echo("&nbsp;");
if ($index != $number_of_index_pages ) { $index++; echo("<a href=\"$filename?theme=$theme&index=$index\">next</a>"); $index--;  }
}
{echo("<center><a href=\"/gallery/\">Return</a></center>");}

#######################
function index_seite(){

global $site_title;
global $filename;
global $pics_per_index_page;
global $index;
global $nr_of_pics;
global $theme;
global $all_images;
global $pics_per_row;

echo ("<html>
<head>
<title>$site_title</title>
<style type=\"text/css\">
<!--
body,table,td,tr { font-size:10pt;color:red;font-family:Helvetica,Arial; }
h1 { font-size:10pt;color:black;font-family:Helvetica,Arial; }
a:hover { color:#CCCCCC;}
a { text-decoration:none; }
// --> </style>
</head>
<body bgcolor=#000000 background=\"themes/$theme/background.jpg\" link=#aaaaaa  vlink=#aaaaaa >
<center>
");

calc_index_pages();
echo("<br>
<table align=center frame=void width=100%><tr><td><center>
");

        echo("<table frame=void cellpadding=10 align=center><tr><td>");
        if ( $index != 1 ) { $untere_grenze = $pics_per_index_page * ( $index - 1 ) + 1; }
	    else { $untere_grenze =  1; }
	$obere_grenze = $pics_per_index_page * $index;
	if ( $obere_grenze >=$nr_of_pics ) { $obere_grenze = $nr_of_pics ;}
	$counter = $untere_grenze;
	for ( $i = $untere_grenze; $i <= $obere_grenze; $i++){
	$file = $all_images[$i-1]  ;
	if ( $counter >= $untere_grenze && $counter <= $obere_grenze ){
	echo ("<td width=\"162\" height\"122\" align=center background=\"themes/$theme/table_back.gif\"> <a href=\"$filename?bild=$counter&theme=$theme&index=$index\"><img src=\"thumb/$file\" border=0></a></td>\n");
	        if (!($counter % $pics_per_row)){
	        echo("</td></tr><tr><td>");
		}
		$counter++;
	}
	else { break; }
	}

echo("</center>
</td></tr></table>
<br><br>
");

calc_index_pages();

echo <<<html_head2
</center></center>
<br>
</body>
</html>
html_head2;
}

######################
function zeige_bild(){

global $indexfile;
global $site_title;
global $filename;
global $theme;
global $bild;
global $all_images;
global $nr_of_pics;
global $index;

$current_pic = $all_images[$bild - 1];
$bild_prev = $bild -1 ;
$bild_next = $bild +1 ;

echo("<html>
<head>
<title>$site_title</title>
<style type=\"text/css\">
<!--
body,table,tr,td { font-size:10pt;color:#aaaaaa;font-family:Helvetica,Arial; }
h1 { font-size:10pt;color:black;font-family:Helvetica,Arial; }
a { text-decoration:none; }
a:hover { color:#778899;}
//--> </style>
<script language=\"JavaScript\">
<!--
	prev = new Image();
	prev.src = \"themes/$theme/prev_off.gif\";
	prev_on = new Image();
	prev_on.src = \"themes/$theme/prev_on.gif\";
	index = new Image();
	index.src = \"themes/$theme/index_off.gif\";
	index_on = new Image();
	index_on.src = \"themes/$theme/index_on.gif\";
	nextx = new Image();
	nextx.src = \"themes/$theme/next_off.gif\";
	nextx_on = new Image();
	nextx_on.src = \"themes/$theme/next_on.gif\";
	function Bildwechsel(Bildnr,Bildobjekt)
	{ window.document.images[Bildnr].src = Bildobjekt.src;}
//--> </script>
</head>
<body bgcolor=#000000 background=\"themes/$theme/background.jpg\" link=#CCCCCC vlink=#CCCCCC >
<center>
<table align=center frame=void width=100%><tr><td><center>
");

if ( $bild == 1 ) $bild_prev = $nr_of_pics ;
    else $bild_prev = $bild - 1;
if ( $bild == $nr_of_pics ) $bild_next = 1 ;
    else $bild_next = $bild + 1;

echo ("<a href=\"$filename?bild=$bild_prev&theme=$theme&index=$index\">prev</a>&nbsp;\n");
echo ("<a href=\"$filename?theme=$theme&index=$index\">index</a>&nbsp;\n");
echo ("<a href=\"$filename?bild=$bild_next&theme=$theme&index=$index\">next</a><br><br>\n");
echo ("<img src=\"$current_pic\" border=0><br><br>");

# Get Image descriptions from $indexfile if it exists
if(file_exists($indexfile))
{
    $fp=fopen($indexfile,"r");
    while(!feof($fp) && $current_pic != $imagedescr[0])
    {
        $imagedescr = explode(";", fgets($fp,200));
        if($current_pic == $imagedescr[0])
        {
            echo($imagedescr[1]);
            echo("<br><br>");
        }
    }
    fclose($fp) ;
}
echo ("<br>\n");

prev_next_thumbs();

echo <<<html_head2
</center>
</td></tr></table>
<br><br>
</center>
</body>
</html>
html_head2;
}

#############################
function prev_next_thumbs (){

global $filename;
global $theme;
global $all_images;
global $bild;
global $nr_of_pics;
global $index;

switch($bild)
{
	case (1):
		$thumb_1 = $all_images[$nr_of_pics - 2];
		$thumb_2 = $all_images[$nr_of_pics -1];
		$thumb_3 = $all_images[$bild - 1];
		$thumb_4 = $all_images[$bild    ];
		$thumb_5 = $all_images[$bild + 1];
		$bild_1 = $nr_of_pics - 1;
		$bild_2 = $nr_of_pics;
		$bild_3 = $bild    ;
		$bild_4 = $bild + 1;
		$bild_5 = $bild + 2;
		break;
	case (2):
		$thumb_1 = $all_images[$nr_of_pics - 1];
		$thumb_2 = $all_images[$bild -2 ];
		$thumb_3 = $all_images[$bild - 1];
		$thumb_4 = $all_images[$bild    ];
		$thumb_5 = $all_images[$bild + 1];
		$bild_1 = $nr_of_pics;
		$bild_2 = $bild - 1;
		$bild_3 = $bild    ;
		$bild_4 = $bild + 1;
		$bild_5 = $bild + 2;
		break;
	case ($nr_of_pics):
		$thumb_1 = $all_images[$bild - 3];
		$thumb_2 = $all_images[$bild - 2];
		$thumb_3 = $all_images[$bild - 1];
		$thumb_4 = $all_images[0];
		$thumb_5 = $all_images[1];
		$bild_1 = $bild - 2;
		$bild_2 = $bild - 1;
		$bild_3 = $bild    ;
		$bild_4 =  1;
		$bild_5 =  2;
		break;
	case ($nr_of_pics - 1):
		$thumb_1 = $all_images[$bild - 3];
		$thumb_2 = $all_images[$bild - 2];
		$thumb_3 = $all_images[$bild - 1];
		$thumb_4 = $all_images[$bild    ];
		$thumb_5 = $all_images[0];
		$bild_1 = $bild - 2;
		$bild_2 = $bild - 1;
		$bild_3 = $bild    ;
		$bild_4 = $bild + 1;
		$bild_5 = 1;
		break;
	default:
		$thumb_1 = $all_images[$bild - 3];
		$thumb_2 = $all_images[$bild - 2];
		$thumb_3 = $all_images[$bild - 1];
		$thumb_4 = $all_images[$bild    ];
		$thumb_5 = $all_images[$bild + 1];
		$bild_1 = $bild - 2;
		$bild_2 = $bild - 1;
		$bild_3 = $bild    ;
		$bild_4 = $bild + 1;
		$bild_5 = $bild + 2;
}

echo("<a href=\"$filename?bild=$bild_1&theme=$theme&index=$index\"><img src=\"thumb/$thumb_1\" height=55 width=73 border=1></a>\n");
echo("<a href=\"$filename?bild=$bild_2&theme=$theme&index=$index\"><img src=\"thumb/$thumb_2\" height=60 width=80 border=1></a>\n");
echo("<img src=\"thumb/$thumb_3\" height=65 width=86 border=3>\n");
echo("<a href=\"$filename?bild=$bild_4&theme=$theme&index=$index\"><img src=\"thumb/$thumb_4\" height=60 width=80 border=1></a>\n");
echo("<a href=\"$filename?bild=$bild_5&theme=$theme&index=$index\"><img src=\"thumb/$thumb_5\" height=55 width=73 border=1></a>\n<br>");

echo("
<a href=\"$filename?bild=$bild_2&theme=$theme&index=$index\" onMouseOver=\"Bildwechsel(6,prev_on)\" onMouseOut=\"Bildwechsel(6,prev)\"><img src=\"themes/$theme/prev_off.gif\" border=\"0\"></a>&nbsp;&nbsp;&nbsp;
<a href=\"$filename?theme=$theme&index=$index\" onMouseOver=\"Bildwechsel(7,index_on)\" onMouseOut=\"Bildwechsel(7,index)\"><img src=\"themes/$theme/index_off.gif\" border=\"0\"></a>&nbsp;&nbsp;&nbsp;
<a href=\"$filename?bild=$bild_4&theme=$theme&index=$index\" onMouseOver=\"Bildwechsel(8,nextx_on)\" onMouseOut=\"Bildwechsel(8,nextx)\"><img src=\"themes/$theme/next_off.gif\" border=\"0\"></a>
");

}
?>
