use utf8;
use warnings; no warnings "redefine";
use strict;

use Dbase::Globals qw(mpersinfo kkpersinfo);
use Dbase::Help qw(Do DoFn);
use Fehler qw(problem);
use Loader qw(edit_domains log_update);

sub set_person_assocdomain($;$) {
	my($pers,$kn) = @_;

	my $kk = DoFn("select kunde from person where id=$pers");
	my $dom = edit_domains($kk,1,$kn);
	return undef unless defined $dom;

	my $opp = DoFn("select person from domainkunde where id=$dom");
	my $pp;
	unless($opp) {
		$pp = $pers;
	} elsif($opp == $pers) {
		$pp = "NULL";
	} else {
		return problem "Diese Domain ist bereits Person #$opp zugeordnet: ".mpersinfo $opp;
	}

	log_update("domainkunde","id",$dom,undef,"person","person",undef,
		$opp,kkpersinfo($opp,2));
	Do("update domainkunde set person=$pp where id=$dom");
	Do("update kunde set geaendert=UNIX_TIMESTAMP(NOW()) where id=$kk");
	$pp;
}

1;
