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

use Dbase::Globals qw(kkpersinfo);
use Dbase::Help qw(Do DoFn);
use Loader qw(edit_personen log_update);

sub set_domain_person($;$$$$) {
	my($idi,$kn,$feld,$rev,$pp) = @_;
	$feld = "person" unless $feld;

	my($kk,$opp) = DoFn("select kunde,$feld from domainkunde where id=$idi");
	$pp = edit_personen($kk,1+4+128,$kn) unless $pp;
	return undef unless defined($pp);
	if($pp eq "-") {
		return $pp if not defined $opp;
		$pp = "NULL";
	} else {
		return $pp if defined $opp and $pp == $opp;
	}

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

	$pp;
}

1;
