# $deleted hold deleted (invisible) messages in result (1) oder not (0)
# $sorted direction of message sort: descending (0) (default) or ascending (1)
# Return: scalar context: hash reference
-# list context: list (\%threads, $last_thread, $last_message, \@unids)
+# list context: list (\%threads, $last_thread, $last_message, $dtd, \@unids)
#
sub get_all_threads ($$;$)
{
my ($file, $deleted, $sorted) = @_;
- my ($last_thread, $last_message, @unids, %threads);
+ my ($last_thread, $last_message, $dtd, @unids, %threads);
local (*FILE, $/);
open FILE, $file or return undef;
if (wantarray)
{
+ ($dtd) = $xml =~ /<!DOCTYPE\s+\S+\s+SYSTEM\s+"([^"]+)">/;
($last_thread) = map {/(\d+)/} $xml =~ /<Forum.+?lastThread="([^"]+)"[^>]*>/;
($last_message) = map {/(\d+)/} $xml =~ /<Forum.+?lastMessage="([^"]+)"[^>]*>/;
}
}
wantarray ?
- (\%threads, $last_thread, $last_message, \@unids)
+ (\%threads, $last_thread, $last_message, $dtd, \@unids)
: \%threads;
}
$flocked = 1;
- ($threads, $last_thread, $last_message, my $unids) = get_all_threads (forum_filename, 1, 0);
+ ($threads, $last_thread, $last_message, undef, my $unids) = get_all_threads (forum_filename, 1, 0);
($ftid,$fmid) = split /;/,$dparam{$formdata -> {followUp} -> {name}},2;
# Thread existiert nicht