jetzt check ich gar nichts mehr
ich habe jetzt 1:1 den code von rezeptionist oben:
Code: Alles auswählen
<?php
/**
* $Revision: 1.4 $
* $Source: D:/cvs/cvsrepo/test/PPI_Nade/module/picture/output.php,v $
* $Date: 2005/11/28 17:03:08 $
*/
/**
* picture
* @author Andreas Kummer
* @copyright Copyright © 2005, w3concepts AG
*/
if (!class_exists('picture')) {
class picture {
/**
* Klassenkonstruktor.
* @param String Absoluter Pfad zum Bild.
*/
function picture($bildpfad) {
global $cfgClient, $client;
if (empty($bildpfad)) return false;
$this->bildpfad = $bildpfad;
$this->link = $link;
/*
* Initialwerte fest legen
*/
$this->setIniValues();
/*
* Datenbankverbind initialisieren
*/
$this->db = new DB_contenido();
/*
* Bildpfad und Dateiname ermitteln
*/
$dirname = dirname($bildpfad)."/";
$dirname = str_replace ($cfgClient[$client]['path']['htmlpath'].$cfgClient[$client]['upload'],'',$dirname);
$filename = basename($bildpfad);
/*
* Bildpfad setzen
*/
$this->path = $this->createImage($dirname,$filename);
/*
* Popup-Titel setzen
*/
$this->setPopupTitle();
}
function setIniValues() {
global $cfgClient, $client;
$bildzielpfad = "CMS_VALUE[0]";
$this->bildzielpfad['frontend'] = $cfgClient[$client]['path']['htmlpath'].$cfgClient[$client]['upload'].$bildzielpfad;
$this->bildzielpfad['backend'] = $cfgClient[$client]['path']['frontend'].$cfgClient[$client]['upload'].$bildzielpfad;
$this->bildhoehe = "CMS_VALUE[1]";
$this->bildbreite = "CMS_VALUE[2]";
if (empty($this->bildhoehe)) $this->bildhoehe = 400;
if (empty($this->bildbreite)) $this->bildbreite = 200;
}
function setPopupTitle() {
global $cfg, $idart, $lang;
$this->db->query("SELECT pagetitle FROM {$cfg['tab']['art_lang']} WHERE idart = $idart AND idlang = $lang");
$this->db->next_record();
$this->title = $this->db->f('pagetitle');
}
function createImage($dirname, $filename) {
global $cfgClient, $client;
$src_image_size = getimagesize($cfgClient[$client]['path']['frontend'].$cfgClient[$client]['upload'].$dirname.$filename);
$this->srchoehe = $src_image_size[1];
$this->srcbreite = $src_image_size[0];
if ($src_image_size[0]/$this->bildbreite < $src_image_size[1]/$this->bildhoehe) {
$resizeFactor = $src_image_size[1]/$this->bildhoehe;
} else {
$resizeFactor = $src_image_size[0]/$this->bildbreite;
}
$this->bildhoehe = round($src_image_size[1]/$resizeFactor);
$this->bildbreite = round($src_image_size[0]/$resizeFactor);
$bilddateiname = "{$this->bildbreite}_{$this->bildhoehe}_$filename.jpg";
if (!file_exists("{$this->bildzielpfad['backend']}$bilddateiname")) {
$dst_im = imagecreatetruecolor($this->bildbreite,$this->bildhoehe);
if ($src_image_size[2] == 1) {
$src_im = imagecreatefromGIF($cfgClient[$client]['path']['frontend'].$cfgClient[$client]['upload'].$dirname.$filename);
} elseif ($src_image_size[2] == 2) {
$src_im = ImageCreateFromJPEG($cfgClient[$client]['path']['frontend'].$cfgClient[$client]['upload'].$dirname.$filename);
} elseif ($src_image_size[2] == 3) {
$src_im = ImageCreateFromPNG($cfgClient[$client]['path']['frontend'].$cfgClient[$client]['upload'].$dirname.$filename);
} else {
$src_im = imagecreatefromgd($cfgClient[$client]['path']['frontend'].$cfgClient[$client]['upload'].$dirname.$filename);
}
imagecopyresampled ($dst_im,$src_im,0,0,0,0,$this->bildbreite,$this->bildhoehe,$src_image_size[0],$src_image_size[1]);
imagejpeg ($dst_im,$this->bildzielpfad['backend'].$bilddateiname,100);
}
return $this->bildzielpfad['frontend'].$bilddateiname;
}
function outputPicture($link,$target,$imgDescr = null, $linkDescr = null) {
global $edit;
if ($edit) {
$this->outputPictureEdit($link, $target, $imgDescr, $linkDescr);
return false;
}
if (empty($link) || empty($this->bildpfad)) return false;
$img = "<img src=\"{$this->path}\" border=\"0\" width=\"{$this->bildbreite}\" height=\"{$this->bildhoehe}\">";
$breite = $this->bildbreite;
if ($link != "http://") {
$img = sprintf('<a href="%s" target="%s">%s</a>',$link, $target, $img);
} elseif ($this->bildpfad != '') {
$img = "<a href=\"javascript:popup({$this->srcbreite},{$this->srchoehe},'{$this->bildpfad}&title={$this->title}');\"><img src=\"{$this->path}\" border=\"0\" width=\"{$this->bildbreite}\" height=\"{$this->bildhoehe}\" /></a>";
}
if (empty($imgDescr)) {
echo '<div style="margin-bottom:3px;"><div style="width:'.$breite.'px; padding:1px;">'.$img.'</div></div>';
} else {
echo '<div style="margin-bottom:3px;"><div style="width:'.$breite.'px; padding:1px;">'.$img.'</div><div class="imgDescr">'.$imgDescr.'</div></div>';
}
}
function outputPictureEdit($link, $target, $imgDescr, $linkDescr) {
if (!empty($this->path)) {
echo "<img src=\"{$this->path}\" border=\"0\" width=\"{$this->bildbreite}\" height=\"{$this->bildhoehe}\">";
}
echo "<br />";
echo $imgDescr;
echo "<br />";
echo $linkDescr;
echo "<br />";
}
}
}
if (!$edit) {
echo '<script type="text/javascript" src="js/pictureResized.js"></script>'."\n";
}
$bild1 = new picture("CMS_IMG[2]"); // initialisierung
$bild1->outputPicture("CMS_LINK[2]","CMS_LINKTARGET[2]","CMS_IMGDESCR[2]","CMS_LINKDESCR[2]");
?>
einzige änderung:
nur ein bild zum testen
ff ok IE nochimmer kein image
LINK
hier noch zum vergleich meine .js und .php aus dem cms/js dir
Code: Alles auswählen
function popup(w,h,site) {
x = screen.availWidth/2-w/2;
y = screen.availHeight/2-h/2;
popupWindow = window.open('js/pictureResized.php?path='+site,'','width='+w+',height='+h+',left='+x+',top='+y+',screenX='+x+',screenY='+y);
}
Code: Alles auswählen
<html>
<head>
<title><?php echo $_GET['title']; ?></title>
</head>
<body leftmargin="0" marginwidth="0" topmargin="0" marginheight="0">
<img src="<?php echo $_GET['path']; ?>" onClick="self.close();"/>
</body>
</html>