use utf8;
use warnings; no warnings "redefine";
use strict;
use Dbase::Globals qw(content def_or_minus);
use Dbase::Help qw(Do DoFn qquote);
use Fehler qw(problem warnung);
use Loader qw(line_in log_update);

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

	my $old_nagiosconf =
	  DoFn("SELECT nagiosconf FROM $objekttyp WHERE id = $id");
	content( my $nagiosconf =
		  line_in( 'Nagios-Konfiguration: ', undef, undef, $old_nagiosconf ) )
	  or return;

	return warnung('Im Westen nix Neues...')
	  if defined $nagiosconf
	  ? defined $old_nagiosconf && $nagiosconf eq $old_nagiosconf
	  : !defined $old_nagiosconf;

	if ( $nagiosconf eq '-' ) { undef $nagiosconf }
	elsif ( grep !/=/, split ' ', $nagiosconf ) {
		return problem(<<_) }
Hier sind nur durch Whitespace separierte Einstellungen
im Format NAME=WERT erlaubt!
_

	log_update(
		$objekttyp =>
		  id => $id,
		undef,
		nagiosconf => undef,
		def_or_minus($old_nagiosconf)
	);
	Do(     "UPDATE $objekttyp SET nagiosconf="
		  . qquote($nagiosconf)
		  . " WHERE id = $id" );
}

1;
