use utf8;
use strict;
use warnings; no warnings qw(redefine);
use Dbase::Help qw(DoFn);
use Fehler qw(problem warnung);
use Loader qw(strip_kn);
use noris::Ticket::API qw(get_pooled_connection);

# Flag:
# 1 Warnung bei gemergten Tickets (TODO)
# 2 akzeptiere OTRS-Ticketnummern (obsolet)
# 4 ... NUR ... (obsolet)

sub valid_ticket($;$$) {
	my ( $id, $flag, $kn ) = @_;
	$flag = 0 unless $flag;

	return problem $kn,"ID '$id' ist nicht numerisch!\n" unless $id =~ /^\d+$/;

	{    # Debug-Code für #10050952 ergänzt:
		local $ENV{TICKET_API_DEBUG} = 'all';
		require IO::String;
		my $old_fh        = select IO::String->new( my $debug_output );
		my $ticket_exists = get_pooled_connection()->get_ticket($id);
		select $old_fh;
		return problem( $kn, <<_ ) unless $ticket_exists;
Ticket #$id gibt es nicht.

Zumindest glaube ich das.
Falls Du's anders siehst, schick bitte diese Problem-Meldung an
<10050952\@ticket.noris.net>, damit wir das genauer untersuchen koennen!

Startzeit $0: ${\ scalar localtime $^T }
Jetzt ist es: ${\ scalar localtime }

Debug-Daten der Ticket-API:
$debug_output
_
	}

#	unless($flag & 1) {
#		TODO: Umstellung auf API
#		my $rt = DoFn("select ticket from ticket where id = $id");
#		warnung $kn,"wurde in Ticket '$rt' gemerget.\n" if $rt != $id;
#	}

	$id;
}

1;
