<?php
#-------------------------------------------------------------------
# Kategorien anzeigen
#-------------------------------------------------------------------
function read_kat() {
@include("bm_gallery/config_gallery.inc.php");
#--------zusätzlich eingefügt--------------
$i=0;
chdir($img_root.$_GET["kat"]);
$fd = dir($img_root.$_GET["kat"]);
while($v = $fd->read()) {
if(!is_file($v)) {
$arr[$i] = $v;
$datum[$i]=filemtime($img_root.$_GET["kat"].$v); // ich weiss jetzt nicht, ob da noch ein ."/". vor das $v muß...
$sortier_hilfsarray[$i]=$img_root.$_GET["kat"].$v;
$i++;
}
}
$fd->close();
#--------zusätzlich eingefügt--------------
array_multisort($sortier_hilfsarray,SORT_DESC,$datum,SORT_DESC,$arr,SORT_DESC);
// Frag mich jetzt nicht, warum $datum oben getrennt wurde.. Ich bekomm's nicht gefixt.
// Es heisst natürlich $datum
echo("<p><table width=\"90%\" align=\"center\" cellpadding=\"0\" cellspacing=\"0\"><tr><td bgcolor=\"".$border_color."\">\n");
echo("<table width=\"100%\" align=\"center\" cellpadding=\"2\" cellspacing=\"".$border."\" border=\"0\">\n");
echo("<tr><td colspan=\"3\" bgcolor=\"".$bg_color_1."\">");
main_nav($font_1);
echo("</td></tr>\n");
if(count($arr) > 2) {
echo("<tr><td bgcolor=\"".$bg_color_2."\">Kategorie</td><td bgcolor=\"".$bg_color_2."\"><img src=\"bm_gallery/img/kats.gif\" width=\"20\" height=\"21\" alt=\"Kategorien\"></td><td bgcolor=\"".$bg_color_2."\"><img src=\"bm_gallery/img/bilder.gif\" width=\"20\" height=\"20\" alt=\"Bilder\"></td></tr>\n");
foreach($arr as $elem) {
if($elem != "." && $elem != "..") {
$pics = 0;
$kats = 0;
chdir($img_root.$_GET["kat"].$elem);
$kat_fd = dir($img_root.$_GET["kat"].$elem);
while($v = $kat_fd->read()) {
if(is_file($v) && (strtolower(substr($v,-3)) == "png" || strtolower(substr($v,-3)) == "jpg" || strtolower(substr($v,-4)) == "jpeg")) {
$pics++;
} elseif(!is_file($v)) {
$kats++;
}
}
$kat_fd->close();
$kats = $kats - 2;
$elem_tmp = str_replace("ä","ä",$elem);
$elem_tmp = str_replace("ö","ö",$elem_tmp);
$elem_tmp = str_replace("ü","ü",$elem_tmp);
$elem_tmp = str_replace("Ä","Ä",$elem_tmp);
$elem_tmp = str_replace("Ö","Ö",$elem_tmp);
$elem_tmp = str_replace("Ü","Ü",$elem_tmp);
$elem_tmp = str_replace("_"," ",$elem_tmp);
echo("<tr><td bgcolor=\"".$bg_color_2."\"><a href=\"$PHP_SELF?kat=".$_GET["kat"].$elem."/\">".$elem_tmp."</a></td>\n");
echo("<td bgcolor=\"".$bg_color_2."\">".$kats."</td>\n");
echo("<td bgcolor=\"".$bg_color_2."\">".$pics."</td></tr>\n");
}
}
}
echo("</table>\n</td></tr></table></p>");
chdir($_SERVER['DOCUMENT_ROOT']);
}
#-------------------------------------------------------------------
# Thumbs anzeigen
#-------------------------------------------------------------------
function read_img() {
@include("config_gallery.inc.php");
chdir($img_root.$_GET["kat"]);
$fd = dir($img_root.$_GET["kat"]);
while($v = $fd->read()) {
if(is_file($v) && (strtolower(substr($v,-3)) == "png" || strtolower(substr($v,-3)) == "jpg" || strtolower(substr($v,-4)) == "jpeg")) {
$arr[] = $v;
}
}
$fd->close();
$img_anz = count($arr);
if($img_anz > 0) {
echo("<p><table width=\"90%\" align=\"center\" cellpadding=\"0\" cellspacing=\"0\"><tr><td bgcolor=\"".$border_color."\">\n");
echo("<table width=\"100%\" cellpadding=\"2\" cellspacing=\"".$border."\" ><tr><td bgcolor=\"".$bg_color_1."\" colspan=\"".$col."\" style=\"color: ".$font_1.";\">Seite: \n");
$seiten = $img_anz / $epp;
if(!isset($seite) || $seite > img_anz) { $seite = 0; }
for($i = 0; $i < $seiten; $i++)
{
echo("<a href=\"".$PHP_SELF."?seite=".$i."&kat=".$_GET["kat"]."\" style=\"color: ".$font_1.";\">".($i + 1)."</a> ");
} $i = 0;
echo("</td></tr>\n");
$y = 0;
foreach($arr as $elem) {
if($y >= ($_GET["seite"] * $epp) && $y < ($_GET["seite"] * $epp + $epp)) {
create_init($doc_root, $img_root, $elem);
if($i % $col == "0" ) {
echo "<tr bgcolor=\"".$bg_color_2."\">\n";
$merker = $col;
}
$vote_arr = read_init($img_root, $elem, "vote");
$vote_arr = explode(",", $vote_arr);
if($vote_arr[0] == 0) {
$wert = "unbewertet";
} else {
$wert = $vote_arr[1] / $vote_arr[0];
$wert = round($wert,2);
}
echo("<td width=\"".(round(100/$col))."%\"><p align=\"center\"><a href=\"".$PHP_SELF."?act=view&bild=".$y."&kat=".$_GET["kat"]."\">");
echo("<img src=\"bm_gallery/thumb.php?bild=".$elem."&kat=".$_GET["kat"]."\" alt=\"".$elem."\" border=\"0\" align=\"center\">");
echo("</a></p><p><b>Hits:</b> ".read_init($img_root, $elem, "hits")."<br><b>Bewertung:</b> ".$wert."<br><b>Upload:</b> ".date("Y-m-d", @filectime($img_root.$_GET["kat"]."/".$elem))."</p></td>\n");
$merker--;
if($merker == "0" ) {
echo ("</tr>\n");
}
$i++;
}
$y++;
}
for($x = 0; $x < $merker; $x++) {
echo("<td width=\"".(round(100/$col))."\" bgcolor=\"".$bg_color_2."\"> </td>\n");
}
if ($merker != "0" ) {
echo ("</tr>\n");
}
$y = 0;
echo("</table></td></tr></table></p>\n");
}
chdir($_SERVER['DOCUMENT_ROOT']);
}
#-------------------------------------------------------------------
# Bild anzeigen
#-------------------------------------------------------------------
function view_img() {
include("bm_gallery/config_gallery.inc.php");
$y = 0;
chdir($img_root.$_GET["kat"]);
$fd = dir($img_root.$_GET["kat"]);
while($v = $fd->read()) {
if(is_file($v) && (strtolower(substr($v,-3)) == "png" || strtolower(substr($v,-3)) == "jpg" || strtolower(substr($v,-4)) == "jpeg")) {
$arr[] = $v;
if($y == $_GET["bild"]) {
$image = $v;
}
$y++;
}
}
$fd->close();
$i_width = explode(",", $i_width);
if($_POST["img_width"] == "") {
$_POST["img_width"] = $i_width[0];
}
$image_url = $img_root.$_GET["kat"].$image;
$info = getimagesize($image_url);
$f_image = $info[0] / $_POST["img_width"];
// Ini-Datei erzeugen falls noch nicht vorhanden
create_init($doc_root, $img_root, $image);
// Bilddaten anzeigen
echo("<p><table align=\"center\" cellpadding=\"0\" cellspacing=\"0\"><tr><td bgcolor=\"".$border_color."\">\n");
echo("<table width=\"100%\" align=\"center\" cellpadding=\"2\" cellspacing=\"".$border."\" border=\"0\">\n");
echo("<tr><td bgcolor=\"".$bg_color_1."\" colspan=\"2\" style=\"color: ".$font_1.";\">");
if($bild_target != 1) {
main_nav($font_1);
arrow();
}
echo($image."</td></tr>");
echo("<tr align=\"center\"><td bgcolor=\"".$bg_color_2."\" colspan=\"2\">\n");
echo("<img src=\"bm_gallery/image.php?bild=".$image."&kat=".$_GET["kat"]."&f_image=".$f_image."\" alt=\"".$image."\"></td></tr>\n");
// Bild-Hits zählen
count_hits($img_root, $image);
// Init-Inhalte auslesen
echo("<tr><td bgcolor=\"".$bg_color_2."\"><b>Beschreibung:</b></td><td bgcolor=\"".$bg_color_2."\">".read_init($img_root, $image, "beschreibung")."</td></tr>\n");
echo("<tr><td bgcolor=\"".$bg_color_2."\"><b>Bild-Hits:</b></td><td bgcolor=\"".$bg_color_2."\">".read_init($img_root, $image, "hits")."</td></tr>\n");
echo("<tr><td bgcolor=\"".$bg_color_2."\" rowspan=\"2\"><b>Bewertung:</b></td><td bgcolor=\"".$bg_color_2."\">");
$vote_arr = read_init($img_root, $image, "vote");
$vote_arr = explode(",", $vote_arr);
if($vote_arr[0] == 0) {
echo("unbewertet");
} else {
$wert = $vote_arr[1] / $vote_arr[0];
echo(round($wert,2));
}
echo("</td></tr><tr><td bgcolor=\"".$bg_color_2."\">\n".vote_form($image, $bg_color_1, $bg_color_2, $font_1));
echo("</td></tr><tr><td bgcolor=\"".$bg_color_2."\"><b>Originalgröße: ".$info[0]."x".$info[1]."</b></td>\n");
echo("<td bgcolor=\"".$bg_color_2."\"><form action=\"".$_SERVER["PHP_SELF"]."?act=view&bild=".$_GET["bild"]."&kat=".$_GET["kat"]."\" method=\"post\">\n");
echo("<select name=\"img_width\">");
foreach($i_width as $width_elem) {
if($width_elem <= $info[0]) {
$h = round($info[1] / ($info[0] / $width_elem));
echo("<option value=\"".$width_elem."\"");
if($width_elem == $_POST["img_width"]) {
echo(" selected");
}
echo(">".$width_elem."x".$h."</option>\n");
}
}
echo("<option value=\"".$info[0]."\">Origanlgröße</option>");
echo("</select>\n");
echo("<input type=\"submit\" name=\"send\" value=\"Anzeigen\">\n");
echo("</form></td></tr>\n");
if($mail_enable == 1) {
echo("<tr><td colspan=\"2\" bgcolor=\"".$bg_color_2."\"><a href=\"bm_gallery/send_image.php?kat=".$_GET["kat"]."&image=".$image."\" target=\"_blank\">Bild per e-Mail versenden</a></td></tr>\n");
}
echo("<tr><td bgcolor=\"".$bg_color_2."\" align=\"left\">");
if($_GET["bild"] != 0) {
echo("<a href=\"".$PHP_SELF."?act=view&bild=".($_GET["bild"]-1)."&kat=".$_GET["kat"]."\"><< Zurück</a>");
}
echo("</td>\n<td bgcolor=\"".$bg_color_2."\" align=\"right\">");
if($_GET["bild"] != ($y - 1)) {
echo("<a href=\"".$PHP_SELF."?act=view&bild=".($_GET["bild"]+1)."&kat=".$_GET["kat"]."\">Weiter >></a>");
}
echo("</td></tr>\n");
echo("</table></td></tr></table></p>\n");
// Kommentare
echo("<p><table align=\"center\" cellpadding=\"0\" cellspacing=\"0\"><tr><td bgcolor=\"".$border_color."\">\n");
echo("<table width=\"100%\" align=\"center\" cellpadding=\"2\" cellspacing=\"".$border."\" border=\"0\">\n");
echo("<tr><td bgcolor=\"".$bg_color_1."\" colspan=\"2\" style=\"color: ".$font_1.";\"><b>Kommentare</b></td></tr>");
echo("<tr><td bgcolor=\"".$bg_color_2."\" colspan=\"2\" align=\"center\"><a href=\"#kommentar\">Kommentar schreiben</a></td></tr>");
// Kommentare auslesen
$kom_arr = read_init($img_root, $image, "kommentare");
$kom_arr = explode("|;", $kom_arr);
// Kommentare anzeigen
$anz = count($kom_arr); $i = 1;
foreach($kom_arr as $arr) {
$arr = explode("|", $arr, 4);
if($i < $anz) {
if($arr[1] != "") {
$user = "<a href=\"mailto:".$arr[1]."\">".$arr[0]."</a>";
} else {
$user = $arr[0];
}
echo("<tr bgcolor=\"".$bg_color_2."\">
<td colspan=\"2\"><b>".$user." schrieb am ".$arr[2]."</b></td>
</tr>
<tr bgcolor=\"".$bg_color_2."\">
<td colspan=\"2\">".$arr[3]."</td>
</tr>\n");
}
$i++;
}
// Kommentar schreiben Formular
kommentar_form($image, $bg_color_1, $bg_color_2, $font_1);
echo("</table></td></tr></table></p>\n");
}
#-------------------------------------------------------------------
# Navigation
#-------------------------------------------------------------------
function main_nav($font_1) {
$self = explode("?", $_SERVER["PHP_SELF"]);
echo("<a href=\"".$self[0]."\" style=\"color: ".$font_1.";\">Home</a>");
$pieces = explode("/", $_GET["kat"]);
$anz = count($pieces);
$i = 0;
foreach($pieces as $nav) {
if($nav != "") {
echo(arrow()."<a href=\"".$self[0]."?kat=");
for($x = 0; $x <= $i; $x++) {
echo($pieces["$x"]."/");
}
echo("\" style=\"color: ".$font_1.";\">$nav</a>");
}
$i++;
}
chdir($_SERVER['DOCUMENT_ROOT']);
}
#-------------------------------------------------------------------
# Pfeil
#-------------------------------------------------------------------
function arrow() {
echo(" <img src=\"bm_gallery/img/pfeil.gif\" width=\"15\" height=\"15\" alt=\"Pfeil\"> ");
}
#-------------------------------------------------------------------
# Copyright
#-------------------------------------------------------------------
function copyright() {
echo("\n<p style=\"font-size: 9px\" align=\"center\">B|ue|V|oo|V</p>");
}
#-------------------------------------------------------------------
# Init-Datei erstellen
#-------------------------------------------------------------------
function create_init($doc_root, $img_root, $image) {
if(!file_exists($img_root.$_GET["kat"].$image.".ini")) {
if(!copy($doc_root."/bm_gallery/image.ext.ini", $img_root.$_GET["kat"].$image.".ini")) {
die("Fehler beim Anlegen der Datei!");
}
}
}
#-------------------------------------------------------------------
# Init-Datei anzeigen
#-------------------------------------------------------------------
function read_init($img_root, $image, $command) {
$file = join("", file($img_root.$_GET["kat"].$_POST["kat"].$image.".ini"));
$pos_start = (strpos($file, $command) + strlen($command) + 1);
$pos_end = (strpos($file, "/".$command) + 1);
$file = substr($file, $pos_start, ($pos_end - $pos_start - 2));
return $file;
}
#-------------------------------------------------------------------
# Count Hits
#-------------------------------------------------------------------
function count_hits($img_root, $image) {
$hits = read_init($img_root, $image, "hits");
$hits += 1;
$fp = fopen($img_root.$_GET["kat"].$image.".ini", "r");
$fpn = fopen($img_root.$_GET["kat"].$image.".ini.tmp", "w");
while($data = fgetcsv($fp, filesize($img_root.$_GET["kat"].$image.".ini"), "\n")) {
if(substr($data[0], 0, 6) == "[hits]") {
fwrite($fpn, "[hits]".$hits."[/hits]\n");
} else {
fwrite($fpn, $data["0"]."\n");
}
}
fclose($fpn);
fclose($fp);
unlink($img_root.$_GET["kat"].$image.".ini");
rename($img_root.$_GET["kat"].$image.".ini.tmp", $img_root.$_GET["kat"].$image.".ini");
}