track-menu.php 1.91 KB
Newer Older
Jonas Haraldsson's avatar
Jonas Haraldsson committed
1 2 3 4
<?php

/* GNU FM -- a free network service for sharing your music listening habits

5
   Copyright (C) 2012 Free Software Foundation, Inc
Jonas Haraldsson's avatar
Jonas Haraldsson committed
6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34

   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/>.

*/

function track_menu($track, $active_page) {
	global $this_user;

	$submenu = array(
		array('name' => _('Overview'), 'url' => $track->getURL()),
		array('name' => _('Tag'), 'url' => $track->getURL('tag')),
	);
	
	foreach($submenu as &$item) {
		$item['active'] = ($item['name'] == $active_page);
	}
	return $submenu;
}
35 36 37 38 39 40

// Create Artist, Album and Track objects
try {
	$track = new Track($_GET['track'], $_GET['artist']);
	$smarty->assign('track', $track);
} catch (Exception $e) {
41 42
	displayError("Track not found",
		"The track {$_GET['track']} by artist {$_GET['artist']} was not found in the database.");
43 44 45 46 47 48 49 50 51 52 53
}

try {
	$album = new Album($track->album_name, $track->artist_name);
	$smarty->assign('album', $album);
} catch (Exception $e) {}

try {
	$artist = new Artist($track->artist_name);
	$smarty->assign('artist', $artist);
} catch (Exception $e) {
54 55
	displayError("Artist not found",
		"The artist {$track->artist_name} was not found in the database");
56 57 58 59 60 61 62
}

if (isset($this_user) && $this_user->manages($artist->name)) {
	$smarty->assign('edit_link', $track->getEditURL());
}

$smarty->assign('pagetitle', $track->artist_name . ' : ' . $track->name);