--- 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) . "
\n"; + $fehlertext .= "
";
+		 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) . "
\n"; + $fehlertext .= "
";
+				 foreach($loops as $loop)
+					$fehlertext .= implode(" → ", $loop) . "\n";
+				 $fehlertext .= "
"; + db_close(); + include("email_email_bearbeiten.php"); + exit(); } }