mirror of
https://github.com/danbee/neompc
synced 2025-03-04 08:39:10 +00:00
+ Button at the top now lights up to let you know what mode you're at.
+ 'Add' and 'Play' buttons now recurse down the file tree. Be careful about hitting this button at the top level if you've got a big library! ~ Playlist now highlights currently playing track.
This commit is contained in:
parent
9d8cf6704d
commit
9a3fbae4fd
@ -14,7 +14,7 @@
|
|||||||
$_CONFIG['template'] = 'default';
|
$_CONFIG['template'] = 'default';
|
||||||
|
|
||||||
/* Browse mode can be 'filesystem' or 'metadata' */
|
/* Browse mode can be 'filesystem' or 'metadata' */
|
||||||
$_CONFIG['browse_mode'] = 'metadata';
|
$_CONFIG['browse_mode'] = 'filesystem';
|
||||||
|
|
||||||
$_CONFIG['sort_by_tracknumber'] = true;
|
$_CONFIG['sort_by_tracknumber'] = true;
|
||||||
|
|
||||||
|
|||||||
128
lib/actions.php
128
lib/actions.php
@ -1,65 +1,41 @@
|
|||||||
<?php
|
<?php
|
||||||
/* handle the actions for mpd */
|
/* handle the actions for mpd */
|
||||||
|
|
||||||
if ($_GET['skipto']) {
|
if ($_GET['skipto']) {
|
||||||
$mympd->SkipTo($_GET['skipto']);
|
$mympd->SkipTo($_GET['skipto']);
|
||||||
}
|
}
|
||||||
|
|
||||||
switch($_GET['action']) {
|
switch($_GET['action']) {
|
||||||
case "clear":
|
case "clear":
|
||||||
$mympd->PLClear();
|
$mympd->PLClear();
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case "remove":
|
case "remove":
|
||||||
$mympd->PLRemove($_GET['id']);
|
$mympd->PLRemove($_GET['id']);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case "fileadd":
|
case "fileadd":
|
||||||
$mympd->PLAdd($_GET['file']);
|
$mympd->PLAdd($_GET['file']);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case "addall":
|
case "addall":
|
||||||
/* create the array of files for the playlist add */
|
addall($_COOKIE['browse']);
|
||||||
if ($browse == '/') {
|
|
||||||
$browse = '';
|
|
||||||
}
|
|
||||||
|
|
||||||
$browselist = $mympd->GetDir($browse);
|
|
||||||
|
|
||||||
foreach($browselist as $browselist_item) {
|
|
||||||
if ($browselist_item['file']) {
|
|
||||||
$addlist[] = $browselist_item['file'];
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
$mympd->PLAddBulk($addlist);
|
|
||||||
$page = 'playlist';
|
$page = 'playlist';
|
||||||
setcookie('page', $page);
|
setcookie('page', $page);
|
||||||
header("Location: index.php");
|
header("Location: index.php");
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case "playall":
|
case "playall":
|
||||||
$mympd->PLClear();
|
$mympd->PLClear();
|
||||||
/* create the array of files for the playlist add */
|
|
||||||
if ($browse == '/') {
|
addall($_COOKIE['browse']);
|
||||||
$browse = '';
|
|
||||||
}
|
|
||||||
|
|
||||||
$browselist = $mympd->GetDir($browse);
|
|
||||||
|
|
||||||
foreach($browselist as $browselist_item) {
|
|
||||||
if ($browselist_item['file']) {
|
|
||||||
$addlist[] = $browselist_item['file'];
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
$mympd->PLAddBulk($addlist);
|
|
||||||
$page = 'control';
|
$page = 'control';
|
||||||
setcookie('page', $page);
|
setcookie('page', $page);
|
||||||
$mympd->Play();
|
$mympd->Play();
|
||||||
header("Location: index.php");
|
header("Location: index.php");
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case "fileplay":
|
case "fileplay":
|
||||||
$mympd->PLClear();
|
$mympd->PLClear();
|
||||||
$mympd->PLAdd($_GET['file']);
|
$mympd->PLAdd($_GET['file']);
|
||||||
@ -68,30 +44,100 @@
|
|||||||
$mympd->Play();
|
$mympd->Play();
|
||||||
header("Location: index.php");
|
header("Location: index.php");
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case "play":
|
case "play":
|
||||||
$mympd->Play();
|
$mympd->Play();
|
||||||
header("Location: index.php");
|
header("Location: index.php");
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case "stop":
|
case "stop":
|
||||||
$mympd->Stop();
|
$mympd->Stop();
|
||||||
header("Location: index.php");
|
header("Location: index.php");
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case "pause":
|
case "pause":
|
||||||
$mympd->Pause();
|
$mympd->Pause();
|
||||||
header("Location: index.php");
|
header("Location: index.php");
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case "prev":
|
case "prev":
|
||||||
$mympd->Previous();
|
$mympd->Previous();
|
||||||
header("Location: index.php");
|
header("Location: index.php");
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case "next":
|
case "next":
|
||||||
$mympd->Next();
|
$mympd->Next();
|
||||||
header("Location: index.php");
|
header("Location: index.php");
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
?>
|
|
||||||
|
function addall($browse) {
|
||||||
|
|
||||||
|
global $_CONFIG, $mympd;
|
||||||
|
|
||||||
|
if ($browse == '/') {
|
||||||
|
$browse = '';
|
||||||
|
}
|
||||||
|
|
||||||
|
switch ($_CONFIG['browse_mode']) {
|
||||||
|
|
||||||
|
case 'filesystem':
|
||||||
|
|
||||||
|
function get_browselist($path) {
|
||||||
|
|
||||||
|
global $mympd;
|
||||||
|
|
||||||
|
$browselist = $mympd->GetDir($path);
|
||||||
|
|
||||||
|
foreach ($browselist as $browseitem) {
|
||||||
|
if ($browseitem['directory']) {
|
||||||
|
//echo $browseitem.directory;
|
||||||
|
$browselist = array_merge($browselist, get_browselist($browseitem['directory']));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return $browselist;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
/* create the array of files for the playlist add */
|
||||||
|
$browselist = get_browselist($browse);
|
||||||
|
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 'metadata':
|
||||||
|
|
||||||
|
$browse_bits = split('/', $browse);
|
||||||
|
|
||||||
|
if (is_array($browse_bits)) {
|
||||||
|
|
||||||
|
if ($browse_bits[1]) {
|
||||||
|
$album = $browse_bits[1];
|
||||||
|
$browselist = $mympd->Find(MPD_SEARCH_ALBUM, $album);
|
||||||
|
}
|
||||||
|
elseif ($browse_bits[0]) {
|
||||||
|
$artist = $browse_bits[0];
|
||||||
|
$browselist = $mympd->Find(MPD_SEARCH_ARTIST, $artist);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
//$browselist = $mympd->Search(MPD_SEARCH_TITLE, '');
|
||||||
|
}
|
||||||
|
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (is_array($browselist)) {
|
||||||
|
|
||||||
|
foreach($browselist as $browselist_item) {
|
||||||
|
if ($browselist_item['file']) {
|
||||||
|
$addlist[] = $browselist_item['file'];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
$mympd->PLAddBulk($addlist);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
?>
|
||||||
|
|||||||
@ -1,6 +1,8 @@
|
|||||||
<?php
|
<?php
|
||||||
/* Smarty stuff */
|
/* Smarty stuff */
|
||||||
|
|
||||||
|
$version = 0.3;
|
||||||
|
|
||||||
require('config/config.inc.php');
|
require('config/config.inc.php');
|
||||||
|
|
||||||
define('SMARTY_DIR', 'lib/smarty/libs/');
|
define('SMARTY_DIR', 'lib/smarty/libs/');
|
||||||
@ -10,51 +12,53 @@
|
|||||||
$smarty->compile_dir = 'smarty/templates_c/';
|
$smarty->compile_dir = 'smarty/templates_c/';
|
||||||
$smarty->config_dir = 'smarty/configs/';
|
$smarty->config_dir = 'smarty/configs/';
|
||||||
$smarty->cache_dir = 'smarty/cache/';
|
$smarty->cache_dir = 'smarty/cache/';
|
||||||
|
|
||||||
|
$smarty->assign('version', $version);
|
||||||
|
|
||||||
include('lib/mpd.class.php');
|
include('lib/mpd.class.php');
|
||||||
$mympd = new mpd('localhost',6600);
|
$mympd = new mpd('localhost',6600);
|
||||||
|
|
||||||
if (!$mympd->connected) {
|
if (!$mympd->connected) {
|
||||||
echo "<p>Problem connecting to MPD!</p>";
|
echo "<p>Problem connecting to MPD!</p>";
|
||||||
exit;
|
exit;
|
||||||
}
|
|
||||||
|
|
||||||
/* track number sorting function */
|
|
||||||
|
|
||||||
function track_sort($a, $b) {
|
|
||||||
if ($a['directory'] && $b['directory']) {
|
|
||||||
if ($a['directory'] < $b['directory']) {
|
|
||||||
return -1;
|
|
||||||
}
|
|
||||||
elseif ($a['directory'] > $b['directory']) {
|
|
||||||
return 1;
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
elseif ($a['directory'] && !$b['directory']) {
|
|
||||||
return 1;
|
|
||||||
}
|
|
||||||
elseif (!$a['directory'] && $b['directory']) {
|
|
||||||
return -1;
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
return $a['Track'] - $b['Track'];
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* track number sorting function */
|
||||||
|
|
||||||
|
function track_sort($a, $b) {
|
||||||
|
if ($a['directory'] && $b['directory']) {
|
||||||
|
if ($a['directory'] < $b['directory']) {
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
elseif ($a['directory'] > $b['directory']) {
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
elseif ($a['directory'] && !$b['directory']) {
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
elseif (!$a['directory'] && $b['directory']) {
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
return $a['Track'] - $b['Track'];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/* setup some global vars */
|
/* setup some global vars */
|
||||||
$smarty->assign('browse_link', 'index.php?page=browse');
|
$smarty->assign('browse_link', 'index.php?page=browse');
|
||||||
$smarty->assign('playlist_link', 'index.php?page=playlist');
|
$smarty->assign('playlist_link', 'index.php?page=playlist');
|
||||||
$smarty->assign('browselist_play_link', 'index.php?action=fileplay&file=');
|
$smarty->assign('browselist_play_link', 'index.php?action=fileplay&file=');
|
||||||
$smarty->assign('browselist_add_link', 'index.php?action=fileadd&file=');
|
$smarty->assign('browselist_add_link', 'index.php?action=fileadd&file=');
|
||||||
$smarty->assign('playlist_remove_link', 'index.php?action=remove&id=');
|
$smarty->assign('playlist_remove_link', 'index.php?action=remove&id=');
|
||||||
$smarty->assign('control_link', 'index.php?page=control');
|
$smarty->assign('control_link', 'index.php?page=control');
|
||||||
$smarty->assign('playlist_play_link', 'index.php?page=control&action=play&skipto=');
|
$smarty->assign('playlist_play_link', 'index.php?page=control&action=play&skipto=');
|
||||||
$smarty->assign('playlist_clear_link', 'index.php?action=clear');
|
$smarty->assign('playlist_clear_link', 'index.php?action=clear');
|
||||||
|
|
||||||
/* first check for a page cookie, and default to displaying the playlist */
|
/* first check for a page cookie, and default to displaying the playlist */
|
||||||
if ($_GET['page']) {
|
if ($_GET['page']) {
|
||||||
$page = $_GET['page'];
|
$page = $_GET['page'];
|
||||||
setcookie('page', $page);
|
setcookie('page', $page);
|
||||||
@ -62,9 +66,11 @@
|
|||||||
else {
|
else {
|
||||||
$page = $_COOKIE['page'];
|
$page = $_COOKIE['page'];
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!$page) {
|
if (!$page) {
|
||||||
$page = 'playlist';
|
$page = 'playlist';
|
||||||
}
|
}
|
||||||
|
|
||||||
?>
|
$smarty->assign('page', $page);
|
||||||
|
|
||||||
|
?>
|
||||||
|
|||||||
283
lib/page.php
283
lib/page.php
@ -1,178 +1,209 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
$smarty->assign('page', $page);
|
$smarty->assign('page', $page);
|
||||||
|
|
||||||
/* print_r($mympd->playlist); */
|
/* print_r($mympd->playlist); */
|
||||||
|
|
||||||
switch ($page) {
|
switch ($page) {
|
||||||
case "playlist":
|
case "playlist":
|
||||||
$smarty->assign('playlist', $mympd->playlist);
|
/*
|
||||||
break;
|
echo '<pre>';
|
||||||
case "control":
|
print_r($mympd->playlist);
|
||||||
/* get the currently playing track */
|
echo '</pre>';
|
||||||
$current_track = $mympd->playlist[$mympd->current_track_id];
|
//*/
|
||||||
$smarty->assign('current_track_no', $current_track['Track']);
|
|
||||||
$smarty->assign('current_title', $current_track['Title']);
|
$smarty->assign('playlist', $mympd->playlist);
|
||||||
$smarty->assign('current_album', $current_track['Album']);
|
$smarty->assign('playing', $mympd->current_track_id);
|
||||||
$smarty->assign('current_artist', $current_track['Artist']);
|
break;
|
||||||
$smarty->assign('current_file', $current_track['file']);
|
case "control":
|
||||||
break;
|
/* get the currently playing track */
|
||||||
|
$current_track = $mympd->playlist[$mympd->current_track_id];
|
||||||
|
$smarty->assign('current_track_no', $current_track['Track']);
|
||||||
|
$smarty->assign('current_title', $current_track['Title']);
|
||||||
|
$smarty->assign('current_album', $current_track['Album']);
|
||||||
|
$smarty->assign('current_artist', $current_track['Artist']);
|
||||||
|
$smarty->assign('current_file', $current_track['file']);
|
||||||
|
break;
|
||||||
case "browse":
|
case "browse":
|
||||||
|
|
||||||
switch ($_CONFIG['browse_mode']) {
|
switch ($_CONFIG['browse_mode']) {
|
||||||
|
|
||||||
case 'metadata': /* metadata based browsing. this will list artists->albums->tracks */
|
case 'metadata': /* metadata based browsing. this will list artists->albums->tracks */
|
||||||
|
|
||||||
/* split the browse get var if present */
|
/* split the browse get var if present */
|
||||||
if ($_GET['browse']) {
|
if ($_GET['browse']) {
|
||||||
|
setcookie('browse', stripslashes($_GET['browse']));
|
||||||
if ($_GET['browse'] == '/') {
|
if ($_GET['browse'] == '/') {
|
||||||
$browse_bits[0] = 'artists';
|
$meta_level = 'artists';
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
$browse_bits = split('::', $_GET['browse']);
|
$browse_bits = split('/', $_GET['browse']);
|
||||||
}
|
if ($browse_bits[0]) {
|
||||||
|
$artist = $browse_bits[0];
|
||||||
|
$meta_level = 'albums';
|
||||||
|
}
|
||||||
|
if ($browse_bits[1]) {
|
||||||
|
$album = $browse_bits[1];
|
||||||
|
$meta_level = 'tracks';
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
elseif ($_COOKIE['browse']) {
|
||||||
//print_r($browse_bits);
|
if ($_COOKIE['browse'] == '/') {
|
||||||
|
$meta_level = 'artists';
|
||||||
/* set the meta_level */
|
}
|
||||||
if ($browse_bits[0]) {
|
else {
|
||||||
$meta_level = $browse_bits[0];
|
$browse_bits = split('/', $_COOKIE['browse']);
|
||||||
}
|
if ($browse_bits[0]) {
|
||||||
elseif ($_COOKIE['meta_level']) {
|
$artist = $browse_bits[0];
|
||||||
$meta_level = $_COOKIE['meta_level'];
|
$meta_level = 'albums';
|
||||||
|
}
|
||||||
|
if ($browse_bits[1]) {
|
||||||
|
$album = $browse_bits[1];
|
||||||
|
$meta_level = 'tracks';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
$meta_level = 'artists';
|
$meta_level = 'artists';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//print_r($browse_bits);
|
||||||
|
|
||||||
switch ($meta_level) { /* we need to get the information differently for different meta levels */
|
switch ($meta_level) { /* we need to get the information differently for different meta levels */
|
||||||
|
|
||||||
case 'artists':
|
case 'artists':
|
||||||
$artists = $mympd->GetArtists();
|
$artists = $mympd->GetArtists();
|
||||||
|
|
||||||
foreach ($artists as $artist) {
|
foreach ($artists as $the_artist) {
|
||||||
$browselist[]['metaArtist'] = $artist;
|
$browselist[] = array('metaArtist' => $the_artist, 'path' => stripslashes($the_artist));
|
||||||
}
|
}
|
||||||
|
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 'albums':
|
case 'albums':
|
||||||
$albums = $mympd->GetAlbums($browse_bits[1]);
|
$albums = $mympd->GetAlbums($artist);
|
||||||
|
|
||||||
foreach ($albums as $album) {
|
foreach ($albums as $the_album) {
|
||||||
$browselist[]['metaAlbum'] = $album;
|
$browselist[] = array('metaAlbum' => $the_album, 'path' => stripslashes($artist . '/' . $the_album));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$dir_list = array(array('name' => stripslashes($artist), 'path' => urlencode(stripslashes($artist))));
|
||||||
|
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 'tracks':
|
case 'tracks':
|
||||||
|
|
||||||
$tracks = $mympd->Find(MPD_SEARCH_ALBUM, $browse_bits[1]);
|
$tracks = $mympd->Find(MPD_SEARCH_ALBUM, $album);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
echo '<pre>';
|
echo '<pre>';
|
||||||
print_r($tracks);
|
print_r($tracks);
|
||||||
echo '</pre>';
|
echo '</pre>';
|
||||||
//*/
|
//*/
|
||||||
|
|
||||||
/* foreach ($albums as $album) {
|
/* foreach ($albums as $album) {
|
||||||
$browselist[]['metaAlbum'] = $album;
|
$browselist[]['metaAlbum'] = $album;
|
||||||
} */
|
} */
|
||||||
|
|
||||||
$browselist = $tracks;
|
$browselist = $tracks;
|
||||||
|
|
||||||
if ($_CONFIG['sort_by_tracknumber']) {
|
if ($_CONFIG['sort_by_tracknumber']) {
|
||||||
usort($browselist, "track_sort");
|
usort($browselist, "track_sort");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$dir_list = array(array('name' => stripslashes($artist), 'path' => urlencode(stripslashes($artist))), array('name' => stripslashes($album), 'path' => urlencode(stripslashes($artist . '/' . $album))));
|
||||||
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$smarty->assign('dir_list', $dir_list);
|
||||||
$smarty->assign('browselist', $browselist);
|
$smarty->assign('browselist', $browselist);
|
||||||
|
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 'filesystem': /* filesystem based browsing. this will follow the filesystem tree */
|
case 'filesystem': /* filesystem based browsing. this will follow the filesystem tree */
|
||||||
|
|
||||||
/* get the browse position from the cookie or from get */
|
/* get the browse position from the cookie or from get */
|
||||||
if ($_GET['browse']) {
|
if ($_GET['browse']) {
|
||||||
$browse = $_GET['browse'];
|
$browse = $_GET['browse'];
|
||||||
setcookie('browse', stripslashes($browse));
|
setcookie('browse', stripslashes($browse));
|
||||||
}
|
|
||||||
else {
|
|
||||||
$browse = $_COOKIE['browse'];
|
|
||||||
}
|
}
|
||||||
|
else {
|
||||||
$browse = stripslashes($browse);
|
$browse = $_COOKIE['browse'];
|
||||||
|
}
|
||||||
/* make the path array */
|
|
||||||
|
$browse = stripslashes($browse);
|
||||||
if ($browse == '/') {
|
|
||||||
$browse = '';
|
/* make the path array */
|
||||||
}
|
|
||||||
|
if ($browse == '/') {
|
||||||
|
$browse = '';
|
||||||
|
}
|
||||||
|
|
||||||
$browse_list = explode('/', $browse);
|
$browse_list = explode('/', $browse);
|
||||||
|
|
||||||
//print_r($browse);
|
//print_r($browse);
|
||||||
|
|
||||||
if ($browse) {
|
if ($browse) {
|
||||||
|
|
||||||
foreach ($browse_list as $browse_item) {
|
foreach ($browse_list as $browse_item) {
|
||||||
$path .= $browse_item . '/';
|
$path .= $browse_item . '/';
|
||||||
$dir_list[] = array('path' => trim($path, '/'), 'name' => $browse_item);
|
$dir_list[] = array('path' => urlencode(trim($path, '/')), 'name' => $browse_item);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
$smarty->assign('dir_list', $dir_list);
|
|
||||||
|
|
||||||
if (!$browselist) {
|
|
||||||
$browselist = $mympd->GetDir($browse);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$smarty->assign('dir_list', $dir_list);
|
||||||
|
|
||||||
|
if (!$browselist) {
|
||||||
|
$browselist = $mympd->GetDir($browse);
|
||||||
|
}
|
||||||
|
|
||||||
if ($_CONFIG['sort_by_tracknumber']) {
|
if ($_CONFIG['sort_by_tracknumber']) {
|
||||||
usort($browselist, "track_sort");
|
usort($browselist, "track_sort");
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
echo '<pre>';
|
echo '<pre>';
|
||||||
print_r($browselist);
|
print_r($browselist);
|
||||||
echo '</pre>';
|
echo '</pre>';
|
||||||
//*/
|
//*/
|
||||||
|
|
||||||
foreach ($browselist as $key => $browselist_item) {
|
foreach ($browselist as $key => $browselist_item) {
|
||||||
|
|
||||||
|
|
||||||
if ($browselist_item['directory']) {
|
if ($browselist_item['directory']) {
|
||||||
$lastpos = strrpos($browselist_item['directory'], '/');
|
$lastpos = strrpos($browselist_item['directory'], '/');
|
||||||
if ($lastpos !== false) {
|
if ($lastpos !== false) {
|
||||||
$browselist[$key]['directory_name'] = substr($browselist_item['directory'], $lastpos + 1);
|
$browselist[$key]['directory_name'] = substr($browselist_item['directory'], $lastpos + 1);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
$browselist[$key]['directory_name'] = $browselist_item['directory'];
|
$browselist[$key]['directory_name'] = $browselist_item['directory'];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/* add a token for files currently on the playlist */
|
/* add a token for files currently on the playlist */
|
||||||
foreach($mympd->playlist as $playlist_item) {
|
foreach($mympd->playlist as $playlist_item) {
|
||||||
if ($browselist_item['file'] == $playlist_item['file']) {
|
if ($browselist_item['file'] == $playlist_item['file']) {
|
||||||
$browselist[$key]['in_playlist'] = "1";
|
$browselist[$key]['in_playlist'] = "1";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//print_r($browselist);
|
||||||
|
|
||||||
$smarty->assign('browselist', $browselist);
|
$smarty->assign('browselist', $browselist);
|
||||||
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
//echo '<pre style="text-align: left;">';
|
//echo '<pre style="text-align: left;">';
|
||||||
//print_r($mympd->GetDir($browse));
|
//print_r($mympd->GetDir($browse));
|
||||||
//echo '</pre>';
|
//echo '</pre>';
|
||||||
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
?>
|
?>
|
||||||
|
|||||||
@ -3,7 +3,7 @@
|
|||||||
<li><a href="index.php?browse=/"><img src="images/home.gif" alt="Home" /></a></li>
|
<li><a href="index.php?browse=/"><img src="images/home.gif" alt="Home" /></a></li>
|
||||||
|
|
||||||
{foreach from=$dir_list item=dir_list_item}
|
{foreach from=$dir_list item=dir_list_item}
|
||||||
<li>• <a href="index.php?browse={$dir_list_item.path|escape:'url'}">{$dir_list_item.name|escape:'html'}</a></li>
|
<li>• <a href="index.php?browse={$dir_list_item.path}">{$dir_list_item.name|escape:'html'}</a></li>
|
||||||
{/foreach}
|
{/foreach}
|
||||||
|
|
||||||
</ul>
|
</ul>
|
||||||
|
|||||||
@ -1,18 +1,18 @@
|
|||||||
|
|
||||||
{if $browselist_item.directory}
|
{if $browselist_item.directory}
|
||||||
|
|
||||||
<li><a href="index.php?browse={$browselist_item.directory|escape:'url'}"><img src="images/dir.gif" class="icon" /> {$browselist_item.directory_name|escape:'html'}</a></li>
|
<li><a href="index.php?browse={$browselist_item.directory}"><img src="images/dir.gif" class="icon" /> {$browselist_item.directory_name|escape:'html'}</a></li>
|
||||||
|
|
||||||
{elseif $browselist_item.metaArtist}
|
{elseif $browselist_item.metaArtist}
|
||||||
|
|
||||||
<li><a href="index.php?browse=albums::{$browselist_item.metaArtist|escape:'url'}"><img src="images/artist.gif" class="icon" /> {$browselist_item.metaArtist|escape:'html'}</a></li>
|
<li><a href="index.php?browse={$browselist_item.path|escape:'url'}"><img src="images/artist.gif" class="icon" /> {$browselist_item.metaArtist|escape:'html'}</a></li>
|
||||||
|
|
||||||
{elseif $browselist_item.metaAlbum}
|
{elseif $browselist_item.metaAlbum}
|
||||||
|
|
||||||
<li><a href="index.php?browse=tracks::{$browselist_item.metaAlbum|escape:'url'}"><img src="images/album.gif" class="icon" /> {$browselist_item.metaAlbum|escape:'html'}</a></li>
|
<li><a href="index.php?browse={$browselist_item.path|escape:'url'}"><img src="images/album.gif" class="icon" /> {$browselist_item.metaAlbum|escape:'html'}</a></li>
|
||||||
|
|
||||||
{elseif $browselist_item.Title}
|
{elseif $browselist_item.Title}
|
||||||
|
|
||||||
{if $browselist_item.in_playlist}<li style="background: #555;">{else}<li>{/if}<a href="{$browselist_add_link}{$browselist_item.file|escape:'url'}"><img src="images/add.gif" alt="Add" class="button" /></a><a href="{$browselist_play_link}{$browselist_item.file|escape:'url'}"><img src="images/play.gif" alt="Play" class="button" /></a><img src="images/note.gif" class="icon" /> {if $browselist_item.Title|escape:'html'}<span class="title">{$browselist_item.Title|escape:'html'}</span><br /><span class="artist">{$browselist_item.Artist|escape:'html'}</span> <span class="album">({$browselist_item.Album|escape:'html'})</span>{else}{$browselist_item.file|escape:'html'}{/if}</li>
|
{if $browselist_item.in_playlist}<li class="playing">{else}<li>{/if}<a href="{$browselist_add_link}{$browselist_item.file|escape:'url'}"><img src="images/add.gif" alt="Add" class="button" /></a><a href="{$browselist_play_link}{$browselist_item.file|escape:'url'}"><img src="images/play.gif" alt="Play" class="button" /></a><img src="images/note.gif" class="icon" /> {if $browselist_item.Title|escape:'html'}<span class="title">{$browselist_item.Title|escape:'html'}</span><br /><span class="artist">{$browselist_item.Artist|escape:'html'}</span> <span class="album">({$browselist_item.Album|escape:'html'})</span>{else}{$browselist_item.file|escape:'html'}{/if}</li>
|
||||||
|
|
||||||
{/if}
|
{/if}
|
||||||
|
|||||||
@ -1,9 +1,9 @@
|
|||||||
<!doctype html>
|
<!doctype html>
|
||||||
|
|
||||||
<html>
|
<html>
|
||||||
|
|
||||||
<head>
|
<head>
|
||||||
<title>Neo MPC 0.2</title>
|
<title>Neo MPC {$version}</title>
|
||||||
<meta http-equiv="content-type" content="text/html; charset=UTF-8" />
|
<meta http-equiv="content-type" content="text/html; charset=UTF-8" />
|
||||||
|
|
||||||
<style>
|
<style>
|
||||||
@ -12,7 +12,7 @@
|
|||||||
</head>
|
</head>
|
||||||
|
|
||||||
<body>
|
<body>
|
||||||
<div id="menu"><a href="{$browse_link}">Browse</a><a href="{$playlist_link}">Playlist</a><a href="{$control_link}">Control</a></div>
|
{include file="default/menu.html"}
|
||||||
|
|
||||||
<div id="page">
|
<div id="page">
|
||||||
|
|
||||||
@ -22,4 +22,4 @@
|
|||||||
|
|
||||||
</body>
|
</body>
|
||||||
|
|
||||||
</html>
|
</html>
|
||||||
|
|||||||
6
templates/default/menu.html
Normal file
6
templates/default/menu.html
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
<div id="menu">
|
||||||
|
<a {if $page == 'browse'}class="selected" {/if}href="{$browse_link}">Browse</a>
|
||||||
|
<a {if $page == 'playlist'}class="selected" {/if}href="{$playlist_link}">Playlist</a>
|
||||||
|
<a {if $page == 'control'}class="selected" {/if}href="{$control_link}">Control</a>
|
||||||
|
</div>
|
||||||
|
|
||||||
@ -1 +1 @@
|
|||||||
<li><a href="{$playlist_remove_link}{$playlist_item.Pos}"><img src="images/del.gif" alt="Remove from Playlist" class="button" /></a><a href="{$playlist_play_link}{$playlist_item.Pos}"><img src="images/play.gif" alt="Play" class="button" /></a><img src="images/note.gif" class="icon" /> <span class="pos">{$playlist_item.Pos+1|string_format:"%02d"}.</span> {if $playlist_item.Title}<span class="title">{$playlist_item.Title}</span><br /><span class="artist">{$playlist_item.Artist}</span> <span class="album">({$playlist_item.Album})</span>{else}{$playlist_item.file}{/if}</li>
|
{if $playlist_item.Pos == $playing}<li class="playing">{else}<li>{/if}<a href="{$playlist_remove_link}{$playlist_item.Pos}"><img src="images/del.gif" alt="Remove from Playlist" class="button" /></a><a href="{$playlist_play_link}{$playlist_item.Pos}"><img src="images/play.gif" alt="Play" class="button" /></a><img src="images/note.gif" class="icon" /> <span class="pos">{$playlist_item.Pos+1|string_format:"%02d"}.</span> {if $playlist_item.Title}<span class="title">{$playlist_item.Title}</span><br /><span class="artist">{$playlist_item.Artist}</span> <span class="album">({$playlist_item.Album})</span>{else}{$playlist_item.file}{/if}</li>
|
||||||
|
|||||||
@ -42,6 +42,24 @@ body {
|
|||||||
background: #ccc;
|
background: #ccc;
|
||||||
color: #000;
|
color: #000;
|
||||||
}
|
}
|
||||||
|
#menu a.selected {
|
||||||
|
background: #ddd;
|
||||||
|
color: #333;
|
||||||
|
padding: 1px 0px 3px;
|
||||||
|
float: left;
|
||||||
|
margin-left: 2px;
|
||||||
|
display: block;
|
||||||
|
width: 32%;
|
||||||
|
text-align: center;
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
#menu a.selected:hover {
|
||||||
|
background: #fff;
|
||||||
|
}
|
||||||
|
#menu a.selecteds:active {
|
||||||
|
background: #666;
|
||||||
|
color: #fff;
|
||||||
|
}
|
||||||
#page {
|
#page {
|
||||||
padding: 15px;
|
padding: 15px;
|
||||||
clear: left;
|
clear: left;
|
||||||
@ -114,6 +132,8 @@ img.button {
|
|||||||
margin-left: 3px;
|
margin-left: 3px;
|
||||||
border: 0px none !important;
|
border: 0px none !important;
|
||||||
}
|
}
|
||||||
|
li.playing {
|
||||||
|
background: #444;
|
||||||
|
}
|
||||||
|
|
||||||
{/literal}
|
{/literal}
|
||||||
Loading…
Reference in New Issue
Block a user