diff options
Diffstat (limited to 'cgi-bin/playlists/tracks.pm')
| -rw-r--r-- | cgi-bin/playlists/tracks.pm | 85 |
1 files changed, 85 insertions, 0 deletions
diff --git a/cgi-bin/playlists/tracks.pm b/cgi-bin/playlists/tracks.pm new file mode 100644 index 0000000..5e73766 --- /dev/null +++ b/cgi-bin/playlists/tracks.pm @@ -0,0 +1,85 @@ +package tracks; + +use strict; +use Globals; +use Globals qw(%PLATTERS); +use Globals qw(@MUSIC); +use Globals qw(@VIDEO); +use Globals qw($target); +use Globals qw($delim); +use Globals qw($bgcolour); + +sub new { + my $self = { + mime => "text/html", + playlist => openTemplate("search"), + artistSearch => 0, + count => 0}; + + # show the logo if this is a new page + my $logo; + $logo = '<a href="front.plx"><img src="/platdoc/img/logo.gif" hspace=0 border=0></a>' if ($target eq '_top'); + $self->{playlist} =~ s/%LOGO%/$logo/; + $self->{playlist} =~ s/%BGCOLOUR%/$bgcolour/g; + + bless ($self); + return $self; +} + +sub desc { + return "Track Search Results"; + } + +sub header { + my $self = shift; + $self->{playlist} .= '<ol>'; +} + +sub track { + my $self = shift; + my ($folder, $trackartist, $album, $year, $track, $url, $platter) = @_; + + $self->{count}++; + + $self->{playlist} .= "<li>"; + + #prepare urls + + $self->{playlist} .= '<a href="'.makeTrackURL($PLATTERS{$platter}, $url, $folder, $trackartist, $track ).'"><img src="/platdoc/img/filebutton_s.png" border=0 align="middle"></a><a href="'.makeTrackPlaylist($folder, $trackartist, $album, $track, $platter).'"><img src="/platdoc/img/playbutton_s.png" border=0 align="middle"> "'.makeHTML($track)."</a>"<br>"; + + # prepare artist info + foreach( ($folder, $trackartist) ) { + + $self->{playlist} .= "<a href=\"artist.plx?name=".makeUnNice($_)."&exact=1\">".makeHTML($_)."</a>," if (/.+/); + } + chop $self->{playlist}; # remove trailing comma + + if (length $album > 0) { # album + $self->{playlist} .= "<br>from <a href=\"artist.plx?name=".makeUnNice($folder)."&album=".makeUnNice($album)."&exact=1\">"; + $album =~ s/\(\d{4}\)(\/|$)/$1/; + $self->{playlist} .= makeHTML($album)."</a>"; + if ($year > 0) { $self->{playlist} .= " <small>($year)</small>" } + } + + $self->{playlist} .= "<span style=\"font-size:4pt;\"><br> </span></li>\n"; +} + +sub dump { + my $self = shift; + $self->{playlist} =~ s/%SHORTCUTS%//; + if ($self->{count} > 0) + { + my $REPORT = "Found ".$self->{count}." matches."; + $self->{playlist} =~ s/%COUNT%/$REPORT/; + return $self->{playlist}."</ol><p>$REPORT</body></html>"; + } + else + { + $self->{playlist} =~ s/%COUNT%/<p>Sorry, nothing found./; + + return $self->{playlist}."</ol></body></html>"; + } +} + +return 1; + |
