use utf8;
use warnings; no warnings "redefine";
use strict;
use Loader qw(edit_tarifnamen log_update domain_reg);
use Dbase::Globals qw(get_reseller);
use Dbase::Help qw(DoFn Do quote qquote);

sub set_domain_tname($;$$) {
	my($id,$kn,$tname) = @_;

	my $kk;
	if(not defined $tname) {
		$kk = edit_tarifnamen(1+4+16,$kn,"domain");
		return undef unless defined $kk;
		if($kk ne "-") {
			$tname = DoFn("select name from tarifname where id=$kk");
		}
	} else {
		if($tname eq "?") {
			my($kid) = DoFn("select kunde from domainkunde where id=$id");
			my $dien;
			domain_reg($id,\$dien);

			my $rsn = get_reseller($kid);
			if(defined $dien and defined $rsn and DoFn("select tarif.id from tarif,tarifklasse,tarifname where tarifklasse.tarifname=tarifname.id  and tarifklasse.id=tarif.klasse and tarif.dienst = $dien and tarifname.name = 'domain-${\quote $rsn}'")) {
				$tname = "domain-$rsn";
			} else {
				$tname = "domain";
			}
		}
	}
	my $tnid;
	if($tname) {
		$tnid = DoFn("select id from tarifname where name=${\qquote $tname}");
		$tnid = Do("insert into tarifname set name=${\qquote $tname}")
			unless $tnid;
	} else {
		$tnid = "NULL";
	}
	my $okk = DoFn("select tarifname from domainkunde where id=$id");

	log_update("domainkunde","id",$id,undef,"tarifname",undef,(defined $okk) ? DoFn("select name from tarifname where id=$okk") : "-");
	Do("update domainkunde set tarifname=$tnid where id=$id");
	$tnid;
}
1;
