%attr>
ajax => 1
%attr>
<& 'SELF:display_form', %ARGS &>
<& 'SELF:display_overview', %ARGS &>
<%method display_overview>
<%args>
$recording => 'default'
$recid => undef
$search => undef
%args>
<%attr>
ajax => 1
update => 'recordings'
throbber => 1
form => 'recordingsform'
%attr>
<%perl>
use URI::Escape;
$m->comp('/include/recordings:read_recordings');
$recording = uri_unescape($recording);
$search = uri_unescape($search);
my $orig_recording = $recording;
$recording =~ s/\r//g;
my %TopIndex = %{ $m->comp('/include/recordings:get_top_index') };
my %IDIndex = %{ $m->comp('/include/recordings:get_id_index') };
my %TimeIndex = %{ $m->comp('/include/recordings:get_time_index') };
my %RecList = %TopIndex;
my $count = 0;
if ( defined $recid ) {
if ( defined $IDIndex{$recid} ) {
$recording = $IDIndex{$recid}{'detail'}{'titel'};
}
}
if ( $recording ne 'default' && $recording ne 'all' ) {
%RecList = ();
my %TitelIndex = %{ $m->comp('/include/recordings:get_titel_index') };
## search configured?
if ( defined $search ) {
foreach my $rec ( keys %TitelIndex ) {
foreach ( @{ $TitelIndex{$rec} } ) {
$RecList{ $_->{detail}->{id} } = \%{$_} if $_->{detail}->{'titel'}
=~ /$search/i;
}
}
$recording = $search;
}
else {
## add records
foreach ( @{ $TitelIndex{$recording} } ) {
$RecList{ $_->{detail}->{id} } = \%{$_};
}
}
}
else {
$recording = '@(Einzelne Aufnahmen)';
}
%perl>
<% $recording %>
<%perl>
my @TimeSort;
foreach my $id (sort keys %RecList) {
push(@TimeSort, $RecList{$id}{'detail'}{'timeindex'})
if $RecList{$id}{'detail'}{'timeindex'};
}
foreach my $timeIdx (reverse sort {$a <=> $b} @TimeSort) {
my $id=undef;
if($orig_recording eq 'default') {
$id = $TimeIndex{$timeIdx}{'detail'}{'titel'};
}
else {
$id = $TimeIndex{$timeIdx}{'detail'}{'id'};
}
if(defined $RecList{$id}{'detail'}{'id'}) {
$count++; if($count ==1) { $m->print('');
}
%perl>
<& 'SELF:display_detail', id => $RecList{$id}{'detail'}{'RecID'}
, resume => $RecList{$id}{'detail'}{'resume'}
, recording => $orig_recording
&>
|
<%perl>
if($count ==3) { $m->print('
'); $count=0;}
}
}
if($count != 0) { $m->print('');}
%perl>
%method>
<%method display_form>
% $m->comp('/include/recordings:read_recordings');
%method>
<%method display_detail>
<%args>
$id
$resume => undef
$recording => 'default'
%args>
<%perl>
use URI::Escape;
## $recording=uri_escape($recording);
%perl>
<&| '/include/recordings:get_single_id', id => $id &>
%titel |  |
%channel_name
%subtitel
% if(!defined $resume) {print "

";}
%time %length min
%descr
&>
<%filter>
s/\|\*\*\*\|/
/g;
s/\|/
/;
s/\|/
/g;
%filter>
%method>