Bild mit Link...
Verfasst: Do 30. Mär 2006, 20:24
Hallo zusammen habe wieder einmal ne Frage und zwar wenn ich dieses modul http://www.contenido.de/forum/viewtopic ... 2be09b2e42 mehrmal verwenden will auf einer seite also einem layout muss ich dann einfach 10 solche module erstellen? das wäre ja ziemlich umständlich? und wenn schon was muss man wechseln?
input:
output:
gruss walsi 24
input:
Code: Alles auswählen
/***********************************************
* CONTENIDO MODUL - INPUT
*
* Modulname : Bild mit Thumb
* Author : Gerhard Müller
* Copyright : MKO
* Created : 4.3.2005
* Version : $Id$
* Modified : $Date$
************************************************/
if ( "CMS_VALUE[5]" )
{
$thm_dir="CMS_VALUE[5]";
}
else
{
$thm_dir = defined(THUMB_DIR)? THUMB_DIR: "thm"; // thumb dir - default "thm"
}
echo '<table cellspacing="0" cellpadding="10" border="0">';
echo '<tr><td>Thumb Verzeichnis (optional):</td>';
echo '<td><input type="text" name="CMS_VAR[5]" value="CMS_VALUE[5]" size="30" /></td></tr>';
echo '<tr><td>Maximale Breite Thumbs:</td>';
echo '<td><input type="text" name="CMS_VAR[6]" value="CMS_VALUE[6]" size="4" />px</td></tr>';
echo '<tr><td>Maximale Höhe Thumbs:</td>';
echo '<td><input type="text" name="CMS_VAR[7]" value="CMS_VALUE[7]" size="4" />px</td></tr>';
echo '<tr><td>Qualität Thumbs (optional):</td>';
echo '<td><input type="text" name="CMS_VAR[9]" value="CMS_VALUE[9]" size="3" />%</td></tr>';
$align = "CMS_VALUE[10]";
$opts = array ( "","absbottom","absmiddle","baseline","bottom","left","middle","right","texttop","top" );
echo '<tr><td>Ausrichtung Thumb (optional):</td>';
echo '<td><select name="CMS_VAR[10]">';
foreach ( $opts as $v )
{
$sel = ( $align==$v? "selected": "" );
echo "<option value=\"$v\" $sel>$v</option>";
}
echo '</select></td></tr>';
echo "<tr><td>Popup aktivieren:</td>";
$pop = "CMS_VALUE[8]";
$chk = ( $pop>""? "checked": "" );
echo '<td><input type="checkbox" name="CMS_VAR[8]" value="true" size="3" '.$chk.' /></td></tr>';
echo "</table>";
Code: Alles auswählen
/***********************************************
* CONTENIDO MODUL - OUTPUT
*
* Modulname : Bild mit Thumb
* Author : Gerhard Müller
* Copyright : MKO
* Created : 4.3.2005
* Version : $Id$
* Modified : $Date$
************************************************/
<?php
$viewer = "/src/viewer.php"; // image viewer for popups
$thm_dir = "CMS_VALUE[5]"? "CMS_VALUE[5]": "thm"; // thumb dir - default "thm"
$thm_maxw = intval("CMS_VALUE[6]"); // max width thumb
$thm_maxh = intval("CMS_VALUE[7]"); // max height thumb
$thm_qual = "CMS_VALUE[9]"? intval("CMS_VALUE[9]"): 80; //quality jpeg
$show_popup = "CMS_VALUE[8]"? true: false; // show popup yes/no
$align = "CMS_VALUE[10]"? 'align="CMS_VALUE[10]"': ""; // align thumb
$img_dir = $cfg['path']['frontend']; // base dir frontend
$img_src = "CMS_IMG[10]"; // src of image
$img_lnk = "CMS_LINK[10]"; // image link
$img_tgt = "CMS_LINKTARGET[10]"; // target of imagelink
$img_url = parse_url($img_src);
$img_path = "$img_dir".$img_url['path'];
if ( $img_src && file_exists($img_path) )
{
unset ($ratio);
$img_size = getimagesize ($img_path);
if ( $thm_maxw>0 )
{
$ratio = $thm_maxw/$img_size[0];
$thm_w = $thm_maxw;
$thm_h = round($ratio*$img_size[1]);
}
if ( $thm_maxh>0 )
{
$rh = $thm_maxh/$img_size[1];
$ratio = ( $ratio>$rh? $rh: $ratio );
$thm_w = round($ratio*$img_size[0]);
$thm_h = $thm_maxh;
}
$thm_src = $img_src;
if ( is_numeric($ratio) && $ratio<1 )
{
// use thumb, resize image
$thm_src = dirname($img_src)."/$thm_dir/".basename($img_src);
$thm_path = dirname($img_path)."/$thm_dir/".basename($img_path);
$flag_create = !file_exists($thm_path);
if ( !$flag_create )
{
$thm_size = getimagesize ( $thm_path );
if ( !$thm_size || $thm_size[0]!=$thm_w )
{
$flag_create = true;
}
}
if ( $flag_create )
{ // make thumb
if ( !file_exists(dirname($thm_path)) ) mkdir(dirname($thm_path),0777);
unset($i);
switch ( exif_imagetype($img_path) )
{
case IMAGETYPE_GIF:
$i = imagecreatefromgif($img_path);
break;
case IMAGETYPE_JPEG:
$i = imagecreatefromjpeg($img_path);
break;
case IMAGETYPE_PNG:
$i = imagecreatefrompng($img_path);
break;
case IMAGETYPE_BMP:
$i = imagecreatefromwbmp($img_path);
break;
case IMAGETYPE_SWF:
case IMAGETYPE_PSD:
case IMAGETYPE_TIFF_II:
case IMAGETYPE_TIFF_MM:
case IMAGETYPE_JPC:
case IMAGETYPE_JP2:
case IMAGETYPE_JPX:
case IMAGETYPE_SWC:
default:
$i = imagecreatefromxbm($fsrc);
} //detect image type
if ( $i )
{
$thm = imagecreatetruecolor($thm_w,$thm_h);
imagecolortransparent($thm,imagecolorat($i,0,0));
imagecopyresampled($thm,$i,0,0,0,0,$thm_w,$thm_h,$img_size[0],$img_size[1]) &&
imagejpeg($thm,$thm_path,$thm_qual);
imagedestroy($thm);
imagedestroy($i);
}
} // create thumb
} // $ratio<1
$img = sprintf('<img src="%s" border="0" %s>',$thm_src,$align);
$slf = "http://" . $_SERVER['HTTP_HOST'] . dirname($PHP_SELF) . "/";
if ( $img_lnk != "http://" && $img_lnk != $slf )
{
$img = sprintf('<a href="%s" target="%s">%s</a>',$img_lnk,$img_tgt,$img);
}
elseif ( $show_popup )
{
$img = sprintf('<a href="%s?img=%s" target="_blank">%s</a>',$viewer,urlencode($img_src),$img );
}
echo $img;
} // $img_src!=""
if ( $contenido || "CMS_IMGDESCR[10]" )
{
echo "<br>";
echo "CMS_IMGDESCR[10]";
}
if ( $contenido || "CMS_LINKDESCR[10]" )
{
echo "<br>";
echo "CMS_LINKDESCR[10]";
}
echo "<br>";
?>