--- html/user/email_email_anlegen2.php.orig 2010-05-24 16:44:08.000000000 +0200
+++ html/user/email_email_anlegen2.php 2010-05-24 19:59:04.000000000 +0200
@@ -181,14 +181,15 @@
$teil1 = $emailteile[0];
$teil2 = $emailteile[1];
-$id = safe_query2( "SELECT COUNT(*) FROM email WHERE prefix = ? AND domain = ? AND kunde = ? AND server_id='$ServerID'",
- new SQLString( $teil1 ),
- new SQLString( $teil2 ),
- $loUser );
-list($count) = db_fetch_array( $id, 'N' );
-
-if ( $count || ($pop3 == "$prefix@$domain")){
- $fehlertext = ltext("ememan2_error6");
+/* check for mail loops */
+$loops = email_checkloop($prefix, $domain, $teil1, $teil2, $loUser, $ServerID);
+if (!empty($loops))
+{
+ $fehlertext = ltextud('mailloop', $prefix.'@'.$domain . " → " . $teil1.'@'.$teil2) . "
\n";
+ $fehlertext .= "
"; + foreach($loops as $loop) + $fehlertext .= implode(" → ", $loop) . "\n"; + $fehlertext .= ""; db_close(); popPathBar(); include("email_email.php"); --- html/user/email_email_bearbeiten2.php.orig 2010-05-24 19:22:44.000000000 +0200 +++ html/user/email_email_bearbeiten2.php 2010-05-24 20:00:50.000000000 +0200 @@ -73,10 +73,16 @@ $emailteile = explode("@", $hpop3); $teil1 = $emailteile[0]; $teil2 = $emailteile[1]; - $tmpmail = $teil1."@".$teil2; - if (in_array( $tmpmail, $hasEmails ) ) { - $fehlertext = ltext("emembe2_error1"); - $pop3 = $hemail; + /* check for mail loops */ + $source = explode("@", $emailadresse); + $loops = email_checkloop($source[0], $source[1], $teil1, $teil2, $loUser, $ServerID); + if (!empty($loops)) + { + $fehlertext = ltextud('mailloop', $emailadresse . " → " . $teil1.'@'.$teil2) . "
"; + foreach($loops as $loop) + $fehlertext .= implode(" → ", $loop) . "\n"; + $fehlertext .= ""; db_close(); include("email_email_bearbeiten.php"); exit(); @@ -126,10 +132,19 @@ $emailteile = explode("@", $pop3); $teil1 = $emailteile[0]; $teil2 = $emailteile[1]; - $tmpmail = $teil1."@".$teil2; - if ( in_array( $tmpmail, $hasEmails ) ) { - $pop3 = ""; - $topop = "ja"; + /* check for mail loops */ + $source = explode("@", $emailadresse); + $loops = email_checkloop($source[0], $source[1], $teil1, $teil2, $loUser, $ServerID); + if (!empty($loops)) + { + $fehlertext = ltextud('mailloop', $emailadresse . " → " . $teil1.'@'.$teil2) . "
"; + foreach($loops as $loop) + $fehlertext .= implode(" → ", $loop) . "\n"; + $fehlertext .= ""; + db_close(); + include("email_email_bearbeiten.php"); + exit(); } }