use utf8;
use warnings;
no warnings 'redefine';
use strict;
use Dbase::Help qw(Do DoFn);
use Loader qw(edit_ipaddrs log_update);

sub set_hostgroup_host($;$$) {
	my ( $gruppe, $kn, $kunde ) = @_;
	die unless defined $gruppe && $gruppe =~ /^\d+\z/;
	$kunde ||= DoFn("SELECT kunde FROM hostgroup WHERE id = $gruppe");
	defined( my $host = edit_ipaddrs( $kunde, 1 | 2, $kn ) )
	  or return;

	if ( DoFn(<<_) ) {
	SELECT 1 FROM ip_hostgroup WHERE host = $host AND gruppe = $gruppe
_
		log_update(
			ipkunde =>
			  id => $host,
			undef,
			hostgroup => '-',
			undef, $gruppe
		);
		Do("DELETE FROM ip_hostgroup WHERE host = $host AND gruppe = $gruppe");
		print "Zuordnung gelöscht.\n";
	}
	else {
		log_update(
			ipkunde =>
			  id => $host,
			undef,
			hostgroup => '*',
			undef, $gruppe
		);
		Do("INSERT INTO ip_hostgroup SET host = $host, gruppe = $gruppe");
		print "Host zugeordnet.\n";
	}
}

1;
