Apache-MP3-Skin
view release on metacpan or search on metacpan
use vars qw(@ISA $VERSION);
@ISA = 'Apache::MP3::Playlist';
$VERSION = '0.91';
sub process_playlist {
my $self = shift;
my $r = $self->r;
my (@playlist,$changed);
if (my $cookies = CGI::Cookie->parse($r->header_in('Cookie'))) {
my $playlist = $cookies->{playlist};
@playlist = $playlist->value if $playlist;
if ($playlist[-1] &&
$r->lookup_uri($playlist[-1])->content_type ne 'audio/mpeg') {
$self->{possibly_truncated}++;
pop @playlist; # get rid of the last
}
}
if (param('Clear All')) {
return HTTP_NO_CONTENT unless @playlist;
return $self->send_playlist(\@playlist,'shuffle');
}
if (param('Play All') and param('playlist')) {
return HTTP_NO_CONTENT unless @playlist;
return $self->send_playlist(\@playlist);
}
if ($changed) {
my $c = CGI::Cookie->new(-name => 'playlist',
-value => \@playlist);
tied(%{$r->err_headers_out})->add('Set-Cookie' => $c);
(my $uri = $r->uri) =~ s!playlist\.m3u$!!;
$self->path_escape(\$uri);
$r->err_header_out(Location => $uri);
return REDIRECT;
}
$self->playlist(@playlist);
return;
}
( run in 0.366 second using v1.01-cache-2.11-cpan-4e96b696675 )