Mailkontakt

djavet
Beiträge: 264
Registriert: Do 22. Jan 2004, 11:31
Kontaktdaten:

Beitrag von djavet »

Darth-Vader hat geschrieben:Well in some kind "yes", but it's not really necessary, if one needs it he can add it... :wink:
For me, no. I've made it myself plus a french translation.

Thx a lot one more time.

Regards, Dom

PS: Do you have another module made by yourself?
Darth-Vader
Beiträge: 661
Registriert: So 25. Jan 2004, 19:06
Wohnort: Stuttgart-Bad Cannstatt
Kontaktdaten:

Beitrag von Darth-Vader »

jupp, the "umfragemodul" (modul for polls) (see: http://contenido.de/forum/viewtopic.php?t=3242) and the "Newsmodul und Newsartikelblättern" (see: http://contenido.de/forum/viewtopic.php?t=3360)


so long,
Darth. :twisted:



PS: where u actually from? you're not an american, are u? 8)
visionman
Beiträge: 28
Registriert: Do 3. Jul 2003, 14:19
Wohnort: i. d. N. v. Bodensee
Kontaktdaten:

Beitrag von visionman »

Hallo Zusammen,

Ich habe das Kontaktformular von Darth vom 18.02. etwas erweitert, habe aber noch ein kleines Problem, bei dem ich nicht weiterkomme und hoffe, daß mir jemand dabei helfen kann:

Ich habe im Kontaktformular ein paar zusätzliche Felder eingefügt (Firma, Strasse, Haus-Nr., PLZ, Ort, Telefon, Fax und Betreff), bekomme nun aber folgende Fehlermeldung im Error-Log, die ich nicht beheben kann (bin noch ein PHP-Neuling...aber fleißig am lernen ):

[24-Feb-2004 09:03:59] PHP Warning: mail() expects at most 5 parameters, 12 given in /www/htdocs/demosite/cms/front_content.php(546) : eval()'d code on line 624

Soweit ich es ableiten kann ist irgendwo definiert, daß nur 5 Paramter übergeben werden dürfen, aber 12 übergeben werden und dadurch keine Mail versendet wird (weiß aber nicht genau, ob ich da richtig liege). Es wird auch keine Mail versendet....

Alle anderen Ausgaben und Überprüfungen funktionieren (Mail wurde gesendet mit folgendem Inhalt, sie haben nicht alle Felder ausgefüllt etc.).
Wahrscheinlich nur ne Kleinigkeit, aber ich häng daran schon seit nem ganzen Tag......will aber nicht aufgeben. Es wäre Klasse, wenn mir hierbei jemand helfen könnte, hier mein Output des Kontaktformulares:

<?php

/*******************************************************
* CONTENIDO MODUL - OUTPUT
*
* Modulname : Mailkontakt
* Author : agon
* Copyright : Contenido - four for business
* Created : 05-11-2003
* Modified again : Feb. 17th 2004 by Lars D. Forseth <lars@forseth.de>
********************************************************/

echo "
<!-- start Mailkontakt output -->
";
$db = new DB_Contenido;


/* data was given */
if (($mail == "yes") and (strlen($from_name)>1) and
(strlen($from_mail)>5) and (strlen($mailkontaktid)>0) and (strlen($comment)>2)) {


// if invalid mailkontaktid given
if (!(eregi("([0-9]{1,11})",$mailkontaktid))) {
$error = "
<!-- error: invalid mailkontaktid given -->
<br><br><br>
<center><font color=\"darkred\"><b>
Diesen Empf&auml;nger gibt es nicht (mehr)!
<br>
Versuch' es sp&auml;ter bitte nochmal.
</b></font></center>
<br><br><br>
";
break;
} // end if invalid mailkontaktid given

$sql = "SELECT * FROM mailkontakt WHERE mailkontaktid=$mailkontaktid ".
"OR mailkontakt_spd=\"Y\" ORDER BY mailkontaktid";
$db->query($sql);
$db->next_record();
$nr = $db->num_rows();

$mailto = "";
$spd = "";
$mailkontakt_name = "";
$header="From:".$from_name."<".$from_mail.">";

// no data in DB
if ($nr < 1) {
$error = "
<!-- error: no data in DB -->
<br><br><br>
<center><font color=\"darkred\"><b>
Diesen Empf&auml;nger gibt es nicht (mehr)!
<br>
Versuch' es sp&auml;ter bitte nochmal.
</b></font></center>
<br><br><br>
";
break;
} // end no data in DB

// get recipients from DB
for ($i=0; $i<$nr; $i++) {
if ($mailkontaktid == ($db->f("mailkontaktid"))) {
$mailto = ($db->f("mailkontakt_email"));
$mailkontakt_name = $db->f("mailkontakt_name");
} // end if
if (!($mailkontaktid == ($db->f("mailkontaktid"))) and (($db->f("mailkontakt_spd"))=="Y")) {
$spd .= ",".($db->f("mailkontakt_email"));
} // end if
$db->next_record();
} // end "get recipients from DB"

if (strlen($mailto) < 5) {
$tmp = explode(",",$spd,2);
$mailto = $tmp[1];
} else {$mailto .= $spd;}

// check if email-adress from user is correct
$length = (int) (strlen($from_mail));
if ($length > 100 or $length < 5) {$length_err = 1;}
else {$length_err = 0;}
$valid = (eregi ("^([a-z0-9_]|\\-|\\.)+@(([a-z0-9_]|\\-)+\\.)+[a-z]+$",$from_mail));

if (strlen($error)>3) {echo $error;}

else { // no error occured
if (!($valid==1) or ($length_err==1)) {
$links = explode('?',$PHP_SELF);
$link = $links[0];
$link = $link."?idcat=".$idcat; // back-link
echo "
<br><br><br>
<font color=\"red\"><b>
<u>ACHTUNG:</u><br>
Die angegebene Email-Adresse ist ung&uuml;ltig!<br>
Bitte&nbsp;&uuml;berpr&uuml;fen...<br><br>
<center>
<form action=\"$link\" method=\"post\">
<input type=\"hidden\" name=\"mailkontaktid\" value=\"$mailkontaktid\">
<input type=\"hidden\" name=\"from_name\" value=\"$from_name\">
<input type=\"hidden\" name=\"from_mail\" value=\"$from_mail\">
<input type=\"hidden\" name=\"betreff\" value=\"$betreff\">
<input type=\"hidden\" name=\"firma\" value=\"$firma\">
<input type=\"hidden\" name=\"strasse\" value=\"$strasse\">
<input type=\"hidden\" name=\"nummer\" value=\"$nummer\">
<input type=\"hidden\" name=\"plz\" value=\"$plz\">
<input type=\"hidden\" name=\"ort\" value=\"$ort\">
<input type=\"hidden\" name=\"telefon\" value=\"$telefon\">
<input type=\"hidden\" name=\"fax\" value=\"$fax\">
<input type=\"hidden\" name=\"comment\" value=\"$comment\">
<input type=\"submit\" value=\"&laquo;&nbsp;zur&uuml;ck\">
</form>
</center>
</b></font>
<br><br>";
} // end check user email-address
else {
/* for security reasons in case of spam and the kind */
$now = date("l dS of F Y \@ G:i:s"); // Example: Wednesday 15th of January 2004 15:51:38
$ip = getenv("REMOTE_ADDR");
$comment .= "\n\n\n\nThis mail was sent from the IP-address ".$ip." on ".$now." .\n";

/* finally mail message */
mail($mailto,"Kontaktanfrage durch tb-design.de",$comment,$header,$firma,$betreff,$strasse,$nummer,$plz,$ort,$telefon,$fax);

// give confirmation to user:
if (strlen($mailkontakt_name) < 1) $mailkontakt_name = "uns";
echo "
<br><br><br><br>
<font color=\"red\"><i>Folgende Nachricht ging eben an&nbsp;&nbsp;<b>".$mailkontakt_name."</b>&nbsp;raus:</i></font>
<br><br><br>
<table border=\"0\" cellpadding=\"1\" cellspacing=\"0\" width=\"100%\">
<tr>
<td class=\"text\"><b>Absender:</b></td>
<td>&nbsp;&nbsp;</td>
<td width=\"90%\" class=\"text\">";
echo $from_name." <".$from_mail.">";
echo "</td>
</tr>
<tr>
<td>&nbsp;</td>
</tr>
<tr>
<td class=\"text\"><b>Empf&auml;nger:</b></td>
<td>&nbsp;&nbsp;</td>
<td width=\"90%\" class=\"text\">".$mailkontakt_name."</td>
</tr>
<tr>
<td>&nbsp;</td>

</tr>
<tr>
<td>&nbsp;</td>

</tr>
<tr valign=\"top\">
<td class=\"text\"><b>Betreff:</b></td>
<td>&nbsp;&nbsp;</td>
<td class=\"text\">".nl2br($betreff)."</td>
</tr>

<tr valign=\"top\">
<td class=\"text\"><b>Firma:</b></td>
<td>&nbsp;&nbsp;</td>
<td class=\"text\">".nl2br($firma)."</td>
</tr>

<tr valign=\"top\">
<td class=\"text\"><b>Strasse:</b></td>
<td>&nbsp;&nbsp;</td>
<td class=\"text\">".nl2br($strasse)."</td>
</tr>

<tr valign=\"top\">
<td class=\"text\"><b>Haus-Nr.:</b></td>
<td>&nbsp;&nbsp;</td>
<td class=\"text\">".nl2br($nummer)."</td>
</tr>

<tr valign=\"top\">
<td class=\"text\"><b>PLZ:</b></td>
<td>&nbsp;&nbsp;</td>
<td class=\"text\">".nl2br($plz)."</td>
</tr>

<tr valign=\"top\">
<td class=\"text\"><b>Ort:</b></td>
<td>&nbsp;&nbsp;</td>
<td class=\"text\">".nl2br($ort)."</td>
</tr>

<tr valign=\"top\">
<td class=\"text\"><b>Telefon:</b></td>
<td>&nbsp;&nbsp;</td>
<td class=\"text\">".nl2br($telefon)."</td>
</tr>

<tr valign=\"top\">
<td class=\"text\"><b>Fax:</b></td>
<td>&nbsp;&nbsp;</td>
<td class=\"text\">".nl2br($fax)."</td>
</tr>

<tr valign=\"top\">
<td class=\"text\"><b>Nachricht:</b></td>
<td>&nbsp;&nbsp;</td>
<td class=\"text\">".nl2br($comment)."</td>
</tr>
</table>
<br><br><br>";
} // end else ("user's email-addres is ok")
} // end else ("no error occured")


} // end "data was given"








/* no data was given (yet), so give back form */
else {


$sql = "SELECT * FROM mailkontakt WHERE mailkontakt_sil=\"Y\" LIMIT 1";
$db->query($sql);
$db->next_record();
$nr = $db->num_rows();
if ($nr > 0) $show_list = "yes";


$sql = "SELECT * FROM mailkontakt ORDER BY mailkontakt_name";
$db->query($sql);
$db->next_record();
$nr = $db->num_rows();

/* there are recipients in DB */
if ($nr > 0) {

echo "<br><br>";

// not all fields were filled during last submission!
if ($mail == "yes") {
echo "
<font class=\"text\"><font color=\"red\">
<u>ACHTUNG:</u>&nbsp;<i>Bitte alle Felder <b>korrekt</b> ausf&uuml;llen!</i>
</font></font><br>";
} // end if "not all fields filled"

echo "
<form name=\"mail\" action=\"".$auth->url()."\" method=\"post\" class=\"text\">
<table width=\"480\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" align=\"center\">
";

/* if there are any recipients with sil=="Y" */
if ($show_list == "yes") {
echo"
<tr>
<td width=\"102\" align=\"left\" class=\"text\">Empf&auml;nger:</td>
";

echo "
<td width=\"160\">
<select name=\"mailkontaktid\" >";

for($x=0; $x<$nr; $x++){
echo "
<option value=\"".($db->f("mailkontaktid"))."\"";
if (($db->f("mailkontaktid")) == $mailkontaktid) echo " selected";
echo ">".($db->f("mailkontakt_name"));
$db->next_record();
} // end for
echo "
</select>
</td>
";


// end drop-down-menu


echo "

";
} // end if($show_list == "yes")
else {echo "<td colspan=\"4\"><input type=\"hidden\" name=\"mailkontaktid\" value=\"0\"</td></tr>";}

echo "


<tr>
<td width=\"102\" class=\"text\" align=\"left\">Name:</td>
<td width=\"160\"><input type=\"text\" name=\"from_name\" size=\"25\" value=\"".$from_name."\" maxlength=\"100\"></td>
<td width=\"102\" class=\"text\" align=\"left\">Firma:</td>
<td width=\"160\"><input type=\"text\" name=\"firma\" size=\"25\" value=\"".$firma."\" maxlength=\"100\"></td>
</tr>

<tr>
<td width=\"102\" class=\"text\" align=\"left\">Strasse:</td>
<td width=\"160\"><input type=\"text\" name=\"strasse\" size=\"25\" value=\"".$strasse."\" maxlength=\"100\"></td>
<td width=\"102\" class=\"text\" align=\"left\">Haus-Nr.:</td>
<td width=\"160\"><input type=\"text\" name=\"nummer\" size=\"4\" value=\"".$nummer."\" maxlength=\"5\"></td>
</tr>

<tr>
<td width=\"102\" class=\"text\" align=\"left\">PLZ:</td>
<td width=\"160\"><input type=\"text\" name=\"plz\" size=\"6\" value=\"".$plz."\" maxlength=\"8\"></td>
<td width=\"102\" class=\"text\" align=\"left\">Ort:</td>
<td width=\"160\"><input type=\"text\" name=\"ort\" size=\"25\" value=\"".$ort."\" maxlength=\"100\"></td>
</tr>

<tr>
<td width=\"102\" class=\"text\" align=\"left\">Telefon:</td>
<td width=\"160\"><input type=\"text\" name=\"telefon\" size=\"25\" value=\"".$telefon."\" maxlength=\"100\"></td>
<td width=\"102\" class=\"text\" align=\"left\">Fax:</td>
<td width=\"160\"><input type=\"text\" name=\"fax\" size=\"25\" value=\"".$fax."\" maxlength=\"100\"></td>
</tr>

<tr>
<td width=\"102\" class=\"text\" align=\"left\"><b>Email-Adr.:</b></td>
<td colspan=\"3\"><input type=\"text\" name=\"from_mail\" size=\"50\" value=\"".$from_mail."\" maxlength=\"100\"></td>
</tr>

<tr>
<td width=\"102\" class=\"text\" align=\"left\"><b>Betreff:</b></td>
<td colspan=\"3\"><input type=\"text\" name=\"betreff\" size=\"50\" value=\"".$betreff."\" maxlength=\"150\"></td>
</tr>

<tr>
<td width=\"102\" class=\"text\" align=\"left\" valign=\"top\"><b>Ihre Nachricht:</b></td>
<td colspan=\"3\">
<text"."area cols=\"47\" rows=\"7\" name=\"comment\" style=\"width:400px\" wrap=\"physical\">".
$comment.
"</text"."area></td>
</tr>

<tr>
<td width=\"102\" align=\"left\">&nbsp;</td>
<br>
<td colspan=\"3\" align=\"left\"> <input type=\"hidden\" name=\"mail\" value=\"yes\">
<input type=\"submit\" value=\"Mail senden &raquo;\">
</td>
</tr>
</table>
</fo"; echo "rm>
<br><br>";

} // end "there are recipients in DB"


/* there are no recipients in DB */
else {
echo "
<br><br><br>
<center><font color=\"darkred\"><b>
Momentan sind leider keine Empf&auml;nger in der Datenbank eingetragen,
bitte versuch' es sp&auml;ter nocheinmal.
</b></font></center>
<br><br><br>
";
} // end "there are no recipients in DB"



} // end "no data was given (yet)"

echo "
<!-- end Mailkontakt output -->
";

?>

Vielen Dank bereits im voraus,

Gruß Thomas

Nachtrag: verwende Contenido 4.4.2 und 4.4.3 (auf nem Linuxserver)
Mann lernt nie aus!
djavet
Beiträge: 264
Registriert: Do 22. Jan 2004, 11:31
Kontaktdaten:

Beitrag von djavet »

Darth-Vader hat geschrieben:PS: where u actually from? you're not an american, are u? 8)
:D Nope, I'm from Switzerland.

Regards, Dom
Darth-Vader
Beiträge: 661
Registriert: So 25. Jan 2004, 19:06
Wohnort: Stuttgart-Bad Cannstatt
Kontaktdaten:

Beitrag von Darth-Vader »

@dj: oh ok.... :) I'm actually from Germany but my passport says... ahhh never mind about that :lol:


@visionman:

Code: Alles auswählen

mail($mailto,"Kontaktanfrage durch tb-design.de",$comment,$header,$firma,$betreff,$strasse,$nummer,$plz,$ort,$telefon,$fax);
BÖSER JUNGE! :twisted: :shock:
der meckert zurecht, du übergibst der Funktion namens mail 12 parameter (das sind die variablen in der klammer, die du der funktion übergibst *fg*), man darf mail aber höchstens 5 übergeben.


am besten löst du das wohl so:

Code: Alles auswählen


$comment .= "\n\n firma: ".$firma;
$comment .= "\n\n strasse und nr.: ".$strasse." ".$nummer;
$comment .= "\n\n plz und ort: ".$plz." ".$ort;
$comment .= "\n\n telefon: ".$telefon;
$comment .= "\n\n fax: ".$fax."\n\n";

mail($mailto,"Kontaktanfrage durch tb-design.de",$comment,$header,$betreff);


um schönheitsfehler kümmerst du dich am besten selbst, aber so müsstest nun mehr keine Fehlermeldung bekommen und die mails gehen raus... 8)



so long,
Darth. :twisted:
visionman
Beiträge: 28
Registriert: Do 3. Jul 2003, 14:19
Wohnort: i. d. N. v. Bodensee
Kontaktdaten:

Beitrag von visionman »

Hallo Darth!

Vielen Dank für Deine schnelle und freundliche Hilfe :D, hat (fast) sofort funktioniert, konnte aber das kleine Problem gleich beheben, sieht jetzt wie folgt aus:


$comment .= "\n\n betreff: ".$betreff;
$comment .= "\n\n firma: ".$firma;
$comment .= "\n\n strasse und nr.: ".$strasse." ".$nummer;
$comment .= "\n\n plz und ort: ".$plz." ".$ort;
$comment .= "\n\n telefon: ".$telefon;
$comment .= "\n\n fax: ".$fax."\n\n";

mail($mailto,"Kontaktanfrage durch tb-design.de",$comment,$header);


(Der Betreff mußte auch noch aus der mail() weichen)


Jetzt muß ich noch ein paar Kleinigkeiten anpassen, dann sollte es fertig sein.

Vielen Dank nochmal!

Gruß Thomas
Mann lernt nie aus!
Darth-Vader
Beiträge: 661
Registriert: So 25. Jan 2004, 19:06
Wohnort: Stuttgart-Bad Cannstatt
Kontaktdaten:

Beitrag von Darth-Vader »

ah ups, kein Problem :)
Pennywise
Beiträge: 5
Registriert: Di 13. Jan 2004, 20:02
Kontaktdaten:

Probleme mit Mailkontakt

Beitrag von Pennywise »

Hi,

habe das Modul inkl. der DB angelegt. Soweit kein Problem. Wenn ich neue User anlege werden diese auch in der DB angelegt. Nur wenn ich bei einem User sil und oder spd auf N stelle, wird auch in der DB der Eintrag geändert, nur erscheint er immer noch in der Liste im Frontend, bzw. wir eine Mail an Ihn gesendet. Habe im Modul und im Skript den Namen für die Tabelle geändert. Da aber die User eingetragen und geändert werden, sollte da nicht das Problem sein. Vielleicht könnte mir da jemand helfen.

Thx

Stephan
Darth-Vader
Beiträge: 661
Registriert: So 25. Jan 2004, 19:06
Wohnort: Stuttgart-Bad Cannstatt
Kontaktdaten:

Beitrag von Darth-Vader »

hi, wie du hast den namen der tabelle geändert?!


(nochmal zur erklärung:
sil = show in list --> user wird im drop-down-menü angezeigt
spd = send per default --> user bekommt eine Kopie von jeder Mail
)
Pennywise
Beiträge: 5
Registriert: Di 13. Jan 2004, 20:02
Kontaktdaten:

Tabellenname

Beitrag von Pennywise »

Hi,

habe den Tabellenname mailkontakt durch con_smgmailkontakt ergänzt. Sowohl im Install-Skript als auch in den Modulen. Hier die Datei:

Eingabe:

/***********************************************
* CONTENIDO MODUL - INPUT
*
* Modulname : Mailkontakt
* Author : agon
* Copyright : Contenido - four for business
* Created : 05-11-2003
* Modified : 05-11-2003
* Modified again : Feb. 17th 2004 by Lars D. Forseth <lars@forseth.de>
************************************************/



$db = new DB_contenido;
$db->query("LOCK TABLES con_smgmailkontakt WRITE"); // LOCK TABLES


/* FILTER GIVEN DATA */
if (!(eregi("([0-9]{1,11})",$mailkontaktid))) $mailkontaktid = 0;

$mailkontakt_name = str_replace (";","",$mailkontakt_name);
$mailkontakt_name = str_replace ("--","",$mailkontakt_name);
$mailkontakt_name = str_replace ("'","",$mailkontakt_name);
$mailkontakt_name = str_replace ("\"","",$mailkontakt_name);
$mailkontakt_name = htmlentities($mailkontakt_name);

$new_mailkontakt_name = str_replace (";","",$new_mailkontakt_name);
$new_mailkontakt_name = str_replace ("--","",$new_mailkontakt_name);
$new_mailkontakt_name = str_replace ("'","",$new_mailkontakt_name);
$new_mailkontakt_name = str_replace ("\"","",$new_mailkontakt_name);
$new_mailkontakt_name = htmlentities($new_mailkontakt_name);

$mailkontakt_email = str_replace (";","",$mailkontakt_email);
$mailkontakt_email = str_replace ("--","",$mailkontakt_email);
$mailkontakt_email = str_replace ("'","",$mailkontakt_email);
$mailkontakt_email = str_replace ("\"","",$mailkontakt_email);
$mailkontakt_email = htmlentities($mailkontakt_email);

$new_mailkontakt_email = str_replace (";","",$new_mailkontakt_email);
$new_mailkontakt_email = str_replace ("--","",$new_mailkontakt_email);
$new_mailkontakt_email = str_replace ("'","",$new_mailkontakt_email);
$new_mailkontakt_email = str_replace ("\"","",$new_mailkontakt_email);
$new_mailkontakt_email = htmlentities($new_mailkontakt_email);

if (($mailkontakt_sil!="Y") and ($mailkontakt_sil!="N")) $mailkontakt_sil!="N";
if (($mailkontakt_spd!="Y") and ($mailkontakt_spd!="N")) $mailkontakt_spd!="N";
if (($new_mailkontakt_sil!="Y") and ($new_mailkontakt_sil!="N")) $new_mailkontakt_sil!="N";
if (($new_mailkontakt_spd!="Y") and ($new_mailkontakt_spd!="N")) $new_mailkontakt_spd!="N";



if (($mailkontaktid>0) and $mailkontakt_name and $mailkontakt_email
and $mailkontakt_sil and $mailkontakt_spd and ($do=="edit")) {
if ($save=="yes") {
$sql = "UPDATE con_smgmailkontakt SET mailkontakt_name=\"$mailkontakt_name\", ".
"mailkontakt_email=\"$mailkontakt_email\", mailkontakt_sil=\"$mailkontakt_sil\", ".
"mailkontakt_spd=\"$mailkontakt_spd\" WHERE mailkontaktid=$mailkontaktid";
} // end if
if ($del_user=="yes") {
$sql = "DELETE FROM con_smgmailkontakt WHERE mailkontaktid=$mailkontaktid";
$view_mailkontaktid = 0;
} // end if
$db->query($sql);
} // end if

if ($new_mailkontakt_name and $new_mailkontakt_email and $new_mailkontakt_sil
and $new_mailkontakt_spd and ($do=="new")) {
$sql = "INSERT INTO con_smgmailkontakt VALUES('', \"$new_mailkontakt_name\", ".
"\"$new_mailkontakt_email\", \"$new_mailkontakt_sil\", \"$new_mailkontakt_spd\")";
$db->query($sql);
$view_mailkontaktid = 0;
} // end if


$sql = "SELECT * FROM con_smgmailkontakt ORDER BY mailkontaktid";
$db->query($sql);
$db->next_record();
$nr = $db->num_rows();

if (($nr>=1) and ($view_mailkontaktid<1)) {
$view_mailkontaktid = $db->f("mailkontaktid");
} // end if
if ($nr < 1) $display = " display:none;";


echo "
<!-- start Mailkontakt-backend -->

<table width=\"600\" cellspacing=\"0\" cellpadding=\"3\" border=\"0\" style=\"font-size: 10pt;\">
<tr valign=\"top\">
<td>
<input type=\"radio\" name=\"do\" value=\"edit\">
&nbsp;<b>Bereits vorhandenen Empfänger einsehen und dann evtl. bearbeiten oder l&ouml;schen:</b>
</td>
</tr>
<tr>
<td align=\"center\">
<select name=\"view_mailkontaktid\" style=\"width: 400px;\">";


for ($i=0; $i<$nr; $i++) {
if (($db->f("mailkontaktid")) == $view_mailkontaktid) {
$mailkontakt_name = $db->f("mailkontakt_name");
$mailkontakt_email = $db->f("mailkontakt_email");
$mailkontakt_sil = $db->f("mailkontakt_sil");
$mailkontakt_spd = $db->f("mailkontakt_spd");
$a = " selected";
} else {$a = "";}
echo "
<option value=\"".($db->f("mailkontaktid"))."\"".$a.">&nbsp;".($db->f("mailkontakt_name")).
"&nbsp;&nbsp;<".($db->f("mailkontakt_email")).">&nbsp;";
$db->next_record();
} // end for


echo "
</select>
</td>
</tr>
<tr><td>&nbsp;</td></tr>
<tr><td align\"center\">
<table align=\"center\" width=\"600\" border=\"0\" cellpsacing=\"0\" cellpadding=\"0\"
style=\"font-size: 10pt; border: 1px;border-color: #000000;
border-style: solid; background-color: #EFEFEF;".$display."\">
<tr>
<td width=\"20\"><b>ID</b></td>
<td width=\"245\"><b>Empf&auml;nger-Name</b></td>
<td width=\"245\"><b>Empf&auml;nger-Email</b></td>
<td width=\"45\"><b>sil</b></td>
<td width=\"45\"><b>spd</b></td>
</tr>";


echo "
<tr>
<td>
<input type=\"hidden\" name=\"mailkontaktid\" value=\"".$view_mailkontaktid."\">".$view_mailkontaktid."
</td>
<td><input type=\"\" name=\"mailkontakt_name\" value=\"".$mailkontakt_name."\" size=\"32\"></td>
<td><input type=\"\" name=\"mailkontakt_email\" value=\"".$mailkontakt_email."\" size=\"32\"></td>
<td align=\"center\">
<select name=\"mailkontakt_sil\">
<option value=\"Y\"";
if ($mailkontakt_sil == "Y") echo " selected";
echo ">Y
<option value=\"N\"";
if ($mailkontakt_sil == "N") echo " selected";
echo ">N
</select>
</td>
<td align=\"center\">
<select name=\"mailkontakt_spd\">
<option value=\"Y\"";
if ($mailkontakt_spd == "Y") echo " selected";
echo ">Y
<option value=\"N\"";
if ($mailkontakt_spd == "N") echo " selected";
echo ">N
</select>
</td>
</tr>";


echo "
<tr><td colspan=\"5\">&nbsp;</td></tr>
<tr>
<td>&nbsp;</td>
<td align=\"left\">
<input type=\"checkbox\" name=\"del_user\" value=\"yes\">
!* Empf&auml;nger l&ouml;schen *!
</td>
<td colspan=\"3\" align=\"right\">
<input type=\"checkbox\" name=\"save\" value=\"yes\">
&Auml;nderungen&nbsp;&uuml;bernehmen.
</td>
</tr>
<tr><td colspan=\"5\">&nbsp;</td></tr>
</table>
</tr>
<tr><td>&nbsp;</td></tr>
<tr><td>&nbsp;</td></tr>
<tr valign=\"top\">
<td>
<input type=\"radio\" name=\"do\" value=\"new\">
&nbsp;<b>Einen neuen Empfänger anlegen:</b>
</td>
</tr>
";




echo "
<tr><td align\"center\">
<table align=\"center\" width=\"600\" border=\"0\" cellpsacing=\"0\" cellpadding=\"0\"
style=\"font-size: 10pt; border: 1px;border-color: #000000;
border-style: solid; background-color: #EFEFEF;\">
<tr>
<td width=\"20\"><b>ID</b></td>
<td width=\"245\"><b>Empf&auml;nger-Name</b></td>
<td width=\"245\"><b>Empf&auml;nger-Email</b></td>
<td width=\"45\"><b>sil</b></td>
<td width=\"45\"><b>spd</b></td>
</tr>";


echo "
<tr>
<td>N</td>
<td><input type=\"\" name=\"new_mailkontakt_name\" size=\"32\"></td>
<td><input type=\"\" name=\"new_mailkontakt_email\" size=\"32\"></td>
<td align=\"center\">
<select name=\"new_mailkontakt_sil\">
<option value=\"Y\">Y
<option value=\"N\">N
</select>
</td>
<td align=\"center\">
<select name=\"new_mailkontakt_spd\">
<option value=\"Y\">Y
<option value=\"N\">N
</select>
</td>
</tr>";


echo "
<tr><td colspan=\"5\">&nbsp;</td></tr>
</table>
</tr>
<tr><td>&nbsp;</td></tr>
<tr><td>&nbsp;</td></tr>";


echo "
<tr valign=\"top\">
<td><pre>
<b><u>
Legende:</u></b><br>
&raquo; sil = \"show in list\",
bedeutet dass der Empfänger in dem Drop-Down-Menü für den Endnutzer erscheint.
Mögliche Werte sind \"Y\" für \"YES\" und \"N\" für \"NO\".<br>
&raquo; spd = \"send per default\",
bedeutet dass diesem Empfänger auf jeden Fall eine Kopie der Email zugeht,
falls er nicht in der Drop-Down-Liste angezeigt wird.
Die möglichen Werte entsprechen denen von \"sil\".<br>
</pre></td>
</tr>
</table>

<!-- end Mailkontakt-backend -->

";

$db->query("UNLOCK TABLES"); // UNLOCK TABLES


Ausgabe:

<?php

/*******************************************************
* CONTENIDO MODUL - OUTPUT
*
* Modulname : Mailkontakt
* Author : agon
* Copyright : Contenido - four for business
* Created : 05-11-2003
* Modified again : Feb. 17th 2004 by Lars D. Forseth <lars@forseth.de>
********************************************************/

echo "
<!-- start Mailkontakt output -->
";
$db = new DB_Contenido;


/* data was given */
if (($mail == "yes") and (strlen($from_name)>1) and
(strlen($from_mail)>5) and (strlen($mailkontaktid)>0) and (strlen($comment)>2)) {


// if invalid mailkontaktid given
if (!(eregi("([0-9]{1,11})",$mailkontaktid))) {
$error = "
<!-- error: invalid mailkontaktid given -->
<br><br><br>
<center><font color=\"darkred\"><b>
Diesen Empf&auml;nger gibt es nicht (mehr)!
<br>
Versuch' es sp&auml;ter bitte nochmal.
</b></font></center>
<br><br><br>
";
break;
} // end if invalid mailkontaktid given

$sql = "SELECT * FROM con_smgmailkontakt WHERE mailkontaktid=$mailkontaktid ".
"OR mailkontakt_spd=\"Y\" ORDER BY mailkontaktid";
$db->query($sql);
$db->next_record();
$nr = $db->num_rows();

$mailto = "";
$spd = "";
$mailkontakt_name = "";
$header="From:".$from_name."<".$from_mail.">";

// no data in DB
if ($nr < 1) {
$error = "
<!-- error: no data in DB -->
<br><br><br>
<center><font color=\"darkred\"><b>
Diesen Empf&auml;nger gibt es nicht (mehr)!
<br>
Versuch' es sp&auml;ter bitte nochmal.
</b></font></center>
<br><br><br>
";
break;
} // end no data in DB

// get recipients from DB
for ($i=0; $i<$nr; $i++) {
if ($mailkontaktid == ($db->f("mailkontaktid"))) {
$mailto = ($db->f("mailkontakt_email"));
$mailkontakt_name = $db->f("mailkontakt_name");
} // end if
if (!($mailkontaktid == ($db->f("mailkontaktid"))) and (($db->f("mailkontakt_spd"))=="Y")) {
$spd .= ",".($db->f("mailkontakt_email"));
} // end if
$db->next_record();
} // end "get recipients from DB"

if (strlen($mailto) < 5) {
$tmp = explode(",",$spd,2);
$mailto = $tmp[1];
} else {$mailto .= $spd;}

// check if email-adress from user is correct
$length = (int) (strlen($from_mail));
if ($length > 100 or $length < 5) {$length_err = 1;}
else {$length_err = 0;}
$valid = (eregi ("^([a-z0-9_]|\\-|\\.)+@(([a-z0-9_]|\\-)+\\.)+[a-z]+$",$from_mail));

if (strlen($error)>3) {echo $error;}

else { // no error occured
if (!($valid==1) or ($length_err==1)) {
$links = explode('?',$PHP_SELF);
$link = $links[0];
$link = $link."?idcat=".$idcat; // back-link
echo "
<br><br><br>
<font color=\"red\"><b>
<u>ACHTUNG:</u><br>
Die angegebene Email-Adresse ist ung&uuml;ltig!<br>
Bitte&nbsp;&uuml;berpr&uuml;fen...<br><br>
<center>
<form action=\"$link\" method=\"post\">
<input type=\"hidden\" name=\"mailkontaktid\" value=\"$mailkontaktid\">
<input type=\"hidden\" name=\"from_name\" value=\"$from_name\">
<input type=\"hidden\" name=\"from_mail\" value=\"$from_mail\">
<input type=\"hidden\" name=\"comment\" value=\"$comment\">
<input type=\"submit\" value=\"&laquo;&nbsp;zur&uuml;ck\">
</form>
</center>
</b></font>
<br><br>";
} // end check user email-address
else {
/* for security reasons in case of spam and the kind */
$now = date("l dS of F Y \@ G:i:s"); // Example: Wednesday 15th of January 2004 15:51:38
$ip = getenv("REMOTE_ADDR");
$comment .= "\n\n\n\nDieses Mail wurde mit der IP-address ".$ip." am ".$now." gesendet".".\n";

/* finally mail message */
mail($mailto,"Kontaktanfrage aus dem Internet",$comment,$header);

// give confirmation to user:
if (strlen($mailkontakt_name) < 1) $mailkontakt_name = "uns";
echo "
<br><br><br><br>
<font color=\"red\"><i>Folgende Nachricht wurde eben an&nbsp;&nbsp;<b>".$mailkontakt_name."</b>&nbsp;gesendet:</i></font>
<br><br><br>
<table border=\"0\" cellpadding=\"1\" cellspacing=\"0\" width=\"100%\">
<tr>
<td class=\"text\"><b>Absender:</b></td>
<td>&nbsp;&nbsp;</td>
<td width=\"90%\" class=\"text\">";
echo $from_name." <".$from_mail.">";
echo "</td>
</tr>
<tr>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
</tr>
<tr>
<td class=\"text\"><b>Empf&auml;nger:</b></td>
<td>&nbsp;&nbsp;</td>
<td width=\"90%\" class=\"text\">".$mailkontakt_name."</td>
</tr>
<tr>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
</tr>
<tr>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
</tr>
<tr valign=\"top\">
<td class=\"text\"><b>Nachricht:</b></td>
<td>&nbsp;&nbsp;</td>
<td class=\"text\">".nl2br($comment)."</td>
</tr>
</table>
<br><br><br>";
} // end else ("user's email-addres is ok")
} // end else ("no error occured")


} // end "data was given"








/* no data was given (yet), so give back form */
else {


$sql = "SELECT * FROM con_smgmailkontakt WHERE mailkontakt_sil=\"Y\" LIMIT 1";
$db->query($sql);
$db->next_record();
$nr = $db->num_rows();
if ($nr > 0) $show_list = "yes";


$sql = "SELECT * FROM con_smgmailkontakt ORDER BY mailkontakt_name";
$db->query($sql);
$db->next_record();
$nr = $db->num_rows();

/* there are recipients in DB */
if ($nr > 0) {

echo "<br><br><br>";

// not all fields were filled during last submission!
if ($mail == "yes") {
echo "
<font class=\"text\"><font color=\"red\">
<u>ACHTUNG:</u>&nbsp;<i>Bitte alle Felder <b>korrekt</b> ausf&uuml;llen!</i>
</font></font><br><br>";
} // end if "not all fields filled"

echo "
<form name=\"mail\" action=\"".$auth->url()."\" method=\"post\" class=\"text\">
<table border=\"0\" cellpadding=\"0\" cellspacing=\"0\">
";

/* if there are any recipients with sil=="Y" */
if ($show_list == "yes") {
echo"
<tr>
<td valign=\"middle\" class=\"text\">Empf&auml;nger:</td>
<td>&nbsp;</td>";

echo "
<td>
<select name=\"mailkontaktid\" style=\"width: 251px;\">";

for($x=0; $x<$nr; $x++){
echo "
<option value=\"".($db->f("mailkontaktid"))."\"";
if (($db->f("mailkontaktid")) == $mailkontaktid) echo " selected";
echo ">".($db->f("mailkontakt_name"));
$db->next_record();
} // end for
echo "
</select>
</td>
";
// end drop-down-menu


echo "
<td>&nbsp;&nbsp;&nbsp;&nbsp;</td>
</tr>";
} // end if($show_list == "yes")
else {echo "<tr><td colspan=\"4\"><input type=\"hidden\" name=\"mailkontaktid\" value=\"0\"</td></tr>";}

echo "
<tr>
<td class=\"text\" valign=\"middle\">Name:</td>
<td>&nbsp;</td>
<td><input type=\"text\" name=\"from_name\" size=\"38\" value=\"".$from_name."\" maxlength=\"100\"></td>
<td>&nbsp;&nbsp;&nbsp;&nbsp;</td>
</tr>
<tr>
<td class=\"text\" valign=\"middle\">Email:</td>
<td>&nbsp;</td>
<td><input type=\"text\" name=\"from_mail\" size=\"38\" value=\"".$from_mail."\" maxlength=\"100\"></td>
<td>&nbsp;&nbsp;&nbsp;&nbsp;</td>
</tr>
<tr>
<td class=\"text\" valign=\"middle\">Nachricht:</td>
<td>&nbsp;</td>
<td>
<text"."area cols=\"45\" rows=\"10\" name=\"comment\" style=\"width:250px\" wrap=\"physical\">".
$comment.
"</text"."area></td>
<td>&nbsp;&nbsp;&nbsp;&nbsp;</td>
</tr>
<tr>
<td colspan=\"4\" align=\"center\">
<br>
<input type=\"hidden\" name=\"mail\" value=\"yes\">
<input type=\"submit\" value=\"Mail senden &raquo;\">
</td>
</tr>
</table>
</fo"; echo "rm>
<br><br>";

} // end "there are recipients in DB"


/* there are no recipients in DB */
else {
echo "
<br><br><br>
<center><font color=\"darkred\"><b>
Momentan sind leider keine Empf&auml;nger in der Datenbank eingetragen,
bitte versuch' es sp&auml;ter nocheinmal.
</b></font></center>
<br><br><br>
";
} // end "there are no recipients in DB"



} // end "no data was given (yet)"

echo "
<!-- end Mailkontakt output -->
";

?>

Wenn ich nur einen User angelegt habe, dann kann ich diesen mit sil N ausblenden. Ab zwei werden alle angezeigt.

THX

Stephan
Darth-Vader
Beiträge: 661
Registriert: So 25. Jan 2004, 19:06
Wohnort: Stuttgart-Bad Cannstatt
Kontaktdaten:

Beitrag von Darth-Vader »

hmmm, so ein Bug ist mir nicht bekannt / noch nicht zu Ohren gekommen.


erklär doch mal ganz genau (=klick für klick!) wie du vorgehst um einen neuen user anzulegen und einen user zu ändern.


paste mal den code von deiner mailkontakt-table....
Pennywise
Beiträge: 5
Registriert: Di 13. Jan 2004, 20:02
Kontaktdaten:

Änderung von Usern

Beitrag von Pennywise »

Hi,

also im Artikel gehe ich auf Konfiguration. Anschließend im Container den Radio-Button "Bereits vorhandene Empfänger ... "anklicken, anschließend User aus Pull-Down Menü wählen und unten auf Speichern klicken, damit der User dann in der grauen Tabelle erscheint. Wenn der User dann in der Tabelle steht nehme ich die Änderungen vor, z.b. sil auf N, hacken bei Änderungen übernehmen rein, nicht vergessen, den radio-Button "Bereits vorhandene Empfänger ... " anzuklicken und wieder zu speichern. Die Änderungen sind dann übernommen. Sehe auch in PHPMYADMIN die Einträge in den Tabellen korrekt.

THX

Stephan
Darth-Vader
Beiträge: 661
Registriert: So 25. Jan 2004, 19:06
Wohnort: Stuttgart-Bad Cannstatt
Kontaktdaten:

Beitrag von Darth-Vader »

tatsächlich, shit! :evil:


danke für den hinweis, :)
das ist mir noch garnicht aufgefallen, da ich eine ganze gruppe von leuten habe, die entweder alle angezeigt oder eben nicht angezeigt werden. aber verinzelte personen auszublenden habe ich noch garnicht versucht....


hmmm, ich muss das beheben, das ist klar, ich kann dir leider aber noch keine versprechen machen, wann das sein wird. :roll:

hab bitte en bissl geduld, in den nächsten 10 tagen mach ich das noch....
Pennywise
Beiträge: 5
Registriert: Di 13. Jan 2004, 20:02
Kontaktdaten:

Mailkontakt

Beitrag von Pennywise »

Hi,

da bin ich ja beruhigt, dass das Problem reproduzierbar ist. Währe Super wenn Du den Fehler beheben könntest. Schau halt mal wie du Zeit hast. Find ja schon super, dass Du dich der Sache annimmst. Habe es im Moment nicht so eilig. :D

Habe im Moment noch ein Problem mit dem Bilderbuch V1.0 von Olaf Morgenstern. Da werden die Thumbnails nicht angezeigt, sonder nur der Link auf das Bild, obwohl Thumbs vorhanden sind. Weiß nicht ob Du da auch helfen kannst!?!

Also bisher schon mal vielen Dank.

CU

Stephan
Darth-Vader
Beiträge: 661
Registriert: So 25. Jan 2004, 19:06
Wohnort: Stuttgart-Bad Cannstatt
Kontaktdaten:

Beitrag von Darth-Vader »

so, nachdem Pennywise einen Bug gefunden hat, der mir noch garnet aufgefallen wäre, danke nochmal an dieser Stelle ;) , gibt es ein neues release des mailkontaktmoduls.


falls jemand einen neuen / andren Bug entdeckt, einfach hier posten, ich bin für hinweise immer dankbar! 8)




Hier findet ihr das neueste release des mailkontaktmodul:

EDIT: --> http://www.forseth.de



so long,

Darth. :twisted:
Zuletzt geändert von Darth-Vader am Fr 11. Jun 2004, 01:10, insgesamt 1-mal geändert.
Gesperrt