<?php
/*
- Autor Mathias Possinke
- Copyright 2006-2007 Matpo.de / Mapos-Scripts.de
*/
// Counter aus damit die Besucher nicht von dieser Seite gezählt werden
$MATPO_COUNTER_AUS = 1;
// include Config
define('IN_MATPO', "true");
require_once('./config.inc.php');
if (isset($_GET['bild']) and isset($_GET['bild_name'])){
$PATH_INFO = '';
}
elseif (isset($_SERVER["PATH_INFO"])){
$PATH_INFO = $_SERVER["PATH_INFO"];
}
elseif (isset($_SERVER["ORIG_PATH_INFO"])){
$PATH_INFO = $_SERVER["ORIG_PATH_INFO"];
}else{
$PATH_INFO = '';
}
if (empty($PATH_INFO))
{
$tumbnail = isset($_GET['tumbnail']) ? filter_int($_GET['tumbnail']) : 0;
$bild_id = isset($_GET['bild']) ? filter_int($_GET['bild']) : '';
$bild_name = isset($_GET['bild_name']) ? urldecode($_GET['bild_name']) : '';
}
else
{
$tumbnail = "";$bild_id = "";$bild_name = "";
$PATH_INFO = explode(",", substr($PATH_INFO, 1), 3);
if (count($PATH_INFO) >= 3){
list($tumbnail, $bild_id, $bild_name) = $PATH_INFO;
}else{
list($bild_id, $bild_name) = $PATH_INFO;
}
$tumbnail = filter_int($tumbnail);
$bild_id = filter_int($bild_id);
$bild_name = urldecode($bild_name);
}
if (!empty($bild_id) and !empty($bild_name))
{
$abfrage = "SELECT * FROM ".TABELLE_BILDER." WHERE id = '$bild_id' and url = '".mysql_real_escape_string($bild_name)."'";
$ergebnis = $matpo_sql->sql_query($abfrage);
if($bild = $matpo_sql->sql_fetch_object($ergebnis))
{
$bild_id = $bild->id;
$bild_name = $bild->url;
$bild_user_id = filter_int($bild->user_id);
$bild_time = $bild->time;
$bild_ip = $bild->ip;
$bild_aufrufe = $bild->aufrufe;
$bild_root_link = UPLOADER_DIR.$config->bilder_ordner."/".$bild_name;
$bild_groesse_bb = @filesize($bild_root_link);
$bild_groesse_kb = round($bild_groesse_bb/1024, 2);
$bild_groesse_mb = round($bild_groesse_bb/1024/1024, 2);
zugriffsrechte ($bild_root_link, 0777);
$bild_info = new Matpo_Bild($bild_root_link);
if (!$bild_info->error)
{
switch($tumbnail)
{
case 1:
// Ohne Balken
$bild_info->tumbnail_bildlink = sprintf ($bild_info->tumb_bildlink, 1);
$bild_info->tumbnail($config->tumbnail_breite, $config->tumbnail_hoehe);
break;
case 2:
// Mit Balken
$bild_info->tumbnail_bildlink = sprintf ($bild_info->tumb_bildlink, 2);
$text_balken = $bild_info->breite."x".$bild_info->hoehe." ".$bild_groesse_kb."KB";
$bild_info->tumbnail($config->tumbnail_breite, $config->tumbnail_hoehe, $text_balken);
break;
case 3:
// Bild My Archiv
$bild_info->tumbnail_bildlink = sprintf ($bild_info->tumb_bildlink, 3);
$bild_info->tumbnail("161", "161");
break;
case 4:
// Bild ACP Archiv
$bild_info->tumbnail_bildlink = sprintf ($bild_info->tumb_bildlink, 4);
$bild_info->tumbnail("100", "100");
break;
default:
$bild_aufrufe++;
$matpo_sql->sql_query("UPDATE ".TABELLE_BILDER." Set aufrufe = '$bild_aufrufe' WHERE id = '$bild_id'");
if ($bild_user_id >= 1)
{
$user_traffic = $matpo_sql->sql_query("SELECT traffic FROM ".TABELLE_USER." WHERE id = '".$bild_user_id."'");
if ($user_traffic = $matpo_sql->sql_fetch_row($user_traffic))
{
$user_traffic = filter_int($user_traffic[0]+$bild_groesse_bb);
$matpo_sql->sql_query("UPDATE ".TABELLE_USER." Set traffic = '$user_traffic' WHERE id = '$bild_user_id'");
}
}
// Bild Normal
if ($config->wasserzeichen[0] == 1 and $bild_info->breite >= $config->wasserzeichen[3] and $bild_info->hoehe >= $config->wasserzeichen[4])
{
$bild_info->wasser_zeichen();
}
else
{
@header('Content-type: '.$bild_info->mime);
@header('Content-Disposition: inline; filename="'.$bild_name.'"');
@header('Content-Length: '.$bild_groesse_bb);
@readfile($bild_root_link) or die ("404 Datei($bild_root_link) nicht gefunden");
}
break;
}
}
else
{
$matpo_sql->sql_query("DELETE FROM ".TABELLE_BILDER." WHERE id = '$bild_id'");
header("Location: ./".BILD_PHP);
}
}
else
{
$text = "Das Bild wurde nicht gefunden.";
header ("Content-type: image/JPEG");
$schrift_groeße = 3;
$text_px = strlen($text)*($schrift_groeße*2.35);
$Bild = ImageCreateTrueColor($text_px,$schrift_groeße+11);
$hintergrund = ImageColorAllocate ($Bild, 255, 255, 255);
imagefill ($Bild, 0, 0, $hintergrund);
$text_color = ImageColorAllocate ($Bild, 255, 0, 0);
ImageString ($Bild, $schrift_groeße, 1, 1, $text, $text_color);
ImageJPEG ($Bild);
}
}
else
{
$text = "KEIN BILD.";
header ("Content-type: image/JPEG");
$schrift_groeße = 3;
$text_px = strlen($text)*($schrift_groeße*2.35);
$Bild = ImageCreateTrueColor($text_px,$schrift_groeße+11);
$hintergrund = ImageColorAllocate ($Bild, 255, 255, 255);
imagefill ($Bild, 0, 0, $hintergrund);
$text_color = ImageColorAllocate ($Bild, 255, 0, 0);
ImageString ($Bild, $schrift_groeße, 1, 1, $text, $text_color);
ImageJPEG ($Bild);
}
$matpo_sql->sql_close();
?>