Mailkontakt für verschiendene Mandanten
Verfasst: Di 26. Jul 2005, 15:00
Hallo.
Ich nutze das Mailkontakt-Modul von forseth
Es übernimmt aber die Daten, die ich in der Templatekonfiguration in einem anderen Mandaten erstellt habe.
Kann das jemand abändern oder gibt es da schon ein ähnliches Modul, welches mehrmandantenfähig ist?
Danke und Grüße
Bachi
Ich nutze das Mailkontakt-Modul von forseth
Code: Alles auswählen
/
/***********************************************
* CONTENIDO MODUL - INPUT
*
* Modulname : Mailkontakt
* Author : agon
* Copyright : Contenido - four for business
* Created : 05-11-2003
* Modified : 05-11-2003
* Modified again : Feb. 29th 2004 by Lars D. Forseth <lars@forseth.de>
************************************************/
$db = new DB_contenido;
$db->query("LOCK TABLES mailkontakt 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 mailkontakt 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 mailkontakt 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 mailkontakt VALUES('', \"$new_mailkontakt_name\", ".
"\"$new_mailkontakt_email\", \"$new_mailkontakt_sil\", \"$new_mailkontakt_spd\")";
$db->query($sql);
$view_mailkontaktid = 0;
} // end if
$sql = "SELECT * FROM mailkontakt 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\">
<b>Bereits vorhandenen Empfänger einsehen und dann evtl. bearbeiten oder lö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."> ".($db->f("mailkontakt_name")).
" <".($db->f("mailkontakt_email"))."> ";
$db->next_record();
} // end for
echo "
</select>
</td>
</tr>
<tr><td> </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änger-Name</b></td>
<td width=\"245\"><b>Empfä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\"> </td></tr>
<tr>
<td> </td>
<td align=\"left\">
<input type=\"checkbox\" name=\"del_user\" value=\"yes\">
!* Empfänger löschen *!
</td>
<td colspan=\"3\" align=\"right\">
<input type=\"checkbox\" name=\"save\" value=\"yes\">
Änderungen übernehmen.
</td>
</tr>
<tr><td colspan=\"5\"> </td></tr>
</table>
</tr>
<tr><td> </td></tr>
<tr><td> </td></tr>
<tr valign=\"top\">
<td>
<input type=\"radio\" name=\"do\" value=\"new\">
<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änger-Name</b></td>
<td width=\"245\"><b>Empfä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\"> </td></tr>
</table>
</tr>
<tr><td> </td></tr>
<tr><td> </td></tr>";
echo "
<tr valign=\"top\">
<td><pre>
<b><u>
Legende:</u></b><br>
» 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>
» 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
Code: Alles auswählen
<?php
/*******************************************************
* CONTENIDO MODUL - OUTPUT
*
* Modulname : Mailkontakt
* Author : agon
* Copyright : Contenido - four for business
* Created : 05-11-2003
* Modified again : July. 06th 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änger gibt es nicht (mehr)!
<br>
Versuch' es später bitte nochmal.
</b></font></center>
<br><br><br>
";
break;
} // end if invalid mailkontaktid given
// filter $from_name:
for ($i=0; $i<strlen($from_name); $i++) {
if (!eregi("[a-zA-Z0-9-_ |\n|\t|\r]",$from_name[$i]))
str_replace($from_name[$i],"");
}
// end "filter $from_name"
$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änger gibt es nicht (mehr)!
<br>
Versuch' es spä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ültig!<br>
Bitte überprü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=\"« zurü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 adulo.net/AduloDE",$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 ging eben an <b>".$mailkontakt_name."</b> raus:</i></font>
<br><br><br>
<table border=\"0\" cellpadding=\"1\" cellspacing=\"0\" width=\"100%\">
<tr>
<td class=\".mailformular\"><b>Absender:</b></td>
<td> </td>
<td width=\"90%\" class=\".mailformular\">";
echo $from_name." <".$from_mail.">";
echo "</td>
</tr>
<tr>
<td> </td>
<td> </td>
<td> </td>
</tr>
<tr>
<td class=\".mailformular\"><b>Empfänger:</b></td>
<td> </td>
<td width=\"90%\" class=\".mailformular\">".$mailkontakt_name."</td>
</tr>
<tr>
<td> </td>
<td> </td>
<td> </td>
</tr>
<tr>
<td> </td>
<td> </td>
<td> </td>
</tr>
<tr valign=\"top\">
<td class=\".mailformular\"><b>Nachricht:</b></td>
<td> </td>
<td class=\".mailformular\">".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 {
$db1 = new DB_Contenido;
$sql1 = "SELECT * FROM mailkontakt WHERE mailkontakt_sil=\"Y\" ORDER BY mailkontakt_name";
$db1->query($sql1);
$db1->next_record();
$nr1 = $db1->num_rows();
if ($nr1 > 0) $show_list = "yes";
$sql = "SELECT * FROM mailkontakt ORDER BY mailkontaktid";
$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=\".mailformular\"><font color=\"red\">
<u>ACHTUNG:</u> <i>Bitte alle Felder <b>korrekt</b> ausfüllen!</i>
</font></font><br><br>";
} // end if "not all fields filled"
echo "
<form name=\"mail\" action=\"".$auth->url()."\" method=\"post\" class=\".mailformular\">
<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=\".mailformular\">Empfänger:</td>
<td> </td>";
echo "
<td>
<select name=\"mailkontaktid\" style=\"width: 251px;\">";
for($x=0; $x<$nr1; $x++){
echo "
<option value=\"".($db1->f("mailkontaktid"))."\"";
if (($db1->f("mailkontaktid")) == $mailkontaktid) echo " selected";
echo ">".($db1->f("mailkontakt_name"));
$db1->next_record();
} // end for
echo "
</select>
</td>
";
// end drop-down-menu
echo "
<td> </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=\".mailformular\" valign=\"middle\"><!--Dein--> Name:</td>
<td> </td>
<td><input type=\"text\" name=\"from_name\" size=\"38\" value=\"".$from_name."\" maxlength=\"100\"></td>
<td> </td>
</tr>
<tr>
<td class=\".mailformular\" valign=\"middle\"><!--Deine--> eMail-Adresse: </td>
<td> </td>
<td><input type=\"text\" name=\"from_mail\" size=\"38\" value=\"".$from_mail."\" maxlength=\"100\"></td>
<td> </td>
</tr>
<tr>
<td class=\".mailformular\" valign=\"middle\"><!--Deine--> Nachricht:</td>
<td> </td>
<td>
<text"."area cols=\"45\" rows=\"10\" name=\"comment\" style=\"width:250px\" wrap=\"physical\">".
$comment.
"</text"."area></td>
<td> </td>
</tr>
<tr>
<td colspan=\"4\" align=\"center\">
<br>
<input type=\"hidden\" name=\"mail\" value=\"yes\">
<input type=\"submit\" value=\"Mail senden »\">
</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änger in der Datenbank eingetragen,
bitte versuch' es spä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 -->
";
?>
Kann das jemand abändern oder gibt es da schon ein ähnliches Modul, welches mehrmandantenfähig ist?
Danke und Grüße
Bachi