use utf8;
use warnings; no warnings "redefine";
use strict;
use Dbase::Help qw(DoFn);
use Fehler qw(problem);
use Dbase::Globals qw(find_descr bignum);

sub pruefe_person($;$) {
	my($pers,$flag) = @_;
	$flag = 0 unless $flag;

	my $dmail = bignum(1)<<find_descr("pwdomain","mail");
	my $dftp = bignum(1)<<find_descr("pwdomain","ftp");
	my $dwww = bignum(1)<<find_descr("pwdomain","www");
	my $dpop = bignum(1)<<find_descr("pwdomain","pop");
	my $disdn = bignum(1)<<find_descr("pwdomain","isdn");
	my $ddial = bignum(1)<<find_descr("pwdomain","dialout");

	my($flags,$uname,$uid,$upass,$umail,$uip) = DoFn("select pwuse,user,uid,pass,email,uremip from person where id = $pers");

	my $qacl = DoFn("select count(*) from queue_acl where person = $pers");

	if($flags & ($dmail|$dftp|$dwww|$dpop) or $qacl) {
		problem("person",$pers,"username","Die Person hat keinen Usernamen.") unless defined $uname;
		problem("person",$pers,"uid","Der Person ist keine UserID zugeordnet.") unless $uid;
		problem("person",$pers,"upass","Für diese Person wurde kein Passwort generiert.") unless defined $upass;
		problem("person",$pers,"mail","Die Person hat keine Mailadresse.") unless defined $umail;
	}

	if($flags & $disdn and $flags & $ddial) {
		my $cip = DoFn("select count(*) from ipkunde where person = $pers");
		problem("person",$pers,"ip","Die Person hat keine IP-Adressen.") unless $uip and $cip;

	}

	1;
}
1;
