use utf8;
use warnings; no warnings "redefine";
use strict;
use Loader qw(line_in log_view list_domreg strip_kn warn_arbeit
	set_domreg_nic set_domreg_dienst set_domreg_person
	set_domreg_whoisserver delete_domreg
	valid_domreg);
use Fehler qw(report_fehler);
use Dbase::Help qw(DoFn);

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

	return unless valid_domreg($id);

	my($qname,$nic) = DoFn("select domain,nic from domreg where id=$id");

	$kn = strip_kn($kn)."domreg_$qname:";
	my $work = warn_arbeit("domreg",$qname,"*",$kn);

	while(1) {
		my $act = line_in "$kn >",4; last if $act eq "";
		if($act eq '?') {
			print <<'END';
l   auflisten
r   Registrar (NIC) ändern           d   Dienst ändern
END
			print <<'END' if $nic;
t   Default-Tech-C ändern            z   Default-Zone-C ändern
w   whois-Server ändern              b   Default-Bill-C ändern
END
			print <<'END';

del Eintrag löschen

END
			next;
		}
		if($act eq "del") { return undef if delete_domreg($id); next; }
		if($act eq "l") { list_domreg($id,$kn); next; }
		if($act eq "r") { return undef if set_domreg_nic($id,$kn); next; }
		if($act eq "d") { set_domreg_dienst($id,$kn); next; }
		if($nic) {
			if($act eq "t") { set_domreg_person($id,$kn,"techc"); next; }
			if($act eq "z") { set_domreg_person($id,$kn,"zonec"); next; }
			if($act eq "b") { set_domreg_person($id,$kn,"billc"); next; }
			if($act eq 'w') { set_domreg_whoisserver($id); next; }
		}
		if($act eq "H") { log_view($kn,"domreg","id",$id); next; }
		print "Aktion '$act' kenne ich nicht. Liste mit '?'.\n";
		next; fehler: report_fehler(4);
	}
	$id;
}
1;
