/usr/local/CPAN/Apache2-EmbedMP3/Apache2/EmbedMP3/Template.pm
package Apache2::EmbedMP3::Template;
use strict;
use warnings;
use Template;
my $default_template=<<EOF;
<html>
<head>
</head>
<body>
<style media="screen" type="text/css">
body {
background:#262523 none repeat scroll 0 0;
color:#DDDDCC;
font-family:"Trebuchet MS",Helvetica,Arial,sans-serif;
font-size:14px;
font-size-adjust:none;
font-stretch:normal;
font-style:normal;
font-variant:normal;
font-weight:normal;
line-height:1.5em;
}
/* Header */
#header {
margin: 1em auto;
width: 40em;
}
#header a, #header a:visited, #header a:active {
color: #eef;
text-decoration: none;
}
#header a:hover {
color: #ccb;
}
#posts {
margin: 0 auto;
width: 42em;
}
.post {
background-color:#363B39;
border:1px solid #494949;
margin: 1.5em 0;
padding: 1em;
}
h1 {
font-size: 3em;
font-weight: bold;
line-height: 1em;
}
.video{
text-align:center;
}
</style>
<div id="header">
<h1>Apache2::EmbedMP3</h1>
<h2>[% artist %] - [% title %]</h2>
<h3>[% album %] ([% year %])</h3>
</div>
<div id="posts">
<div class="post">
<div class="video">
[% player %]
</div>
</div>
<div class="post">
<pre>
[% lyrics %]
</pre>
</div>
</div>
<p align="center">Apache2::EmbedMP3 - <a href="http://axiombox.com/apache2-embedmp3">http://axiombox.com/apache2-embedmp3</a></p>
</body></html>
EOF
my $player = <<EOF;
<script type="text/javascript" src="%%% js %%%"></script>
<object
type="application/x-shockwave-flash"
data="%%% wpaudioplayer %%%"
id="audioplayer1"
height="24"
width="290">
<param
name="movie"
value="%%% wpaudioplayer %%%">
<param
name="FlashVars"
value="playerID=1&soundFile=%%% url %%%">
<param
name="quality" value="high">
<param
name="menu" value="false">
<param
name="wmode" value="transparent">
</object>
EOF
sub new {
my $self = shift;
return bless {};
}
sub process {
my($self, %opts) = @_;
my $opts = \%opts;
if($opts->{template} and -r $opts->{template}) {
open my $fh, "<", $opts->{template} or die $!;
$default_template = "";
while(<$fh>) {
$default_template .= $_;
}
close $fh;
}
my $wpaudioplayer = "/wpaudioplayer.swf";
$wpaudioplayer = $opts->{wpaudioplayer} if $opts->{wpaudioplayer};
my $js = "/wpaudioplayer.js";
$js = $opts->{js} if $opts->{js};
my $url = $opts->{uri}."?".$opts->{md5};
$player =~ s/%%% url %%%/$url/g;
$player =~ s/%%% js %%%/$js/g;
$player =~ s/%%% wpaudioplayer %%%/$wpaudioplayer/g;
my $tt = Template->new;
my $output;
$tt->process(\$default_template, {
player => $player,
artist => $opts->{artist},
title => $opts->{title},
year => $opts->{year},
album => $opts->{album},
lyrics => $opts->{lyrics},
}, \$output);
return $output;
}
1;
__DATA__