=head1 check_mailrules_auf_username

Überprüfe, ob Mail-Regeln auf den User-Namen einer bestimmten Person
zeigen.

=head2 Argumente

=over 4

=item $person_id

Die Datenbank-ID der Person, um deren Username es geht.

=back

=head2 Ergebnis

Die Quelladressen der fraglichen Regeln als Liste (ggf. mit Zusatz, bei welchem
Kunden die eingetragen sind, sofern abweichend vom primären Kunden der Person).

=cut

use utf8;
use warnings; no warnings "redefine";
use strict;
use Dbase::Help qw(DoSelect);

sub check_mailrules_auf_username($) {
	my($pers) = @_;
	my @adr;
	DoSelect {
		my($kunde, $adr, $kunde_id, $kunde_name) = @_;
		push @adr, "<$adr>" . ($kunde_id != $kunde && " (bei Kunde #$kunde_id:$kunde_name)");
	} <<_;
	SELECT person.kunde, mailrules.quelle, kunde.id, kunde.name
	FROM   kunde, mailrules, person
	WHERE  person.id = $pers
	   AND ( mailrules.ziel = person.user                        OR
	         mailrules.ziel LIKE CONCAT(      person.user, ',%') OR
	         mailrules.ziel LIKE CONCAT('%,', person.user      ) OR
	         mailrules.ziel LIKE CONCAT('%,', person.user, ',%') )
	   AND mailrules.kunde = kunde.id
	   AND ( kunde.ende IS NULL                  OR
	         kunde.ende >= UNIX_TIMESTAMP(NOW()) )
_
	@adr;
}

1;
