//Config-basic
$title = 'Harvie\'s JuKe!Box'; //Title of jukebox
-$music_dir = './music'; //Local path to directory with music
+$music_dir = 'music'; //Local path to directory with music
+$base_url = preg_replace('/[^\/]*$/', '', $_SERVER['SCRIPT_NAME']); //URL of this directory (always ends with slash)
$music_dir_url = 'http://your-server.net/jukebox/music'; //URL path to the same directory
-$cache_passwd = 'renew123'; //You need this passwd to refresh search cache
+$cache_passwd = ''; //You need this passwd to refresh search cache
$sort = 3; //Sort? 0 = none, 1 = playlists, 2 = 1+listings; 3 = 2+search-EXPERIMENTAL! (sorting could eat lot of memory)
$access_limit = 40; //How many files could be accessed without using cache (while searching)
//External files
$indexlist = array('index.html', 'index.txt'); //Search for this file in each directory
-$bonus_dir = './jbx'; //Misc. files directory
+$bonus_dir = 'jbx'; //Misc. files directory
////
$search_cache = $bonus_dir.'/cache.db'; //Database for searching music (php +rw) - .htaccess: Deny from all!!!
-$css_file = $bonus_dir.'/themes/default/jukebox.css'; //CSS (Design)
-$favicon_file = './favicon.png'; //favicon
+$css_file = $base_url.$bonus_dir.'/themes/default/jukebox.css'; //CSS (Design)
+$favicon_file = $base_url.'favicon.png'; //favicon
$header_file = $bonus_dir.'/header.html'; //header file
$footer_file = $bonus_dir.'/footer.html'; //footer file
$flash_player_swf = $bonus_dir.'/player.swf'; //path to musicplayer
$flash_player_frame = 'playframe-show'; //FlashPlayer Target (playframe-show|playframe-hide) - usefull for compatibility with old music player
$flash_player_options = '?bg=000099&loader=000000&tracker=AAAAFF&skip=FFFFFF' //.'&leftbg=000077&rightbg=000077&righticon=999999'
- .'&autostart=yes&initialvolume=100&soundFile='; //& arguments (urlencoded song url will be added)
+ .'&autostart=yes&initialvolume=100&buffer=30&animation=no&soundFile='; //& arguments (urlencoded song url will be added)
//Security
error_reporting(0); //This will disable error reporting, wich can pass sensitive data to users
$useflash = is_file($flash_player_swf);
//Little magic with directories ;o)
+if($_SERVER['PATH_INFO']!='') $_GET['dir']=$_SERVER['PATH_INFO'];
$current_dir = ereg_replace('/+', '/', '/'.$_GET['dir'].'/');
if(eregi('(/|\\\\)\\.\\.(/|\\\\)', $current_dir)) { //check for directory traversal ;)
header('Location: ?');
'" target="'.$GLOBALS['flash_player_frame'].'" class="icon ifplay">F</a>/'.
'<a href="?blank" target="'.$GLOBALS['flash_player_frame'].'" class="icon ifstop">S</a>');
}
- echo(' </td><td class="maximize-width"><a href="'.$temp.'">'.unxss(str_replace('-',' - ',str_replace('_', ' ',
-$item))).'</a></td><td>'.$filesize." MiB </td></tr>\n");
+ echo(' </td><td class="maximize-width"><a href="'.$temp.'">'.unxss(str_replace('-',' - ',str_replace('_', ' ', $item))).
+ '</a></td><td>'.$filesize." MiB </td></tr>\n");
}
function render_dir_line($current_dir, $item, $i) {
'<td><a href="#up">'.$i.'</a></td><td class="btntd"><a href="?download&playlist&dir='.$temp.'" class="icon iplay">P</a>/'.
'<a href="?download&recursive&playlist&dir='.$temp.'" class="icon irplay">R</a>');
if($GLOBALS['useflash']) echo('/<a href="?f&playlist&dir='.$temp.'" target="'.$GLOBALS['flash_player_frame'].'" class="icon ifplay">F</a>');
- echo('</td><td colspan="100%" class="maximize-width"><span class="icon ifolder">[DIR] </span><a href="?dir='.$temp.'">'.unxss(str_replace('_', ' ', $item)).
+ echo('</td><td colspan="100%" class="maximize-width"><span class="icon ifolder">[DIR] </span><a href="?dir='.$temp.'">'.unxss(str_replace('-',' - ',str_replace('_', ' ', $item))).
"</a></td></tr>\n");
}
if($GLOBALS['flash_player_frame'] == 'playframe-show' && $GLOBALS['useflash']) { ?>
<tr id="playframe-tr">
<td><a href="?blank" target="playframe-show" title="Stop playback" class="icon ifstop">S</a></td>
-<td colspan="100%">
+<td colspan="100%" class="noradius nomarpad">
<iframe
src="?blank"
name="playframe-show"
+class="noradius nomarpad"
width="100%"
height="24"
style="border:none;"
<style> * { margin: 0; padding: 0; border: 0; } </style></head><body>
<object width="100%" height="344">
<embed src="<?php
- echo($GLOBALS['flash_player_swf'].$GLOBALS['flash_player_options']);
+ echo($GLOBALS['base_url'].$GLOBALS['flash_player_swf'].$GLOBALS['flash_player_options']);
if(isset($_GET['song'])) echo(rawurlencode($_GET['song']));
if(isset($_GET['playlist'])) generate_m3u($GLOBALS['dir'], dirname($GLOBALS['music_dir_url']), isset($_GET['recursive']), ',', true);
?>"
transparentpagebg="yes"
quality="low"
width="100%" height="24px"
- >You need Adobe Flash enabled browser to play records directly in website.</embed>
+ ><!-- You need Adobe Flash enabled browser to play records directly in website. --></embed>
</object></body></html>
<?php die();
}
//GET
+if(isset($_GET['dj'])) { ?><title><?php echo "DJ MODE @ $title"; ?></title><frameset cols="*,*"><frame name="dj-left" src="./"><frame name="dj-right" src="./"></frameset><?php die(); }
if(isset($_GET['download'])) serve_download($playlist_name);
if(isset($_GET['f'])) flash_mp3_player();
if(isset($_GET['song'])) {
-if($_POST['cache-refresh'] == $cache_passwd) {
+if(isset($_POST['cache-refresh']) && $_POST['cache-refresh'] == $cache_passwd) {
generate_search_cache($music_dir, $search_cache);
die("\n");
}
+
if(isset($_GET['playlist'])) {
generate_m3u($dir, dirname($music_dir_url), isset($_GET['recursive']));
die();
if(isset($_GET['blank'])) {
?>
<link rel="stylesheet" type="text/css" href="<?=$css_file?>" />
- <body class="blank"><div class="blank"><b>Music player</b> <small><i>(click 'F' link next to the song name to start, 'S' to stop...)</i></small></div></body>
+ <body class="blank"><div class="blank" title="Currently you will need FlashPlayer to get this working..."><b>Music player</b> <small><i>(click 'F' link next to the song name to start, 'S' to stop...)</i></small></div></body>
<?php die();
}
<a name="up"></a>
<iframe src="about:blank" name="playframe-hide" width="0" height="0" style="border: none;" class="hide"></iframe><!-- -----------???--------------- -->
<span class="icon"><</span> <a href="javascript: history.go(-1)" class="icon iback">BACK</a>
- | <a href="?" class="icon ihome">HOME (<?=$music_dir?>)</a>
+ | <a href="?" target="_parent" class="icon ihome">HOME (<?=$music_dir?>)</a>
+ | <a href="?dj" class="icon idjmode">DJ</a>
| <a href="?help" class="icon ihelp">ABOUT/HELP</a>
| <a href="?logout" class="icon ilogout">LOGOUT</a>
</div>