Neue Features für "Bildergalerie mit Wasserzeichen &
Neue Features für "Bildergalerie mit Wasserzeichen &
Hallo,
wir erstellen gerade für einen Kunden eine Webseite.
Dabei verwenden wir obengenanntes Modul und haben es mit folgenden Features erweitert:
- vor und zurück button, wenn man ein Bild in der Grossansicht hat
- vor, index und zurück button oberhalb und unterhalb des Bildes (ideal für 1024er Auflösung)
- Auswahl in Konfiguration, ob Navi oben, unten oder an beiden Stellen gezeigt wird
- Bildversand per email mit Eingabe einer Nachricht
Wir werden das Modul online stellen, sobald unsere Kunden die Webseite und die entwickelten Module freigibt (in ca. 1 Woche).
Bei dringendem Bedarf bitte pm
wir erstellen gerade für einen Kunden eine Webseite.
Dabei verwenden wir obengenanntes Modul und haben es mit folgenden Features erweitert:
- vor und zurück button, wenn man ein Bild in der Grossansicht hat
- vor, index und zurück button oberhalb und unterhalb des Bildes (ideal für 1024er Auflösung)
- Auswahl in Konfiguration, ob Navi oben, unten oder an beiden Stellen gezeigt wird
- Bildversand per email mit Eingabe einer Nachricht
Wir werden das Modul online stellen, sobald unsere Kunden die Webseite und die entwickelten Module freigibt (in ca. 1 Woche).
Bei dringendem Bedarf bitte pm
also mit einer integrierten ecard lösung ?
klingt wirklich gut...
klingt wirklich gut...
*** make your own tools (wishlist :: thx)
Hallo,
hier endlich der freigegebene Code.
Die Seite ist aktiv:
http://www.telepeep.de "Events"
Imput:
Output:
Wäre nett, wenn ich Meinungen dazu hören würde.
VLG
OAA
hier endlich der freigegebene Code.
Die Seite ist aktiv:
http://www.telepeep.de "Events"
Imput:
Code: Alles auswählen
/*
Bildergallery
(c) by LGW, 2002
License: GPL, http://www.gnu.org/licenses/gpl.html
Fragen, Anregungen, Hilfegesuche: large@lilymarleen.de
Dokumentation:
1. How it works:
Die Bildergallery stellt alle Bilder in einem (frei wählbaren) Verzeichnis namentlich, oder
wenn verfügbar als Thumbnails dar. Ein klick auf ein Thumbnail öffnet das Bild wahlweise in der Galleryseite
statt der Thumbnailtabelle, oder in einer eigenen Inhaltsseite (kann wie interner Link ausgewählt werden).
Ist auf dem Webserver die ImageMagick-Software vorhanden, können die benöntigten Thumbnails
auch automatisch generiert werden; daför ist weiterhin ein Schreibzugriff für den Webserver auf
das Thumbnail-Verzeichnis nötig (alle+lesen/schreiben/wechseln, a+rwx).
2. Installation:
Zunächstmal wie gehabt das Modul anlegen. Der obere Teil in "INPUT", der untere in "OUTPUT".
Im Grunde genügt ein Template; sollen die Bilder "in gross" in einem anderen Template angezeigt werden,
muss auch in diesem ein Imagelib-Modul eingetragen werden! Dort spielen die Parameter allerdings keine Rolle.
Einstellungen zur Imagelib:
Einzelbild-Seite:
die Seite, in der die "grossen" Bilder dargestellt werden.
Image-Directory:
relative Verzeichnisangabe zu den Bildern (z.B. images_gallery1)
Thumbnail-Directory:
relative Verzeichnisangabe zu den Thumbnails (z.B. images_gallery1_thbs) - unbedingt ein *anderes* Verzeichnis als das Image-Directory!
Soll Imagemagick benutzt werden, muss der Webserver hier Schreibrechte haben! (so wie z.B. im logs-Verzeichnis)
Image-Dateiendung:
Hier können alle Endungen eingetragen werden, die als Image betrachtet werden sollen. Trenner ist das Semikolon, also
.jpg;.gif;.png
Thumbnailtabelle in Spalten x Zeilen:
Anzahl der Thumbnails in der Übersicht.
Thumbnail-Grösse:
Gibt zum einen die Grösse der Tabellenzellen an, zum anderen die Grösse auf die Imagemagick die Bilder umrechnet sofern
automatische Thumbnails verwendet werden
Pfad zum ImageMagick (optional):
Hier wird der Pfad zu den ImageMagick-Tools hinterlegt, im Regelfall /usr/bin oder /usr/X11/bin. Wird dies Feld freigelassen,
ist die automatische Generierung der Thumbnails ausgeschaltet!
modified by: Philipp Kölbl & Oliver Abeltshauser
*/
$selected = "CMS_VALUE[0]";
echo "<table cellspacing=\"0\" cellpadding=\"5\" border=\"0\">
<tr valign=\"top\">
<td>Einzelbild-Seite</td>
<td>
<select name=\"CMS_VAR[0]\">";
$sql = "SELECT * FROM $cfgTab_cat_tree AS TREE, $cfgTab_cat_side AS CATSIDE, $cfgTab_cat AS CAT, $cfgTab_cat_lang AS CATLANG, $cfgTab_side_lang AS SIDELANG WHERE TREE.idcat=CATSIDE.idcat AND CATSIDE.idcat=CATLANG.idcat AND CATLANG.idlang='$lang' AND CATSIDE.idside=SIDELANG.idside AND SIDELANG.idlang='$lang' AND CAT.idcat=TREE.idcat AND CAT.idclient='$client' ORDER BY TREE.idtree";
$db->query($sql);
if ($selected != 0) {
echo "<option value=0>diese Seite</option>";
} else {
echo "<option value=0 selected>diese Seite</option>";
}
while ($db->next_record()) {
$spaces = "";
for ($i=0; $i<$db->f("level"); $i++) {
$spaces = $spaces . " ";
}
if ( $db->f("idcatside") != $selected ) {
echo "<option value=\"".$db->f("idcatside")."\">$spaces ".$db->f("name")."---".$db->f("title")."</option>";
} else {
echo "<option value=\"".$db->f("idcatside")."\" selected>$spaces ".$db->f("name")."---".$db->f("title")."</option>";
}
}
echo "</select>";
echo " </td>
</tr>
<tr>
<td>
Image-Directory:
</td>
<td>
<input size=20 type=\"text\" name=\"CMS_VAR[2]\" value=\"CMS_VALUE[2]\">
</td>
</tr>
<tr>
<td>
Thumbnail-Directory:
</td>
<td>
<input size=20 type=\"text\" name=\"CMS_VAR[3]\" value=\"CMS_VALUE[3]\">
</td>
</tr>
<tr>
<td>
Image-Dateieendung (z.B. .jpg;.gif):
</td>
<td>
<input size=20 type=\"text\" name=\"CMS_VAR[4]\" value=\"CMS_VALUE[4]\">
</td>
</tr>
<tr>
<td>
Thumbnailtabelle in Spalten x Zeilen:
</td>
<td>
<input size=3 maxlength=2 type=\"text\" name=\"CMS_VAR[5]\" value=\"CMS_VALUE[5]\">x<input size=3 maxlength=2 type=\"text\" name=\"CMS_VAR[6]\" value=\"CMS_VALUE[6]\">
</td>
</tr>
<tr>
<td>
Thumbnailgrösse in XxY:
</td>
<td>
<input size=3 maxlength=2 type=\"text\" name=\"CMS_VAR[7]\" value=\"CMS_VALUE[7]\">x<input size=3 maxlength=2 type=\"text\" name=\"CMS_VAR[8]\" value=\"CMS_VALUE[8]\">
</td>
</tr>
<tr>
<td>Navigationslinks für Großansicht:</td>
<td>
<select name=\"CMS_VAR[10]\"> ";
$selected_option = "CMS_VALUE[10]";
if ($selected_option == "ou")
echo '<option selected value="ou">oben und unten</option>';
else
echo '<option value="ou">oben und unten</option>';
if ($selected_option == "o")
echo '<option selected value="o">nur oben</option>';
else
echo '<option value="o">nur oben</option>';
if ($selected_option == "u")
echo '<option selected value="u">nur unten</option>';
else
echo '<option value="u">nur unten</option>';
echo '</select>';
echo " </td>
</tr>
<tr>
<td>
Pfad zum ImageMagick (optional):
</td>
<td>
<input size=20 type=\"text\" name=\"CMS_VAR[9]\" value=\"CMS_VALUE[9]\">
</td>
</tr>
</table>";
// ENDE INPUT
Code: Alles auswählen
<?
// Bildergalerie
// Imageresize der Thumbs über ImageMagick *ODER* GD
// Wasserzeichen einbauen und große Bilder in gleiche Größen verkleinern
// Versenden von Bildern als Mail
// Version: 25.03.2005
//
// Author: Large Green Wood vgl. http://www.contenido.de/front_dev/upload/1ImageGal.txt
// Modified by: Robert Strouhal www.clearcreative.de
// Modified by: Daniel Buhmann www.cyberdan.de
// Modified by: Philipp Kölbl philipp(at)philk.de (Links zum vorwärts und rückwärts blättern,
// Mailversand) & Oliver Abeltshauser
//
echo "<p>\n";
// ANFANG OUTPUT
$imagedir="CMS_VALUE[2]";
$thumbnails="CMS_VALUE[3]";
$imagetypes=explode(";","CMS_VALUE[4]");
$rows="CMS_VALUE[6]";
$cols="CMS_VALUE[5]";
$thb_x_size="CMS_VALUE[7]";
$thb_y_size="CMS_VALUE[8]";
$image_idcat="CMS_VALUE[0]";
$image_idside="CMS_VALUE[1]";
$im_path="CMS_VALUE[9]";
$blaettern="CMS_VALUE[10]";
//-- config ende -------------------------------------
function is_image($filename,$typearray) {
reset($typearray);
while($val=each($typearray)) {
if (strstr($filename,$val[value])!==false) {
return true;
}
}
}
// verkleinert ein Bild auf die angegebene Breite (bei Querformat) oder Höhe (bei Hochformat)
// Seitenverhältnisse werden beibehalten
function resizeImageGD($sourceFile, $targetFile, $newwidth=50, $newheight=50){
$source = ImageCreateFromJpeg($sourceFile);
$width = ImageSx($source);
$height = ImageSy($source);
if ($width > $height){ // Querformat
$newheight = $height*($newwidth/$width);
}else{ // Hochformat
$newwidth = $width*($newheight/$height);
}
$target = ImageCreateTrueColor($newwidth,$newheight);
// ÄNDERUNG vgl. Forums-Beitrag imagecopyresized ($target, $source, 0, 0, 0, 0, $newwidth, $newheight, $width, $height);
imagecopyresampled ($target, $source, 0, 0, 0, 0, $newwidth, $newheight, $width, $height);
ImageJPEG($target,$targetFile,100);
}
//-- functions ende ----------------------------------
if (!isset($mmstart)) {
$mmstart=0;
}
$handle=opendir($imagedir);
// Anzeige eines Bildes oder Übersicht?
if ($subfile!="") {
if ($mail=="yes") {
// Mail versenden
if ($image_idcat!=0)
$img_url=$sess->url("front_content.php?client=$client&lang=$lang&subid=$subid&idcatside=$image_idcat&subfile=$subfile");
else
$img_url=$sess->url("front_content.php?client=$client&lang=$lang&subid=$subid&idcat=$idcat&idart=$idart&idside=$idside&subfile=$subfile");
$betreff = "Sie haben ein Bild erhalten!";
if ($mailsent == 1) {
if ($absender_name == "" || $absender_email == "" || $empfaenger_email == "" || $empfaenger_name == "")
$mailsent = 2;
$preg = "(^[_a-zA-Z0-9-]+(\.[_a-zA-Z0-9-]+)*@([a-zA-Z0-9-]+\.)+([a-zA-Z]{2,3})$)";
$email = $absender_email;
if(!preg_match("/$preg/",$email,$email))
$mailsent = 2;
$email = $empfaenger_email;
if(!preg_match("/$preg/",$email,$email))
$mailsent = 2;
}
if ( $mailsent == 1 ) {
// absoluten Pfad aus Datenbank holen
include ('../contenido/includes/config.php');
include $cfg["path"]["contenido"].$cfg["path"]["includes"] . 'cfg_sql.inc.php';
// Verbinden mit der Datenbank
$db = new DB_Contenido;
$query = "SELECT htmlpath FROM ".$cfg["tab"]["clients"]." WHERE idclient='".$client."'";
$db->query($query);
$db->next_record();
$front = $db->f("htmlpath");
$mailtext = "Hallo ".$empfaenger_name.", <br><br>".
$absender_name." hat Ihnen folgendes Bild geschickt:<br><br>".
"<a href=\"$front$img_url\"><img src=\"".$front.$subfile."\"></a><br><br>\n";
if ($nachrichtentext != "") {
$mailtext .= "Folgende Nachricht wurde gesendet:<br><br>";
$mailtext .= nl2br(htmlentities($nachrichtentext))."<br><br>\n";
}
$mailtext .= "<hr>Ein Service von <a href=\"http://www.telepeep.de\">www.telepeep.de</a>";
$mailheader = "MIME-Version: 1.0\n";
$mailheader .= "From: ".$absender_name."<".$absender_email.">\n";
$mailheader .= "Content-type: text/html; charset=iso-8859-1\n";
$mailheader .= "Content-Transfer-Encoding: 8bit\n";
$mailheader .= "X-Mailer: PHP/" .phpversion();
mail($empfaenger_email,$betreff,$mailtext,$mailheader);
// Bestätigung
?>
Ihre Nachricht wurde gesendet!
<br>
<center><img src="<?php echo $subfile; ?>"></center>
<br>
<br>
<center>
<table width="95%">
<tr>
<td class ="text" width="200"><b>Empfänger Name:</b></td>
<td class ="text"><?php echo $empfaenger_name; ?></td>
</tr>
<tr>
<td class ="text" width="200"><b>Empfänger E-Mail:</b></td>
<td class ="text"><?php echo $empfaenger_email; ?></td>
</tr>
<tr>
<td class ="text" width="200"><b>Absender Name:</b></td>
<td class ="text" ><?php echo $absender_name; ?></td>
</tr>
<tr>
<td class ="text" width="200"><b>Absender E-Mail:</b></td>
<td class ="text"><?php echo $absender_email; ?></td>
</tr>
<tr>
<td class ="text" colspan="2"> </td>
</tr>
<tr>
<td class ="text" colspan="2"><b>Ihre Nachricht:</b></td>
</tr>
<tr>
<td class ="text" colspan="2"><?php echo $nachrichtentext; ?></td>
</tr>
</table>
</form>
<a href="<?php echo $img_url; ?>">zurück</a>
</center>
<?php
}
if ($mailsent != 1) {
if ($mailsent == 2)
echo "Bitte prüfen Sie Ihre Eingaben! Alle Felder müssen sinnvoll ausgefüllt werden.";
else
echo "Sie können das folgende Bild als Mail versenden:";
// Beginn Layout Mailseite
?>
<br>
<center><img src="<?php echo $subfile; ?>"></center>
<br>
<br>
<center>
<form name="postcard" action="<?php echo $auth->url(); ?>" method="post">
<table width="95%">
<tr>
<td class ="text" width="200"><b>Empfänger Name:</b></td>
<td class ="text" ><input type="text" value="<?php echo $empfaenger_name; ?>" size="30" name="empfaenger_name"></td>
</tr>
<tr>
<td class ="text" width="200"><b>Empfänger E-Mail:</b></td>
<td class ="text" ><input type="text" value="<?php echo $empfaenger_email; ?>" size="30" name="empfaenger_email"></td>
</tr>
<tr>
<td class ="text" width="200"><b>Absender Name:</b></td>
<td class ="text" ><input type="text" value="<?php echo $absender_name; ?>" size="30" name="absender_name"></td>
</tr>
<tr>
<td class ="text" width="200"><b>Absender E-Mail:</b></td>
<td class ="text" ><input type="text" value="<?php echo $absender_email; ?>" size="30" name="absender_email"></td>
</tr>
<tr>
<td class ="text" colspan="2"> </td>
</tr>
<tr>
<td class ="text" colspan="2"><b>Ihre Nachricht:</b></td>
</tr>
<tr>
<td class ="text" colspan="2"><textarea rows="10" cols="68" name="nachrichtentext"><?php echo $nachrichtentext; ?></textarea></td>
</tr>
<tr>
<td colspan="2"><input type="submit" name="submit" value="Abschicken"></td>
</tr>
</table>
<input type="hidden" name="mailsent" value="1">
</form>
</center>
<a href="<?php echo $img_url; ?>">zurück</a>
<?php
// Ende Layout Mailseite
}
} else {
// Bild anzeigen
$n=0;
$filearray=Array();
while (false !== ($file = readdir($handle))) {
if ($file != "." && $file != ".." && is_image($file,$imagetypes))
$filearray[]=$file;
}
reset($filearray);
$prev_img = "";
$next_img = "";
$this_img = "";
$found = 0;
$n = 0;
while ($ffile=each($filearray)) {
$file=$ffile[value];
if ($imagedir."/".$file == $subfile) {
$prev_img = $temp_url;
$found = 1;
$imgno = $n;
} else if ($found == 1)
$found = 2;
if ($image_idcat!=0)
$temp_url=$sess->url("front_content.php?client=$client&lang=$lang&subid=$subid&idcatside=$image_idcat&subfile=".rawurlencode($imagedir."/".$file));
else
$temp_url=$sess->url("front_content.php?client=$client&lang=$lang&subid=$subid&idcat=$idcat&idart=$idart&idside=$idside&subfile=".rawurlencode($imagedir."/".$file));
if ($found == 1)
$this_img = $temp_url;
if ($found == 2) {
$next_img = $temp_url;
$found = 0;
}
$n++;
}
$mmstart = floor($imgno / ($rows * $cols)) * ($rows * $cols);
$url_gallery=$sess->url("front_content.php?client=$client&lang=$lang&idcat=$idcat&idart=$idart&subid=$subid&idside=$idside&mmstart=".$mmstart);
// Bild anzeigen
if ($blaettern == "ou" || $blaettern=="o") {
echo "<center>";
if ($prev_img != "")
echo "<a href=\"$prev_img\">vorheriges</a> ";
echo "<a href=\"$url_gallery\">Übersicht</a>";
if ($next_img != "")
echo " <a href=\"$next_img\">nächstes</a>";
echo "</center>";
echo "<br><center><a href=\"$this_img&mail=yes\">Dieses Bild als Mail versenden?</a></center>";
}
echo "<center>";
echo "<br>";
echo "<img src=\"$subfile\">";
echo "<br></center>";
if ($blaettern == "ou" || $blaettern=="u") {
echo "<br><center>";
if ($prev_img != "")
echo "<a href=\"$prev_img\">vorheriges</a> ";
echo "<a href=\"$url_gallery\">Übersicht</a>";
if ($next_img != "")
echo " <a href=\"$next_img\">nächstes</a>";
echo "</center>";
}
echo "<br><center><a href=\"$this_img&mail=yes\">Dieses Bild als Mail versenden?</a></center>";
}
} else {
// Gallery anzeigen
echo "<table border=\"0\" cellpadding=\"5\" cellspacing=\"0\">";
// Thumnail-Code generieren
$gallery = "";
$n=0;
$filearray=Array();
while (false !== ($file = readdir($handle))) {
if ($file != "." && $file != ".." && is_image($file,$imagetypes)) {
$filearray[]=$file;
}
}
reset($filearray);
// skip images...
for ($n=0;$n<$mmstart;$n++)
$ffile=each($filearray);
$n=0;
while ($ffile=each($filearray)) {
$file=$ffile[value];
// generate thumbnail, if nessesairy. Now THIS is fun :)
// natuerlich nur, wenn imagemagick vorhanden ist...
if (!file_exists($thumbnails."/thb_".$file) ) {
if ($im_path!="") {
$cmd=$im_path."/convert -scale ".$thb_x_size."x".$thb_y_size." ".$imagedir."/".$file." ".$thumbnails."/thb_".$file;
exec($cmd);
// nochmal prüfen!
$thumbnail=file_exists($thumbnails."/thb_".$file);
} else{
// Thumbnails mit GD verkleinern
@ini_set("max_execution_time", 120);
@resizeImageGD($imagedir."/".$file, $thumbnails."/thb_".$file, $thb_x_size,$thb_y_size);
$thumbnail=file_exists($thumbnails."/thb_".$file);
}
//Wasserzeichen einbauen und Bilder auf 500 Pixel Höhe oder Breite verkleinern
$size = getimagesize($imagedir."/".$file);
$width_old = $size[0];
$height_old = $size[1];
$old_picture = imagecreatefromjpeg($imagedir."/".$file);
if ($width_old > $height_old) {
$width_new = 600;
$height_new = intval($height_old * $width_new / $width_old);
} else {
$height_new = 600;
$width_new = intval($width_old * $height_new / $height_old);
}
$new_picture = imagecreatetruecolor($width_new, $height_new);
imagecopyresampled($new_picture, $old_picture, 0, 0, 0, 0, $width_new, $height_new, $width_old, $height_old);
$transition = 40;
$watermarkfile = imagecreatefrompng('images/wasserzeichen.png');
$watermarkpic_width = imagesx($watermarkfile);
$watermarkpic_height = imagesy($watermarkfile);
//rechts unten von OAA
$watermarkdest_x = $width_new - $watermarkpic_width;
$watermarkdest_y = $height_new - $watermarkpic_height;
// Ende OAA
imagecopymerge($new_picture, $watermarkfile, $watermarkdest_x, $watermarkdest_y, 0, 0, $watermarkpic_width, $watermarkpic_height, $transition);
imagejpeg($new_picture, $imagedir."/".$file, 100);
} else
$thumbnail=true;
if ($n%$cols==0)
$gallery .= "<tr>\n";
if ($image_idcat!=0)
$url=$sess->url("front_content.php?client=$client&lang=$lang&subid=$subid&idcatside=$image_idcat&subfile=".rawurlencode($imagedir."/".$file));
else
$url=$sess->url("front_content.php?client=$client&lang=$lang&subid=$subid&idcat=$idcat&idart=$idart&idside=$idside&subfile=".rawurlencode($imagedir."/".$file));
$gallery .= "<td valign=\"middle\" align=\"center\" width=\"$thb_x_size\" height=\"$thb_y_size\"><a href=\"$url\">".($thumbnail ? "<img src=\"$thumbnails/thb_$file\" border=\"0\">":"$file")."</a></td>\n";
$n++;
if ($n%$cols==0)
$gallery .= "</tr>\n";
// nur solange wie's not tut...
if ($n>=$rows*$cols)
break;
}
// Links zum Blättern durch die Thumbnail-Seite
$blaetterlinks = "<tr> <td colspan=\"$cols\" align=\"center\">";
if ($mmstart>0) {
$url=$sess->url("front_content.php?client=$client&lang=$lang&idcat=$idcat&idart=$idart&subid=$subid&idside=$idside&mmstart=".($mmstart-$rows*$cols));
$blaetterlinks .= "<a href=\"$url\">vorherige Bilder...</a> ";
}
$blaetterlinks .= "<span style=\"font-size: 9pt;\">| zeige Bilder ".($mmstart+1)." - ".($mmstart+$n)." |</span>";
if ($n+$mmstart<count($filearray)) {
$url=$sess->url("front_content.php?client=$client&lang=$lang&idcat=$idcat&idart=$idart&subid=$subid&idside=$idside&mmstart=".($mmstart+$rows*$cols));
$blaetterlinks .= " <a href=\"$url\">weitere Bilder...</a>";
}
// alles ausgeben
if ($blaettern == "ou" || $blaettern=="o") {
echo $blaetterlinks;
}
echo $gallery;
if ($blaettern == "ou" || $blaettern=="u") {
echo $blaetterlinks;
}
echo "</tr>\n";
echo "</table>";
} // Ende Gallery anzeigen
echo "</p>";
?>
VLG
OAA
ich habe gerade noch einen Fehler beim VErsand der Ecard gefunden. Die Mail wird versendet, aber nach dem Versand wird auf der Seite folgende Fehlermeldung ausgegeben:
edit: Habe den Fehler entdeckt. Für alle, die die Pfade in des Backends geändet habe muß in Zeile 110 des Outputs noch der genaue Pfad angepasst werden:
Code: Alles auswählen
Warning: Unknown(../contenido/includes/config.php): failed to open stream: No such file or directory in /kunden/.../front_content.php(563) : eval()'d code on line 657
Warning: Unknown(../contenido/includes/config.php): failed to open stream: No such file or directory in /kunden/.../front_content.php(563) : eval()'d code on line 657
Warning: (null)(): Failed opening '../contenido/includes/config.php' for inclusion (include_path='.:/usr/local/lib/php') in /kunden/.../front_content.php(563) : eval()'d code on line 657
Ihre Nachricht wurde gesendet!
Code: Alles auswählen
// absoluten Pfad aus Datenbank holen
include ('../contenido/includes/config.php');
-
- Beiträge: 15
- Registriert: So 6. Feb 2005, 23:29
- Kontaktdaten:
Vielen Dank für das tolle Modul
Hallo OAA
Leider bin ich nicht so pfiffig und kann meine Scripte selber schreiben. So greife ich immer wieder auf das Board zurück. Das Script kann ich gut gebrauchen, vielen Dank dafür und auch für deine Hilfe.
Viele Grüße
Ralf
Leider bin ich nicht so pfiffig und kann meine Scripte selber schreiben. So greife ich immer wieder auf das Board zurück. Das Script kann ich gut gebrauchen, vielen Dank dafür und auch für deine Hilfe.
Viele Grüße
Ralf
Update - Verzeichnis via Pulldownmenu
Hi Leute!
Super Modul! Aber ich hab es noch ein bisschen verfeinert!
Die Verzeichnise können nun via Pulldownmenu ausgewählt werden.
Ein weitere Mod werd ich euch in den nächsten Tagen zur Verfügung stellen... Großansicht als Popup
----
Es muss nur der Input ausgetauscht werden:
Schöne Grüße
Lux
http://www.luxmedia.at
Super Modul! Aber ich hab es noch ein bisschen verfeinert!
Die Verzeichnise können nun via Pulldownmenu ausgewählt werden.
Ein weitere Mod werd ich euch in den nächsten Tagen zur Verfügung stellen... Großansicht als Popup
----
Es muss nur der Input ausgetauscht werden:
Code: Alles auswählen
$selected = "CMS_VALUE[0]";
$path1 = "CMS_VALUE[2]";
$path2 = "CMS_VALUE[3]";
$path2imagemagick = "/usr/bin";
echo "<table cellspacing=\"0\" cellpadding=\"5\" border=\"0\">
<tr valign=\"top\">
<td>Einzelbild-Seite</td>
<td>
<select name=\"CMS_VAR[0]\">";
$sql = "SELECT * FROM $cfgTab_cat_tree AS TREE, $cfgTab_cat_side AS CATSIDE, $cfgTab_cat AS CAT, $cfgTab_cat_lang AS CATLANG, $cfgTab_side_lang AS SIDELANG WHERE TREE.idcat=CATSIDE.idcat AND CATSIDE.idcat=CATLANG.idcat AND CATLANG.idlang='$lang' AND CATSIDE.idside=SIDELANG.idside AND SIDELANG.idlang='$lang' AND CAT.idcat=TREE.idcat AND CAT.idclient='$client' ORDER BY TREE.idtree";
$db->query($sql);
if ($selected != 0) {
echo "<option value=0>diese Seite</option>";
} else {
echo "<option value=0 selected>diese Seite</option>";
}
while ($db->next_record()) {
$spaces = "";
for ($i=0; $i<$db->f("level"); $i++) {
$spaces = $spaces . " ";
}
if ( $db->f("idcatside") != $selected ) {
echo "<option value=\"".$db->f("idcatside")."\">$spaces ".$db->f("name")."---".$db->f("title")."</option>";
} else {
echo "<option value=\"".$db->f("idcatside")."\" selected>$spaces ".$db->f("name")."---".$db->f("title")."</option>";
}
}
echo "</select>";
echo " </td>
</tr>
<tr>
<td>
Image-Directory:
</td>
<td> ";
// hier die select auswahl der verzeichnisse
function get_dir_array($dir){
global $i,$dirs_array;
$current_dir = opendir($dir);
while($entryname = readdir($current_dir)){
if(is_dir("$dir/$entryname") and ($entryname != "." and $entryname!="..")){
get_dir_array("${dir}/${entryname}");
$dirs_array[$i] = "${dir}/${entryname}";
$i++;
}
}
closedir($current_dir);
return $dirs_array;
}
$i = 0;
$path = substr_replace($cfgClient[$client]["path"]["upload"], "", strrpos($cfgClient[$client]["path"]["upload"], "/"));
$verz_liste = get_dir_array($path);
echo "<select name=\"CMS_VAR[2]\">";
foreach ( $verz_liste as $verz ){
$verz = eregi_replace ($cfg['path']['frontend']."/cms/", "", $verz);
if ( $path1 == $verz ){ $wwi = "selected"; }
else { $wwi = ""; }
echo "<option value=\"$verz\" $wwi>$verz</option>";
}
echo "</select>";
echo "
</td>
</tr>
<tr>
<td>
Thumbnail-Directory:
</td>
<td>
";
echo "<select name=\"CMS_VAR[3]\">";
foreach ( $verz_liste as $verz ){
$verz = eregi_replace ($cfg['path']['frontend']."/cms/", "", $verz);
if ( $path2 == $verz ){ $wwi = "selected"; }
else { $wwi = ""; }
echo "<option value=\"$verz\" $wwi>$verz</option>";
}
echo "</select>";
echo "
</td>
</tr>
<tr>
<td>
Image-Dateieendung (z.B. .jpg;.gif):
</td>
<td>
<input size=20 type=\"text\" name=\"CMS_VAR[4]\" value=\"CMS_VALUE[4]\">
</td>
</tr>
<tr>
<td>
Thumbnailtabelle in Spalten x Zeilen:
</td>
<td>
<input size=3 maxlength=2 type=\"text\" name=\"CMS_VAR[5]\" value=\"CMS_VALUE[5]\">x<input size=3 maxlength=2 type=\"text\" name=\"CMS_VAR[6]\" value=\"CMS_VALUE[6]\">
</td>
</tr>
<tr>
<td>
Thumbnailgrösse in XxY:
</td>
<td>
<input size=3 maxlength=2 type=\"text\" name=\"CMS_VAR[7]\" value=\"CMS_VALUE[7]\">x<input size=3 maxlength=2 type=\"text\" name=\"CMS_VAR[8]\" value=\"CMS_VALUE[8]\">
</td>
</tr>
<tr>
<td>Navigationslinks für Großansicht:</td>
<td>
<select name=\"CMS_VAR[10]\"> ";
$selected_option = "CMS_VALUE[10]";
if ($selected_option == "ou")
echo '<option selected value="ou">oben und unten</option>';
else
echo '<option value="ou">oben und unten</option>';
if ($selected_option == "o")
echo '<option selected value="o">nur oben</option>';
else
echo '<option value="o">nur oben</option>';
if ($selected_option == "u")
echo '<option selected value="u">nur unten</option>';
else
echo '<option value="u">nur unten</option>';
echo '</select>';
echo " </td>
</tr>
<tr>
<td>
Pfad zum ImageMagick (optional):
</td>
<td>
<input size=20 type=\"text\" name=\"CMS_VAR[9]\" value=\"CMS_VALUE[9]\">
</td>
</tr>
</table>";
// ENDE INPUT
Lux
http://www.luxmedia.at
Das Leben besteht aus Nullen und Einsen!
-
- Beiträge: 15
- Registriert: So 6. Feb 2005, 23:29
- Kontaktdaten:
Ich nutze das Script weiterhin auf einer Schulseite.
Hat nicht jemand Lust mir noch 2 kleine Wünsche in das Script einzubauen? Hier meine Wünsche:
1. Ich bin von Natur aus neugierig und würde gerne auch immer eine versendete Bildnachricht bekommen. Leider habe ich es noch nicht geschafft, meine Mailaddy an die richtige Stelle im Script zu setzen, so das ich auch eine Kopie bekomme.
2. Wir möchten gerne eine Galerie mit Fotos, die über das Schuljahr hinweg geschossen wurden mit einem kleinen Bildertext versehen, damit man kurz die Situation auf dem Foto beschreiben kann. Das gibt es ja schon für andere Galerien, doch leider bekomme ich es selber nicht eingebaut.
Es wäre schön, wenn sich jemand etwas Zeit nehmen würde. Wäre auch für eine kleine Spende bereit, bitte vorher anfragen.
Gruß Ralf
Hat nicht jemand Lust mir noch 2 kleine Wünsche in das Script einzubauen? Hier meine Wünsche:
1. Ich bin von Natur aus neugierig und würde gerne auch immer eine versendete Bildnachricht bekommen. Leider habe ich es noch nicht geschafft, meine Mailaddy an die richtige Stelle im Script zu setzen, so das ich auch eine Kopie bekomme.
2. Wir möchten gerne eine Galerie mit Fotos, die über das Schuljahr hinweg geschossen wurden mit einem kleinen Bildertext versehen, damit man kurz die Situation auf dem Foto beschreiben kann. Das gibt es ja schon für andere Galerien, doch leider bekomme ich es selber nicht eingebaut.
Es wäre schön, wenn sich jemand etwas Zeit nehmen würde. Wäre auch für eine kleine Spende bereit, bitte vorher anfragen.
Gruß Ralf
-
- Beiträge: 5478
- Registriert: Di 2. Mär 2004, 21:11
- Wohnort: Halchter, wo sonst? ;-)
- Kontaktdaten:
Hallo Ralf,
ich weiss nicht, ob dich das interessiert, aber ich finde das:
Gruss
Christa
ich weiss nicht, ob dich das interessiert, aber ich finde das:
ueberhaupt nicht hoeflich, Privatnachrichten anderer zu lesen, von Missachtung der Privatsphaere und des "Briefgeheimnisses" ganz zu schweigen ...nettertaler hat geschrieben:1. Ich bin von Natur aus neugierig und würde gerne auch immer eine versendete Bildnachricht bekommen. Leider habe ich es noch nicht geschafft, meine Mailaddy an die richtige Stelle im Script zu setzen, so das ich auch eine Kopie bekomme.
Gruss
Christa
-
- Beiträge: 15
- Registriert: So 6. Feb 2005, 23:29
- Kontaktdaten:
Das so etwas kommt, hätte ich mir fast denken können.Halchteranerin hat geschrieben:Hallo Ralf,
ich weiss nicht, ob dich das interessiert, aber ich finde das:ueberhaupt nicht hoeflich, Privatnachrichten anderer zu lesen, von Missachtung der Privatsphaere und des "Briefgeheimnisses" ganz zu schweigen ...nettertaler hat geschrieben:1. Ich bin von Natur aus neugierig und würde gerne auch immer eine versendete Bildnachricht bekommen. Leider habe ich es noch nicht geschafft, meine Mailaddy an die richtige Stelle im Script zu setzen, so das ich auch eine Kopie bekomme.


Problem mit der Installation
Ich benutze Contenido 4.4.5.
Nun habe ich diese Galerie nach bekannter Weise installiert.
1) Modul installiert
2)Template erstellt
3)Kategorie und Artikel erstellt
Bilder in die entsprechende Datei (Verzeichnis hochgeladen und den Pfad angegeben.
Die Homepage liegt im Root
Contenido ein Verzeichnis weiter
Wenn ich in den Artikel hineingehe erhalte ich im Artikel (HP) eine Fehlermeldung mit folgendem Inhalt:
Root ist bei mir "contenidocms"
Die Bilder liegen in "upload - galerie-
Die Thumbs in upload - galerie-thumb_galerie
Den Pfad zu Contenido im Output habe ich geändert, da die HP im Root liegt:
Bilder werden auch nicht angezeigt, sondern nur deren Platzhalter.
Was habe ich falsch gemacht?
Wo gibt es eine genaue Gebrauchsanweisung?
Nun habe ich diese Galerie nach bekannter Weise installiert.
1) Modul installiert
2)Template erstellt
3)Kategorie und Artikel erstellt
Bilder in die entsprechende Datei (Verzeichnis hochgeladen und den Pfad angegeben.
Die Homepage liegt im Root
Contenido ein Verzeichnis weiter
Wenn ich in den Artikel hineingehe erhalte ich im Artikel (HP) eine Fehlermeldung mit folgendem Inhalt:
Code: Alles auswählen
Warning: imagecreatefrompng(images/wasserzeichen.png): failed to open stream: No such file or directory in /homepages/33/d96200902/htdocs/contenidocms/contenido/includes/include.con_editcontent.php(571) : eval()'d code on line 947
Warning: imagesx(): supplied argument is not a valid Image resource in /homepages/33/d96200902/htdocs/contenidocms/contenido/includes/include.con_editcontent.php(571) : eval()'d code on line 948
Warning: imagesy(): supplied argument is not a valid Image resource in /homepages/33/d96200902/htdocs/contenidocms/contenido/includes/include.con_editcontent.php(571) : eval()'d code on line 949
Warning: imagecopymerge(): supplied argument is not a valid Image resource in /homepages/33/d96200902/htdocs/contenidocms/contenido/includes/include.con_editcontent.php(571) : eval()'d code on line 955
Die Bilder liegen in "upload - galerie-
Die Thumbs in upload - galerie-thumb_galerie
Den Pfad zu Contenido im Output habe ich geändert, da die HP im Root liegt:
Code: Alles auswählen
// absoluten Pfad aus Datenbank holen
include ('contenido/includes/config.php');
Was habe ich falsch gemacht?
Wo gibt es eine genaue Gebrauchsanweisung?
-
- Beiträge: 15
- Registriert: So 6. Feb 2005, 23:29
- Kontaktdaten:
Bildgroesse veraendert sich
Habe mich soweit selbst durchgearbeitet.
Der Fehler lag an der noch nicht installierten >wasserzeichen.png<
Dieses ist nun erledigt. Die ERROR-Meldung ist nun weg.
Danach tauchte allerding noch ein Fehler auf. Die Pfadangabe zu den Bilder fing mit:
/homepages/33/xxxxxxxx/contenidocms/upload/weiterer Pfad...
Das war so nicht richtig. Das habe ich auch korrigiert.
Jetzt taucht aber ein weitereres Problem auf. Die hochgeladenen Bilder habe ich in der Groesse von 450x312 px. Rufe ich nun die Homepage auf und gehe auf die Galerieseite, so wird auch das entsprechende Thumbnail geladen. Klicke ich auf dieses Bild, so erscheint auch wie gewollt das grosse bild. Nur hat sich leider auch die Groesse veraendert auf 600x416 px.
Dieses ist allerdings nicht meine Absicht. Die hochgeladene Groesse soll beibehalten werden, da sie sonst das Outfit der Homepage veraendert.
Was kann ich tun, dass die gewollte Groesse bleibt?
Der Fehler lag an der noch nicht installierten >wasserzeichen.png<
Dieses ist nun erledigt. Die ERROR-Meldung ist nun weg.
Danach tauchte allerding noch ein Fehler auf. Die Pfadangabe zu den Bilder fing mit:
/homepages/33/xxxxxxxx/contenidocms/upload/weiterer Pfad...
Das war so nicht richtig. Das habe ich auch korrigiert.
Jetzt taucht aber ein weitereres Problem auf. Die hochgeladenen Bilder habe ich in der Groesse von 450x312 px. Rufe ich nun die Homepage auf und gehe auf die Galerieseite, so wird auch das entsprechende Thumbnail geladen. Klicke ich auf dieses Bild, so erscheint auch wie gewollt das grosse bild. Nur hat sich leider auch die Groesse veraendert auf 600x416 px.
Dieses ist allerdings nicht meine Absicht. Die hochgeladene Groesse soll beibehalten werden, da sie sonst das Outfit der Homepage veraendert.
Was kann ich tun, dass die gewollte Groesse bleibt?
Keine Thumbnails
Ich habe ein weiteres Template fuer eine zweite Galerie erstellt. Bilder in ein neues Verzeichnis hochgeladen und einen neuen Artikel erstellt.
Gehe ich auf die neue Seite, so werden keine Thumbnails angezeigt. Stattdessen nur die Bildnummern. Druecke ich einmal auf eine Bildnummer, so erscheint das vergroesserte Bild. Alle weitere Funktionen gehen
Nur leider die Thumbnails nicht.
Galerie A funktioniert:
http://www.koengernheimer-dalmatiner.de ... p?idcat=47
Galerie B funktioniert nicht
http://www.koengernheimer-dalmatiner.de ... p?idcat=48
Was habe ich falsch gemacht?
Hier einmal die geaenderten Daten:
Gehe ich auf die neue Seite, so werden keine Thumbnails angezeigt. Stattdessen nur die Bildnummern. Druecke ich einmal auf eine Bildnummer, so erscheint das vergroesserte Bild. Alle weitere Funktionen gehen
Nur leider die Thumbnails nicht.
Galerie A funktioniert:
http://www.koengernheimer-dalmatiner.de ... p?idcat=47
Galerie B funktioniert nicht
http://www.koengernheimer-dalmatiner.de ... p?idcat=48
Was habe ich falsch gemacht?
Hier einmal die geaenderten Daten:
Code: Alles auswählen
//Galerie mit Card
//Input
//--------------------------------------------------------
$selected = "CMS_VALUE[0]";
$path1 = "CMS_VALUE[2]";
$path2 = "CMS_VALUE[3]";
$path2imagemagick = "/usr/bin";
echo "<table cellspacing=\"0\" cellpadding=\"5\" border=\"0\">
<tr valign=\"top\">
<td>Einzelbild-Seite</td>
<td>
<select name=\"CMS_VAR[0]\">";
$sql = "SELECT * FROM $cfgTab_cat_tree AS TREE, $cfgTab_cat_side AS CATSIDE, $cfgTab_cat AS CAT, $cfgTab_cat_lang AS CATLANG, $cfgTab_side_lang AS SIDELANG WHERE TREE.idcat=CATSIDE.idcat AND CATSIDE.idcat=CATLANG.idcat AND CATLANG.idlang='$lang' AND CATSIDE.idside=SIDELANG.idside AND SIDELANG.idlang='$lang' AND CAT.idcat=TREE.idcat AND CAT.idclient='$client' ORDER BY TREE.idtree";
$db->query($sql);
if ($selected != 0) {
echo "<option value=0>diese Seite</option>";
} else {
echo "<option value=0 selected>diese Seite</option>";
}
while ($db->next_record()) {
$spaces = "";
for ($i=0; $i<$db->f("level"); $i++) {
$spaces = $spaces . " ";
}
if ( $db->f("idcatside") != $selected ) {
echo "<option value=\"".$db->f("idcatside")."\">$spaces ".$db->f("name")."---".$db->f("title")."</option>";
} else {
echo "<option value=\"".$db->f("idcatside")."\" selected>$spaces ".$db->f("name")."---".$db->f("title")."</option>";
}
}
echo "</select>";
echo " </td>
</tr>
<tr>
<td>
Image-Directory:
</td>
<td> ";
// hier die select auswahl der verzeichnisse
function get_dir_array($dir){
global $i,$dirs_array;
$current_dir = opendir($dir);
while($entryname = readdir($current_dir)){
if(is_dir("$dir/$entryname") and ($entryname != "." and $entryname!="..")){
get_dir_array("${dir}/${entryname}");
$dirs_array[$i] = "${dir}/${entryname}";
$i++;
}
}
closedir($current_dir);
return $dirs_array;
}
$i = 0;
$path = substr_replace($cfgClient[$client]["path"]["upload"], "", strrpos($cfgClient[$client]["path"]["upload"], "/"));
$verz_liste = get_dir_array($path);
echo "<select name=\"CMS_VAR[2]\">";
foreach ( $verz_liste as $verz ){
$verz = eregi_replace ($cfg['path']['frontend']."/", "", $verz);
if ( $path1 == $verz ){ $wwi = "selected"; }
else { $wwi = ""; }
echo "<option value=\"$verz\" $wwi>$verz</option>";
}
echo "</select>";
echo "
</td>
</tr>
<tr>
<td>
Thumbnail-Directory:
</td>
<td>
";
echo "<select name=\"CMS_VAR[3]\">";
foreach ( $verz_liste as $verz ){
$verz = eregi_replace ($cfg['path']['frontend']."/", "", $verz);
if ( $path2 == $verz ){ $wwi = "selected"; }
else { $wwi = ""; }
echo "<option value=\"$verz\" $wwi>$verz</option>";
}
echo "</select>";
echo "
</td>
</tr>
<tr>
<td>
Image-Dateieendung (z.B. .jpg;.gif):
</td>
<td>
<input size=20 type=\"text\" name=\"CMS_VAR[4]\" value=\"CMS_VALUE[4]\">
</td>
</tr>
<tr>
<td>
Thumbnailtabelle in Spalten x Zeilen:
</td>
<td>
<input size=3 maxlength=2 type=\"text\" name=\"CMS_VAR[5]\" value=\"CMS_VALUE[5]\">x<input size=3 maxlength=2 type=\"text\" name=\"CMS_VAR[6]\" value=\"CMS_VALUE[6]\">
</td>
</tr>
<tr>
<td>
Thumbnailgrösse in XxY:
</td>
<td>
<input size=3 maxlength=2 type=\"text\" name=\"CMS_VAR[7]\" value=\"CMS_VALUE[7]\">x<input size=3 maxlength=2 type=\"text\" name=\"CMS_VAR[8]\" value=\"CMS_VALUE[8]\">
</td>
</tr>
<tr>
<td>Navigationslinks für Großansicht:</td>
<td>
<select name=\"CMS_VAR[10]\"> ";
$selected_option = "CMS_VALUE[10]";
if ($selected_option == "ou")
echo '<option selected value="ou">oben und unten</option>';
else
echo '<option value="ou">oben und unten</option>';
if ($selected_option == "o")
echo '<option selected value="o">nur oben</option>';
else
echo '<option value="o">nur oben</option>';
if ($selected_option == "u")
echo '<option selected value="u">nur unten</option>';
else
echo '<option value="u">nur unten</option>';
echo '</select>';
echo " </td>
</tr>
<tr>
<td>
Pfad zum ImageMagick (optional):
</td>
<td>
<input size=20 type=\"text\" name=\"CMS_VAR[9]\" value=\"CMS_VALUE[9]\">
</td>
</tr>
</table>";
// ENDE INPUT
--------------------------------------
//OUTPUT
<?
// Bildergalerie
// Imageresize der Thumbs über ImageMagick *ODER* GD
// Wasserzeichen einbauen und große Bilder in gleiche Größen verkleinern
// Versenden von Bildern als Mail
// Version: 25.03.2005
//
// Author: Large Green Wood vgl. http://www.contenido.de/front_dev/upload/1ImageGal.txt
// Modified by: Robert Strouhal www.clearcreative.de
// Modified by: Daniel Buhmann www.cyberdan.de
// Modified by: Philipp Kölbl philipp(at)philk.de (Links zum vorwärts und rückwärts blättern,
// Mailversand) & Oliver Abeltshauser
//
echo "<p>\n";
// ANFANG OUTPUT
$imagedir="CMS_VALUE[2]";
$thumbnails="CMS_VALUE[3]";
$imagetypes=explode(";","CMS_VALUE[4]");
$rows="CMS_VALUE[6]";
$cols="CMS_VALUE[5]";
$thb_x_size="CMS_VALUE[7]";
$thb_y_size="CMS_VALUE[8]";
$image_idcat="CMS_VALUE[0]";
$image_idside="CMS_VALUE[1]";
$im_path="CMS_VALUE[9]";
$blaettern="CMS_VALUE[10]";
//-- config ende -------------------------------------
function is_image($filename,$typearray) {
reset($typearray);
while($val=each($typearray)) {
if (strstr($filename,$val[value])!==false) {
return true;
}
}
}
// verkleinert ein Bild auf die angegebene Breite (bei Querformat) oder Höhe (bei Hochformat)
// Seitenverhältnisse werden beibehalten
function resizeImageGD($sourceFile, $targetFile, $newwidth=50, $newheight=50){
$source = ImageCreateFromJpeg($sourceFile);
$width = ImageSx($source);
$height = ImageSy($source);
if ($width > $height){ // Querformat
$newheight = $height*($newwidth/$width);
}else{ // Hochformat
$newwidth = $width*($newheight/$height);
}
$target = ImageCreateTrueColor($newwidth,$newheight);
// ÄNDERUNG vgl. Forums-Beitrag imagecopyresized ($target, $source, 0, 0, 0, 0, $newwidth, $newheight, $width, $height);
imagecopyresampled ($target, $source, 0, 0, 0, 0, $newwidth, $newheight, $width, $height);
ImageJPEG($target,$targetFile,100);
}
//-- functions ende ----------------------------------
if (!isset($mmstart)) {
$mmstart=0;
}
$handle=opendir($imagedir);
// Anzeige eines Bildes oder Übersicht?
if ($subfile!="") {
if ($mail=="yes") {
// Mail versenden
if ($image_idcat!=0)
$img_url=$sess->url("front_content.php?client=$client&lang=$lang&subid=$subid&idcatside=$image_idcat&subfile=$subfile");
else
$img_url=$sess->url("front_content.php?client=$client&lang=$lang&subid=$subid&idcat=$idcat&idart=$idart&idside=$idside&subfile=$subfile");
$betreff = "Sie haben ein Bild erhalten!";
if ($mailsent == 1) {
if ($absender_name == "" || $absender_email == "" || $empfaenger_email == "" || $empfaenger_name == "")
$mailsent = 2;
$preg = "(^[_a-zA-Z0-9-]+(\.[_a-zA-Z0-9-]+)*@([a-zA-Z0-9-]+\.)+([a-zA-Z]{2,3})$)";
$email = $absender_email;
if(!preg_match("/$preg/",$email,$email))
$mailsent = 2;
$email = $empfaenger_email;
if(!preg_match("/$preg/",$email,$email))
$mailsent = 2;
}
if ( $mailsent == 1 ) {
// absoluten Pfad aus Datenbank holen
include ('contenido/includes/config.php');
include $cfg["path"]["contenido"].$cfg["path"]["includes"] . 'cfg_sql.inc.php';
// Verbinden mit der Datenbank
$db = new DB_Contenido;
$query = "SELECT htmlpath FROM ".$cfg["tab"]["clients"]." WHERE idclient='".$client."'";
$db->query($query);
$db->next_record();
$front = $db->f("htmlpath");
$mailtext = "Hallo ".$empfaenger_name.", <br><br>".
$absender_name." hat Ihnen folgendes Bild geschickt:<br><br>".
"<a href=\"$front$img_url\"><img src=\"".$front.$subfile."\"></a><br><br>\n";
if ($nachrichtentext != "") {
$mailtext .= "Folgende Nachricht wurde gesendet:<br><br>";
$mailtext .= nl2br(htmlentities($nachrichtentext))."<br><br>\n";
}
$mailtext .= "<hr>Ein Service von <a href=\"http://www.koengernheimer-dalmatiner.de\">Hilperts Dalmatiner</a>";
$mailheader = "MIME-Version: 1.0\n";
$mailheader .= "From: ".$absender_name."<".$absender_email.">\n";
$mailheader .= "Content-type: text/html; charset=iso-8859-1\n";
$mailheader .= "Content-Transfer-Encoding: 8bit\n";
$mailheader .= "X-Mailer: PHP/" .phpversion();
mail($empfaenger_email,$betreff,$mailtext,$mailheader);
// Bestätigung
?>
Ihre Nachricht wurde gesendet!
<br>
<center><img src="<?php echo $subfile; ?>"></center>
<br>
<br>
<center>
<table width="95%">
<tr>
<td class ="text" width="150"><b>Empfänger Name:</b></td>
<td class ="text"><?php echo $empfaenger_name; ?></td>
</tr>
<tr>
<td class ="text" width="150"><b>Empfänger E-Mail:</b></td>
<td class ="text"><?php echo $empfaenger_email; ?></td>
</tr>
<tr>
<td class ="text" width="150"><b>Absender Name:</b></td>
<td class ="text" ><?php echo $absender_name; ?></td>
</tr>
<tr>
<td class ="text" width="200"><b>Absender E-Mail:</b></td>
<td class ="text"><?php echo $absender_email; ?></td>
</tr>
<tr>
<td class ="text" colspan="2"> </td>
</tr>
<tr>
<td class ="text" colspan="2"><b>Ihre Nachricht:</b></td>
</tr>
<tr>
<td class ="text" colspan="2"><?php echo $nachrichtentext; ?></td>
</tr>
</table>
</form>
<a href="<?php echo $img_url; ?>">zurück</a>
</center>
<?php
}
if ($mailsent != 1) {
if ($mailsent == 2)
echo "Bitte prüfen Sie Ihre Eingaben! Alle Felder müssen sinnvoll ausgefüllt werden.";
else
echo "Sie können das folgende Bild als Mail versenden:";
// Beginn Layout Mailseite
?>
<br>
<center><img src="<?php echo $subfile; ?>"></center>
<br>
<br>
<center>
<form name="postcard" action="<?php echo $auth->url(); ?>" method="post">
<table width="95%">
<tr>
<td class ="text" width="15"><b>Empfänger Name:</b></td>
<td class ="text" ><input type="text" value="<?php echo $empfaenger_name; ?>" size="25" name="empfaenger_name"></td>
</tr>
<tr>
<td class ="text" width="150"><b>Empfänger E-Mail:</b></td>
<td class ="text" ><input type="text" value="<?php echo $empfaenger_email; ?>" size="25" name="empfaenger_email"></td>
</tr>
<tr>
<td class ="text" width="150"><b>Absender Name:</b></td>
<td class ="text" ><input type="text" value="<?php echo $absender_name; ?>" size="25" name="absender_name"></td>
</tr>
<tr>
<td class ="text" width="150"><b>Absender E-Mail:</b></td>
<td class ="text" ><input type="text" value="<?php echo $absender_email; ?>" size="25" name="absender_email"></td>
</tr>
<tr>
<td class ="text" colspan="2"> </td>
</tr>
<tr>
<td class ="text" colspan="2"><b>Ihre Nachricht:</b></td>
</tr>
<tr>
<td class ="text" colspan="2"><textarea rows="10" cols="58" name="nachrichtentext"><?php echo $nachrichtentext; ?></textarea></td>
</tr>
<tr>
<td colspan="2"><input type="submit" name="submit" value="Abschicken"></td>
</tr>
</table>
<input type="hidden" name="mailsent" value="1">
</form>
</center>
<a href="<?php echo $img_url; ?>">zurück</a>
<?php
// Ende Layout Mailseite
}
} else {
// Bild anzeigen
$n=0;
$filearray=Array();
while (false !== ($file = readdir($handle))) {
if ($file != "." && $file != ".." && is_image($file,$imagetypes))
$filearray[]=$file;
}
reset($filearray);
$prev_img = "";
$next_img = "";
$this_img = "";
$found = 0;
$n = 0;
while ($ffile=each($filearray)) {
$file=$ffile[value];
if ($imagedir."/".$file == $subfile) {
$prev_img = $temp_url;
$found = 1;
$imgno = $n;
} else if ($found == 1)
$found = 2;
if ($image_idcat!=0)
$temp_url=$sess->url("front_content.php?client=$client&lang=$lang&subid=$subid&idcatside=$image_idcat&subfile=".rawurlencode($imagedir."/".$file));
else
$temp_url=$sess->url("front_content.php?client=$client&lang=$lang&subid=$subid&idcat=$idcat&idart=$idart&idside=$idside&subfile=".rawurlencode($imagedir."/".$file));
if ($found == 1)
$this_img = $temp_url;
if ($found == 2) {
$next_img = $temp_url;
$found = 0;
}
$n++;
}
$mmstart = floor($imgno / ($rows * $cols)) * ($rows * $cols);
$url_gallery=$sess->url("front_content.php?client=$client&lang=$lang&idcat=$idcat&idart=$idart&subid=$subid&idside=$idside&mmstart=".$mmstart);
// Bild anzeigen
if ($blaettern == "ou" || $blaettern=="o") {
echo "<center>";
if ($prev_img != "")
echo "<a href=\"$prev_img\">vorheriges</a> ";
echo "<a href=\"$url_gallery\">Übersicht</a>";
if ($next_img != "")
echo " <a href=\"$next_img\">nächstes</a>";
echo "</center>";
echo "<br><center><a href=\"$this_img&mail=yes\">Dieses Bild als Mail versenden?</a></center>";
}
echo "<center>";
echo "<br>";
echo "<img src=\"$subfile\">";
echo "<br></center>";
if ($blaettern == "ou" || $blaettern=="u") {
echo "<br><center>";
if ($prev_img != "")
echo "<a href=\"$prev_img\">vorheriges</a> ";
echo "<a href=\"$url_gallery\">Übersicht</a>";
if ($next_img != "")
echo " <a href=\"$next_img\">nächstes</a>";
echo "</center>";
}
echo "<br><center><a href=\"$this_img&mail=yes\">Dieses Bild als Mail versenden?</a></center>";
}
} else {
// Gallery anzeigen
echo "<table border=\"0\" cellpadding=\"5\" cellspacing=\"0\">";
// Thumnail-Code generieren
$gallery = "";
$n=0;
$filearray=Array();
while (false !== ($file = readdir($handle))) {
if ($file != "." && $file != ".." && is_image($file,$imagetypes)) {
$filearray[]=$file;
}
}
reset($filearray);
// skip images...
for ($n=0;$n<$mmstart;$n++)
$ffile=each($filearray);
$n=0;
while ($ffile=each($filearray)) {
$file=$ffile[value];
// generate thumbnail, if nessesairy. Now THIS is fun :)
// natuerlich nur, wenn imagemagick vorhanden ist...
if (!file_exists($thumbnails."/thb_".$file) ) {
if ($im_path!="") {
$cmd=$im_path."/convert -scale ".$thb_x_size."x".$thb_y_size." ".$imagedir."/".$file." ".$thumbnails."/thb_".$file;
exec($cmd);
// nochmal prüfen!
$thumbnail=file_exists($thumbnails."/thb_".$file);
} else{
// Thumbnails mit GD verkleinern
@ini_set("max_execution_time", 120);
@resizeImageGD($imagedir."/".$file, $thumbnails."/thb_".$file, $thb_x_size,$thb_y_size);
$thumbnail=file_exists($thumbnails."/thb_".$file);
}
//Wasserzeichen einbauen und Bilder auf 500 Pixel Höhe oder Breite verkleinern
$size = getimagesize($imagedir."/".$file);
$width_old = $size[0];
$height_old = $size[1];
$old_picture = imagecreatefromjpeg($imagedir."/".$file);
if ($width_old > $height_old) {
$width_new = 450;
$height_new = intval($height_old * $width_new / $width_old);
} else {
$height_new = 450;
$width_new = intval($width_old * $height_new / $height_old);
}
$new_picture = imagecreatetruecolor($width_new, $height_new);
imagecopyresampled($new_picture, $old_picture, 0, 0, 0, 0, $width_new, $height_new, $width_old, $height_old);
$transition = 40;
$watermarkfile = imagecreatefrompng('images/wasserzeichen.png');
$watermarkpic_width = imagesx($watermarkfile);
$watermarkpic_height = imagesy($watermarkfile);
//rechts unten von OAA
$watermarkdest_x = $width_new - $watermarkpic_width;
$watermarkdest_y = $height_new - $watermarkpic_height;
// Ende OAA
imagecopymerge($new_picture, $watermarkfile, $watermarkdest_x, $watermarkdest_y, 0, 0, $watermarkpic_width, $watermarkpic_height, $transition);
imagejpeg($new_picture, $imagedir."/".$file, 100);
} else
$thumbnail=true;
if ($n%$cols==0)
$gallery .= "<tr>\n";
if ($image_idcat!=0)
$url=$sess->url("front_content.php?client=$client&lang=$lang&subid=$subid&idcatside=$image_idcat&subfile=".rawurlencode($imagedir."/".$file));
else
$url=$sess->url("front_content.php?client=$client&lang=$lang&subid=$subid&idcat=$idcat&idart=$idart&idside=$idside&subfile=".rawurlencode($imagedir."/".$file));
$gallery .= "<td valign=\"middle\" align=\"center\" width=\"$thb_x_size\" height=\"$thb_y_size\"><a href=\"$url\">".($thumbnail ? "<img src=\"$thumbnails/thb_$file\" border=\"0\">":"$file")."</a></td>\n";
$n++;
if ($n%$cols==0)
$gallery .= "</tr>\n";
// nur solange wie's not tut...
if ($n>=$rows*$cols)
break;
}
// Links zum Blättern durch die Thumbnail-Seite
$blaetterlinks = "<tr> <td colspan=\"$cols\" align=\"center\">";
if ($mmstart>0) {
$url=$sess->url("front_content.php?client=$client&lang=$lang&idcat=$idcat&idart=$idart&subid=$subid&idside=$idside&mmstart=".($mmstart-$rows*$cols));
$blaetterlinks .= "<a href=\"$url\">vorherige Bilder...</a> ";
}
$blaetterlinks .= "<span style=\"font-size: 9pt;\">| zeige Bilder ".($mmstart+1)." - ".($mmstart+$n)." |</span>";
if ($n+$mmstart<count($filearray)) {
$url=$sess->url("front_content.php?client=$client&lang=$lang&idcat=$idcat&idart=$idart&subid=$subid&idside=$idside&mmstart=".($mmstart+$rows*$cols));
$blaetterlinks .= " <a href=\"$url\">weitere Bilder...</a>";
}
// alles ausgeben
if ($blaettern == "ou" || $blaettern=="o") {
echo $blaetterlinks;
}
echo $gallery;
if ($blaettern == "ou" || $blaettern=="u") {
echo $blaetterlinks;
}
echo "</tr>\n";
echo "</table>";
} // Ende Gallery anzeigen
echo "</p>";
?>