track.php 2.11 KB
Newer Older
jurgbohn's avatar
jurgbohn committed
1 2
<?php

3
/* GNU FM -- a free network service for sharing your music listening habits
jurgbohn's avatar
jurgbohn committed
4

5
   Copyright (C) 2009 Free Software Foundation, Inc
jurgbohn's avatar
jurgbohn committed
6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21

   This program is free software: you can redistribute it and/or modify
   it under the terms of the GNU Affero General Public License as published by
   the Free Software Foundation, either version 3 of the License, or
   (at your option) any later version.

   This program is distributed in the hope that it will be useful,
   but WITHOUT ANY WARRANTY; without even the implied warranty of
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
   GNU Affero General Public License for more details.

   You should have received a copy of the GNU Affero General Public License
   along with this program.  If not, see <http://www.gnu.org/licenses/>.

*/

22
require_once('database.php');
clint's avatar
clint committed
23 24 25 26
require_once('templating.php');
require_once('data/sanitize.php');
require_once('data/Server.php');
require_once('data/TagCloud.php');
Jonas Haraldsson's avatar
Jonas Haraldsson committed
27
require_once('track-menu.php');
jurgbohn's avatar
jurgbohn committed
28

29 30
$smarty->assign('flattr_uid', $artist->flattr_uid);
$smarty->assign('url', $track->getURL());
31

32
if ($track->duration) {
33 34 35
	// Give the duration in MM:SS
	$mins = floor($track->duration / 60);
	$sec = floor($track->duration % 60);
36 37 38 39
	if (strlen($sec) == 1) {
		$sec = '0' . $sec;
	}
	$duration = $mins . ':' . $sec;
40 41
	$smarty->assign('duration', $duration);
}
42

43 44
$smarty->assign('extra_head_links', array(
		array(
45 46
			'rel'   => 'meta',
			'type'  => 'application/rdf+xml',
47
			'title' => 'Track Metadata',
48
			'href'  => $base_url . '/rdf.php?fmt=xml&page=' . rawurlencode(str_replace($base_url, '', $track->getURL()))
49
			)
50 51 52
		));

try {
53
	$tagCloud = TagCloud::generateTagCloud('tags', 'tag', 10, 'track', array($track->name, $track->artist_name));
54 55 56 57 58
} catch ( Exception $e) {
	$tagCloud = array();
}
$smarty->assign('tagcloud', $tagCloud);

59 60 61 62 63 64 65 66 67 68
if ($logged_in) {
	if($_POST['love']) {
		$track->love($this_user->uniqueid);
	}
	if($_POST['unlove']) {
		$track->unlove($this_user->uniqueid);
	}
	$smarty->assign('isloved', $track->isLoved($this_user->uniqueid));
}
	
Jonas Haraldsson's avatar
Jonas Haraldsson committed
69 70
$submenu = track_menu($track, 'Overview');
$smarty->assign('submenu', $submenu);
elleo's avatar
elleo committed
71
$smarty->display('track.tpl');