Ich habe mal kurz ausprobiert, pixlie in contenido zu integrieren (quick'n'dirty) und es funktioniert soweit. Allerdings kann ich mich nicht dafür erwärmen. ich finde es ganz gut als einfache Galerie für eine einfache Website aber für Contenido nicht sonderlich geeignet. Am problematischten ist, dass die Erzeugung der Links in engine.inc hart codiert ist. Also muss man dort die Contenido-Variablem idart usw. noch mit in den href-String einfügen und das ist ein zu grüße Änderung gegenüber dem Standard. Sollte es dann mal eione neue version von Pixlie geben, muss man diese Datei wieder umbauen.
Wen es interessiert, hier meine 'Umbauten':
- pixlie heruntergeladen und in <contenido-installation>/cms/includes/pixlie entpackt
- index.php umbenannt in pixlie.inc.php, Programmteile am Ende entfernt und für das Contenido-Modul für den Output verwendet
- pixlie-Templates (uebersicht.html, gallerie.html, bildvorschau.html) in das Verzeichnis <contenido-installation>/cms/templates verschoben
- die Beispielbilder in <contenido-installation>/cms/upload/bildergalerie verschoben, damit man was zum testen hat
- <contenido-installation>/cms/includes/pixlie/system/engine.php angepasst
Modul: pixlie-Galerie, Output
Code: Alles auswählen
<?php
cInclude("frontend", "includes/pixlie/system/engine.inc");
cInclude("frontend", "includes/pixlie/pixlie.inc.php");
$contenidoqry = "";
if(isset($idart)) $contenidoqry .= "&idart=".$idart;
if(isset($idcat)) $contenidoqry .= "&idcat=".$idcat;
//
echo "<pre>".basename(__FILE__).": ".__LINE__." ".$contenidoqry."</pre>";
switch ($_GET['action']) {
case "start":
uebersicht();
break;
case "showgallery":
showgallery($_GET['pfad']);
break;
case "showpic":
showpic($_GET['pfad'],$_GET['bild']);
break;
case "originalbild":
originalbild($_GET['bild']);
break;
case "download":
download($_GET['pfad'],$_GET['bild']);
break;
default:
uebersicht();
}
?>
geändertes pixlie-Modul pixlie.inc.php, abgeleitet von index.php. Hier habe ich den Programmteil am Ende entfernt und Variablen und defines für Contenido angepasst.
Code: Alles auswählen
<?
//********************************************************************************************************************************************
//************************************* Konfiguration: Bitte passen Sie folgende Werte an ************************************************
//********************************************************************************************************************************************
//--- Wichtig - Diese 2 Werte müssen Sie anpassen (Einfach die Angaben in den "" verändern.)---
//Config
$domaene = "http://".$_SERVER['SERVER_NAME']; //Ihre Domain bis zum Wurzelverzeichnis (unterste Ebene) vom Internet aus gesehen. (Voreinstellung = "http://".$_SERVER['SERVER_NAME']; Alternative = http://www.ihreDomain.de)
$root = $cfg['path']['frontend']; //Ihr Pfad bis zum Wurzelverzeichnis (unterste Ebene) vom Server aus gesehn. Diesen Pfad erfahren Sie von Ihrem Webhoster. (Voreinstellung = $_SERVER['DOCUMENT_ROOT']; , Alternative= /home/www/IhrBenutzername/html)
//********************************************************************************************************************************************
//************************************* Konfiguration: Diese Werte können Sie optional anpassen ********************************************
//********************************************************************************************************************************************
//--- Optional---
//Kleine Vorschaubilder (Thumbnails)
$thumbnail_spalten = 3; //Anzahl der Spalten der Vorschaubilder (Voreinstellung = 3)
$thumbnail_trennblock = "</tr><tr>";//Wird nach der 3. Spalte ausgegeben. (Voreinstellung = "</tr><tr>")
$thumbnail_breite = 137; //Breite der Thumbnails bei der Gallerienübersicht (Höhe wird automatisch berechnet) (Voreinstellung = 137)
$thumbnail_modus = 1; //Modus 0: Größe anpassen,Bildausschnitt berechnen,nicht vergrössern , Modus 1: Größe anpassen, Bildausschnitt berechnen, vergrössern, Modus 2:Größe anpassen,vergrössern (Voreinstellung =1 )
$thumbnail_beschriftung = " Bilder"; //Auf der Übersicht wird dieser Inhalt hinter die Anzahl der Bilder geschrieben. (Voreinstellung = " - Bilder")
$thumbnails_dateiname_max = 20; //Gibt an wie lange die maximale Länge des Dateinamens ist. Ist der Dateiname länger wird er mit ... abgekürzt (Voreinstellung = 30)
//Große Vorschaubilder
$vorschau_breite = 528; //Breite des Vorschaubildes bei der Vorschauansicht (Höhe wird automatisch berechnet) (Voreinstellung = 528)
$vorschau_modus = 2; //Modus 0: Größe anpassen,Bildausschnitt berechnen,nicht vergrössern , Modus 1: Größe anpassen, Bildausschnitt berechnen, vergrössern, Modus 2:Größe anpassen,vergrössern (Voreinstellung = 2)
$vorschau_label = "Pixlie.de"; //Wird in das Vorschaubild eingebrannt //(Voreinstellung = Pixlie.de)
//--- Nur für erfahrene Benutzer ---
//Verzeichnisstrukturen (Nur ändern wenn Verzeichnisse umbenannt werden.)
$ordner_modul = "/cms"; //Verzeichnis in dem diese Datei liegt (Voreinstellung = /pixlie)
$ordner_gallerien = "/upload/bildergalerie"; //Verzeichnis in das die Gallerien hochgeladen werden (Muss in dem Modulverzeichnis liegen) (Voreinstellung = /upload)
$ordner_cache = "/cache"; //Verzeichnis mit dem Programm Cache (Inhalt kann jederzeit gelöscht werden) WICHTIG: MUSS CHMOD777 haben!!! (Voreinstellung = /cache)
//Dateinamen
$modul = basename($_SERVER[PHP_SELF]); //Name dieser Datei. Wenn nicht unbedingt nötig bitte nicht ändern. (Voreinstellung = index.php)
$engine = "cms/includes/pixlie/system/engine.inc"; //Name der AVE Engine (Voreinstellung = system/engine.inc)
//Originalbild
$seitentitel = "Originalgröße"; //(Voreinstellung = Originalgröße)
$footer = "© copyright 2006 - Alle Rechte vorbehalten."; //(Voreinstellung = © copyright 2006 - Alle Rechte vorbehalten.)
//********************************************************************************************************************************************
//************************************* WICHTIG: Ab hier bitte nichts mehr verändern !!! ***************************************************
//********************************************************************************************************************************************
/*
$root = $cfg['path']['frontend'];
$modul = basename($_SERVER[PHP_SELF]);
$engine = "cms/includes/pixlie/system/engine.inc"; //Name der AVE Engine (Voreinstellung = system/engine.inc)
$vorschau_label = "contenido.org";
$ordner_modul = "/cms"; //Verzeichnis in dem diese Datei liegt (Voreinstellung = /pixlie)
$ordner_gallerien = "/upload/bildergalerie"; //Verzeichnis in das die Gallerien hochgeladen werden (Muss in dem Modulverzeichnis liegen) (Voreinstellung = /upload)
$ordner_cache = "/cache"; //Verzeichnis mit dem Programm Cache (Inhalt kann jederzeit gelöscht werden) WICHTIG: MUSS CHMOD777 haben!!! (Voreinstellung = /cache)
define("sys_tpl_uebersicht_file","templates/uebersicht.html");
define("sys_tpl_gallerie_file","templates/gallerie.html");
define("sys_tpl_bildvorschau_file","templates/bildvorschau.html");
*/
//Definition der Konstanten
//Root
define("sys_root",$root.$ordner_modul);
define("sys_rooturl",$domaene.$ordner_modul);
//Gallery
define("sys_gallery",$root.$ordner_modul.$ordner_gallerien);
define("sys_galleryurl",$domaene.$ordner_gallerien);
//Cache
define("sys_cache",$root.$ordner_modul.$ordner_cache);
define("sys_cacheurl",$domaene.$ordner_modul.$ordner_cache);
//Thumbnails
define("sys_thumbnail_breite",$thumbnail_breite);
define("sys_thumbnail_modus",$thumbnail_vergreossern);
define("sys_thumbnail_trennblock",$thumbnail_trennblock);
define("sys_thumbnail_spalten",$thumbnail_spalten);
define("sys_thumbnail_beschriftung",$thumbnail_beschriftung);
define("sys_thumbnails_dateiname_max",$thumbnails_dateiname_max);
//Vorschaubilder
define("sys_vorschau_breite",$vorschau_breite);
define("sys_vorschau_modus",$vorschau_modus);
//Filenamen
define("sys_file_modul",$modul);
define("sys_file_engine",$engine);
//Beschriftung der Vorschaubilder
define("sys_bildbeschriftung",$vorschau_label);
//Template für die Übersicht:
define("sys_tpl_uebersicht_file","templates/uebersicht.html");
define("sys_tpl_uebersicht_ph_wiederholung","#wiederholung#");
define("sys_tpl_uebersicht_ph_pfad","#pfad#");
define("sys_tpl_uebersicht_ph_titel","#titel#");
define("sys_tpl_uebersicht_ph_bild","#bild#");
define("sys_tpl_uebersicht_ph_anzahl","#anzahl#");
define("sys_tpl_uebersicht_ph_gallerien","#gallerien#");
//Template für die Gallerie
define("sys_tpl_gallerie_file","templates/gallerie.html");
define("sys_tpl_gallerie_ph_wiederholung","#wiederholung#");
define("sys_tpl_gallerie_ph_pfad","#pfad#");
define("sys_tpl_gallerie_ph_titel","#titel#");
define("sys_tpl_gallerie_ph_bild","#bild#");
define("sys_tpl_gallerie_ph_menu","#menu#");
define("sys_tpl_gallerie_ph_gallerien","#gallerien#");
//Template für die Bildvorschau
define("sys_tpl_bildvorschau_file","templates/bildvorschau.html");
define("sys_tpl_bildvorschau_ph_wiederholung","#wiederholung#");
define("sys_tpl_bildvorschau_ph_pfad","#pfad#");
define("sys_tpl_bildvorschau_ph_bild","#bild#");
define("sys_tpl_bildvorschau_ph_menu","#menu#");
define("sys_tpl_bildvorschau_ph_gallerien","#gallerien#");
//Cachefunktion
define("sys_cache_thumbnails","/tn_");
define("sys_cache_vorschau","/vs_");
//Originalgröße
define("sys_ori_footer",$footer);
define("sys_ori_titel",$seitentitel);
//Textausgaben
define("sys_pfad_home","Übersicht");
define("sys_gallerien_ueberschrift","<b>Weitere Gallerien:</b><br>");
//Fehlermeldungen
define("sys_fehlermeldung01","<br><br><center><img src='system/chmod.gif'></center>");
define("sys_fehlermeldung02","<h2>Der Download konnte nicht gestartet werden, bitte speichern Sie die Datei manuell.: </h2>");
define("sys_fehlermeldung03","<br><br><center><img src='system/jpg.gif'></center>");
define("sys_fehlermeldung04","<br><br><center><img src='system/sonderzeichen.gif'></center>");
?>
Und jetzt der größte Brocken engine.inc. Hier wurde wie schon gesagt bei allen Erzeugungen von hrefs die Erweiterung um die Contenido-Variablen eingebaut.
Code: Alles auswählen
<?
//********************************************************************************************************************************************
//*************************************************** Grafikberechnungen *****************************************************************
//********************************************************************************************************************************************
function sys_resize_breite($src_img,$max_breite,$vergroessern)
{
global $contenidoqry;
//Seiteverhältinsse auslesen
$hoehe = imagesy($src_img); # original height
$breite = imagesx($src_img); # original width
$hoehe_neu = $hoehe;
$breite_neu = $breite;
switch ($vergroessern)
{
case 0:
if($breite>$max_breite)
{
$hoehe_neu = $max_breite / 4 * 3;
$hoehe_resize = $max_breite / $breite * $hoehe;
$breite_neu = $max_breite;
if($hoehe_resize<$hoehe_neu)
{
$faktor = 100 / $hoehe_resize * $hoehe_neu;
$hoehe_resize = $hoehe_neu;
$breite_neu = $max_breite * $faktor / 100;
}
$dst_img = ImageCreateTrueColor($max_breite,$hoehe_neu);
$resize_img = ImageCreateTrueColor($breite_neu,$hoehe_resize);
ImageCopyResized($resize_img, $src_img , 0,0,0,0, $breite_neu, $hoehe_resize, ImageSX($src_img), ImageSY($src_img));
$y=($hoehe_resize - $hoehe_neu) / 4;
ImageCopy ( $dst_img, $resize_img, 0, 0, 0, $y, $breite_neu, $hoehe_neu );
return($dst_img);
imageDestroy($dst_img);
}
else
{
return($src_img);
}
break;
case 1:
$hoehe_neu = $max_breite / 4 * 3;
$hoehe_resize = $max_breite / $breite * $hoehe;
$breite_neu = $max_breite;
if($hoehe_resize<$hoehe_neu)
{
$faktor = 100 / $hoehe_resize * $hoehe_neu;
$hoehe_resize = $hoehe_neu;
$breite_neu = $max_breite * $faktor / 100;
}
$dst_img = ImageCreateTrueColor($max_breite,$hoehe_neu);
$resize_img = ImageCreateTrueColor($breite_neu,$hoehe_resize);
ImageCopyResized($resize_img, $src_img , 0,0,0,0, $breite_neu, $hoehe_resize, ImageSX($src_img), ImageSY($src_img));
$y=($hoehe_resize - $hoehe_neu) / 4;
ImageCopy ( $dst_img, $resize_img, 0, 0, 0, $y, $breite_neu, $hoehe_neu );
return($dst_img);
imageDestroy($dst_img);
break;
case 2:
if($breite>$max_breite)
{
$hoehe_neu = $max_breite / $breite * $hoehe;
$breite_neu = $max_breite;
$dst_img = ImageCreateTrueColor($breite_neu,$hoehe_neu);
ImageCopyResized($dst_img, $src_img, 0,0,0,0, $breite_neu, $hoehe_neu, ImageSX($src_img), ImageSY($src_img));
$schwarz = imageColorAllocate($dst_img, 255, 255, 255);
imageStringup($dst_img, 2, 10,100, sys_bildbeschriftung, $schwarz);
return($dst_img);
imageDestroy($dst_img);
}
else
{
return($src_img);
}
break;
}
}
//********************************************************************************************************************************************
//*************************************************** Übersicht der Gallerien***************************************************************
//********************************************************************************************************************************************
function uebersicht()
{
global $contenidoqry;
//Template einlesen
$template=explode(sys_tpl_uebersicht_ph_wiederholung,implode('', file(sys_tpl_uebersicht_file)));
//Template vor der Wiederholung
$tpl_anfang = $template[0];
$tpl_anfang = str_replace(sys_tpl_uebersicht_ph_pfad,sys_pfad_home,$tpl_anfang);
//Template Wiederholung
$tpl_mitte = "";
$gallerien_root = opendir(sys_gallery);
$i==0;
while($gallerien_ordner = readdir($gallerien_root))
{
if($gallerien_ordner != "." && $gallerien_ordner != ".." && $gallerien_ordner[0] != '.')
{
if(is_dir(sys_gallery."/".$gallerien_ordner))
{
if((eregi("ä",$gallerien_ordner)==TRUE)||(eregi("ö",$gallerien_ordner)==TRUE)||(eregi("ü",$gallerien_ordner)==TRUE)||(eregi("ß",$gallerien_ordner)==TRUE)||(eregi("&",$gallerien_ordner)==TRUE)||(eregi("%",$gallerien_ordner)==TRUE)||(eregi("§",$gallerien_ordner)==TRUE))
{
die(sys_fehlermeldung04);
}
if($i==sys_thumbnail_spalten)
{
$tpl_mitte .= sys_thumbnail_trennblock;
$i=0;
};
$i++;
//Vorschaubild und Anzahl
$bilder_verzeichnis = opendir(sys_gallery."/".$gallerien_ordner);
$anzahl=0;
while($bilder_datei = readdir($bilder_verzeichnis))
{
if($bilder_datei != "." && $bilder_datei != ".." && $bilder_datei[0] != '.')
{
if(eregi("jpg",$bilder_datei)==FALSE)
{
die(sys_fehlermeldung03);
}
if((eregi("ä",$bilder_datei)==TRUE)||(eregi("ö",$bilder_datei)==TRUE)||(eregi("ü",$bilder_datei)==TRUE)||(eregi("ß",$bilder_datei)==TRUE)||(eregi("&",$bilder_datei)==TRUE)||(eregi("%",$bilder_datei)==TRUE)||(eregi("§",$bilder_datei)==TRUE))
{
die(sys_fehlermeldung04);
}
if(!is_dir(sys_gallery."/".$gallerien_ordner."/". $bilder_datei))
{
if(!file_exists(sys_cache.sys_cache_thumbnails.$bilder_datei))
{
$bilder_original = sys_gallery."/".$gallerien_ordner."/".$bilder_datei;
$bilder_thumbnail= @ImagecreateFromJpeg($bilder_original);
if(!@ImageJpeg(sys_resize_breite($bilder_thumbnail,sys_thumbnail_breite,sys_thumbnail_modus),sys_cache.sys_cache_thumbnails.$bilder_datei))
{die(sys_fehlermeldung01);}
imageDestroy($bilder_thumbnail);
}
$anzahl++;
if($anzahl==1)
{
$bildurl = sys_cacheurl.sys_cache_thumbnails.$bilder_datei;
}
}
}
}
/*
//Test: Ausgabe des Bildes per Formular:
$input_bild = '<form action="'.sys_file_modul.'" method="post" name="pixlie" id="pixlie">
<input name="imageField" type="image" src="'.$bildurl.'" alt="Galerie '.$gallerien_ordner.'anzeigen." border="0">
<input name="action" type="hidden" id="showgallery">
<input name="pfad" type="hidden" id="'.$gallerien_ordner.'">
</form>';
*/
$input_bild = '<a href="'.sys_rooturl.'/'.sys_file_modul.'?action=showgallery&pfad='.$gallerien_ordner.$contenidoqry.'"><img src="'.$bildurl.'" alt="Galerie '.$gallerien_ordner.'anzeigen." border="0"></a>';
$tpl_mitte .= str_replace(sys_tpl_uebersicht_ph_titel, $gallerien_ordner, $template[1]);
$tpl_mitte = str_replace(sys_tpl_uebersicht_ph_bild, $input_bild, $tpl_mitte);
$tpl_mitte = str_replace(sys_tpl_uebersicht_ph_anzahl, $anzahl.sys_thumbnail_beschriftung, $tpl_mitte);
}
}
}
$rest = sys_thumbnail_spalten - $i;
for($i=0;$i<$rest;$i++
){
$input_bild = '<table width="'.sys_thumbnail_breite.'" border="0" cellspacing="0" cellpadding="0"><tr><td> </td></tr></table>';
$tpl_mitte .= str_replace(sys_tpl_uebersicht_ph_titel, ' ', $template[1]);
$tpl_mitte = str_replace(sys_tpl_uebersicht_ph_bild, $input_bild, $tpl_mitte);
$tpl_mitte = str_replace(sys_tpl_uebersicht_ph_anzahl, ' ', $tpl_mitte);
}
//Keine Auflistung der Gallerien in der Übersicht
$tpl_ende = $template[2];
/*
//Auflistung der Gallerien auch in der Übersicht
//Template nach der Wiederholung
$tpl_ende = str_replace(sys_tpl_uebersicht_ph_gallerien,sys_gallerien_ueberschrift,$template[2]);
$gallerien_root = opendir (sys_gallery);
while($gallerien_ordner = readdir($gallerien_root))
{
if($gallerien_ordner != "." && $gallerien_ordner != ".." && $gallerien_ordner[0] != '.')
{
if(is_dir(sys_gallery."/". $gallerien_ordner))
{
$input_gallerien = '<a href="'.sys_rooturl.'/'.sys_file_modul.'?action=showgallery&pfad='.$gallerien_ordner.$contenidoqry.'">• '.$gallerien_ordner.'</a><br>';
$tpl_ende .= str_replace(sys_tpl_uebersicht_ph_gallerien,$input_gallerien,$template[2]);
}
}
}
*/
//Ausgabe des Templates
echo $tpl_anfang.$tpl_mitte.$tpl_ende;
}
//********************************************************************************************************************************************
//*************************************************** Anzeigen einer Bildergallerie *******************************************************
//********************************************************************************************************************************************
function showgallery($pfad)
{
global $contenidoqry;
//Template einlesen
$template=explode(sys_tpl_gallerie_ph_wiederholung,implode('', file(sys_tpl_gallerie_file)));
//Template vor der Wiederholung
$tpl_anfang = $template[0];
if(strlen($pfad)>sys_thumbnails_dateiname_max)
{
$pfad_gekuerzt = substr($pfad,0,sys_thumbnails_dateiname_max)."...";
}else{$pfad_gekuerzt=$pfad;}
$tpl_anfang = str_replace(sys_tpl_gallerie_ph_pfad,'<a href="'.sys_rooturl.'/'.sys_file_modul.'?action=start'.$contenidoqry.'">'.sys_pfad_home.'</a> / '.$pfad_gekuerzt ,$tpl_anfang);
//Template Wiederholung
$tpl_mitte = "";
$dir = opendir (sys_gallery."/".$pfad);
$i==0;
while($file = readdir($dir))
{
if($file != "." && $file != ".." && $file[0] != '.')
{
if(!is_dir(sys_gallery."/".$pfad."/". $file))
{
if(eregi("jpg",$file)==FALSE)
{
die(sys_fehlermeldung03);
}
if((eregi("ä",$file)==TRUE)||(eregi("ö",$file)==TRUE)||(eregi("ü",$file)==TRUE)||(eregi("ß",$file)==TRUE)||(eregi("&",$file)==TRUE)||(eregi("%",$file)==TRUE)||(eregi("§",$file)==TRUE))
{
die(sys_fehlermeldung04);
}
if(!file_exists(sys_cache.sys_cache_thumbnails.$file))
{
$picture = sys_gallery."/".$pfad."/".$file;
$src_img=@ImagecreateFromJpeg($picture);
ImageJpeg(sys_resize_breite( $src_img,sys_thumbnail_breite,sys_thumbnail_modus),sys_cache.sys_cache_thumbnails.$file);
imageDestroy($src_img);
}
if($i==sys_thumbnail_spalten)
{
$tpl_mitte .= sys_thumbnail_trennblock;
$i=0;
};
$i++;
$input_bild = '<a href="'.sys_rooturl.'/'.sys_file_modul.'?action=showpic&pfad='.$pfad.'&bild='.$file.$contenidoqry.'"><img src="'.sys_cacheurl.sys_cache_thumbnails.$file.'" alt="Bild '.$file.'anzeigen." border="0"></a>';
$tpl_mitte .= str_replace(sys_tpl_gallerie_ph_bild, $input_bild, $template[1]);
if(strlen($file)>sys_thumbnails_dateiname_max)
{
$file_gekuerzt = substr($file,0,sys_thumbnails_dateiname_max)."...";
}else{$file_gekuerzt=$file;}
$tpl_mitte = str_replace(sys_tpl_gallerie_ph_titel, $file_gekuerzt, $tpl_mitte);
}
}
}
$rest = sys_thumbnail_spalten - $i;
for($i=0;$i<$rest;$i++)
{
$input_bild = '<table width="'.sys_thumbnail_breite.'" border="0" cellspacing="0" cellpadding="0"><tr><td> </td></tr></table>';
$tpl_mitte .= str_replace(sys_tpl_gallerie_ph_bild, $input_bild, $template[1]);
$tpl_mitte = str_replace(sys_tpl_gallerie_ph_titel, ' ', $tpl_mitte);
}
$gallerien_root = opendir (sys_gallery);
$input_gallerien = sys_gallerien_ueberschrift;
while($gallerien_ordner = readdir($gallerien_root))
{
if($gallerien_ordner != "." && $gallerien_ordner != ".." && $gallerien_ordner[0] != '.')
{
if(is_dir(sys_gallery."/". $gallerien_ordner))
{
if($gallerien_ordner!=$pfad)
{
$input_gallerien .= '<a href="'.sys_rooturl.'/'.sys_file_modul.'?action=showgallery&pfad='.$gallerien_ordner.$contenidoqry.'">• '.$gallerien_ordner.'</a><br>';
}
}
}
}
//Template nach der Wiederholung
$tpl_ende = str_replace(sys_tpl_gallerie_ph_menu,"<a href='javascript:history.back();'>zurück</a>",$template[2]);
$tpl_ende = str_replace(sys_tpl_gallerie_ph_gallerien,$input_gallerien,$tpl_ende);
//Ausgabe des Templates
echo $tpl_anfang.$tpl_mitte.$tpl_ende;
}
//********************************************************************************************************************************************
//*************************************************** Anzeigen eines Bildes ***************************************************************
//********************************************************************************************************************************************
function showpic($pfad,$bild)
{
global $contenidoqry;
//Template einlesen
$template=explode(sys_tpl_bildvorschau_ph_wiederholung,implode('', file(sys_tpl_bildvorschau_file)));
//Template vor der Wiederholung
$tpl_anfang = $template[0];
if(strlen($pfad)>sys_thumbnails_dateiname_max)
{
$pfad_gekuerzt = substr($pfad,0,sys_thumbnails_dateiname_max)."...";
}else{$pfad_gekuerzt=$pfad;}
if(strlen($bild)>sys_thumbnails_dateiname_max)
{
$bild_gekuerzt = substr($bild,0,sys_thumbnails_dateiname_max)."...";
}else{$bild_gekuerzt=$bild;}
$tpl_anfang = str_replace(sys_tpl_bildvorschau_ph_pfad,'<a href="'.sys_rooturl.'/'.sys_file_modul.'?action=start'.$contenidoqry.'">'.sys_pfad_home.'</a> / <a href="'.sys_rooturl.'/'.sys_file_modul.'?action=showgallery&pfad='.$pfad.$contenidoqry.'"> '.$pfad_gekuerzt.'</a> / '.$bild_gekuerzt ,$tpl_anfang);
//Template Wiederholung
$tpl_mitte = "";
if(!file_exists(sys_cache.sys_cache_vorschau.$bild))
{
$picture = sys_gallery."/".$pfad."/".$bild;
if(eregi("jpg",$bild)==FALSE)
{
die(sys_fehlermeldung03);
}
if((eregi("ä",$bild)==TRUE)||(eregi("ö",$bild)==TRUE)||(eregi("ü",$bild)==TRUE)||(eregi("ß",$bild)==TRUE)||(eregi("&",$bild)==TRUE)||(eregi("%",$bild)==TRUE)||(eregi("§",$bild)==TRUE))
{
die(sys_fehlermeldung04);
}
$src_img=@ImagecreateFromJpeg($picture);
ImageJpeg(sys_resize_breite( $src_img,sys_vorschau_breite,sys_vorschau_modus),sys_cache.sys_cache_vorschau.$bild);
imageDestroy($src_img);
}
$input_bild = "<a href='javascript:history.back();'><img src='".sys_cacheurl.sys_cache_vorschau.$bild."' border='0' ></a><br>";
$tpl_mitte .= str_replace(sys_tpl_bildvorschau_ph_bild, $input_bild, $template[1]);
$picture = sys_gallery."/".$pfad."/".$bild;
$src_img=ImagecreateFromJpeg($picture);
$hoehe = imagesy($src_img); # original height
$breite = imagesx($src_img); # original width
$hoehe = $hoehe+50;
if(($hoehe>600)||($breite>800)){
$scrollbar = "yes";
}else{
$scrollbar = "no";
}
if(($hoehe>600)||($breite>800)){
$hoehe = 600;
$breite = 800;
}
$menu_back = "<a href='javascript:history.back();'>zurück</a> | ";
$menu_download = "<a href='".sys_rooturl."/".sys_file_modul."?action=download&pfad=".$pfad."&bild=".$bild.$contenidoqry."'>speichern</a> | ";
$menu_original = '<a href="#" onClick="Gallery=window.open(\''.sys_rooturl.'/'.sys_file_modul.'?action=originalbild&bild='.sys_galleryurl.'/'.$pfad.'/'.$bild.'\',\'gallery_popup\',\'directories=no,location=no,resizable=yes,scrollbars='.$scrollbar.',toolbar=no,status=yes,menubar=no,width='.$breite.',height='.$hoehe.'\')">originalgrösse</a>';
//Template nach der Wiederholung
$tpl_ende = str_replace(sys_tpl_bildvorschau_ph_menu,$menu_back.$menu_download.$menu_original,$template[2]);
$gallerien_root = opendir (sys_gallery);
$input_gallerien = sys_gallerien_ueberschrift;
while($gallerien_ordner = readdir($gallerien_root))
{
if($gallerien_ordner != "." && $gallerien_ordner != ".." && $gallerien_ordner[0] != '.')
{
if(is_dir(sys_gallery."/". $gallerien_ordner))
{
if($gallerien_ordner!=$pfad)
{
$input_gallerien .= '<a href="'.sys_rooturl.'/'.sys_file_modul.'?action=showgallery&pfad='.$gallerien_ordner.$contenidoqry.'">• '.$gallerien_ordner.'</a><br>';
}
}
}
}
$tpl_ende = str_replace(sys_tpl_bildvorschau_ph_gallerien,$input_gallerien,$tpl_ende);
//Ausgabe des Templates
echo $tpl_anfang.$tpl_mitte.$tpl_ende;
}
//********************************************************************************************************************************************
//*************************************************** Anzeigen des Bildes in Originalgröße *************************************************
//********************************************************************************************************************************************
function originalbild($bild)
{
global $contenidoqry;
?>
<title><? echo sys_ori_titel; ?></title>
<style type="text/css"><!--
body {
margin-left: 0px;
margin-top: 0px;
margin-right: 0px;
margin-bottom: 0px;
}
body,td,th {
font-family: Verdana, Arial, Helvetica, sans-serif;
font-size: 10px;
color: #666666
}
--></style>
<?
echo '<a href="#" onClick="Gallery=window.close()"><img src="'.$bild.'" border="0" alt="Original"></a>';
?>
<div align="center"><br><? echo sys_ori_footer; ?></div>
<?
}
//********************************************************************************************************************************************
//*************************************************** Downloaden eines Bildes **************************************************************
//********************************************************************************************************************************************
function download($pfad,$bild)
{
global $contenidoqry;
$file= sys_gallery."/".$pfad."/".$bild;
if (empty($file) || !file_exists($file))
{
echo sys_fehlermeldung02." <a href='".sys_galleryurl."/".$pfad."/".$bild."'>".sys_galleryurl."/".$pfad."/".$bild.$contenidoqry."</a>.";
}
else
{
$saveasname = basename($file);
header('Content-Type: application/octet-stream');
header('Content-Length: '.filesize($file));
header('Content-Disposition: attachment; filename="'.$saveasname.'"');
header('Content-Transfer-Encoding: binary');
readfile($file);
Echo sys_fehlermeldung02." <a href='".sys_galleryurl."/".$pfad."/".$bild."'>".sys_galleryurl."/".$pfad."/".$bild.$contenidoqry."</a>.";
}
}
?>