0) { $temp[] = $item; } else { echo($prefix.'/'.str_replace('%2F', '/', (rawurlencode($dir.$item)))."\r\n"); } } if($recursive && is_dir($dir.$item)) { generate_m3u($dir.$item, $prefix); } } if($GLOBALS['sort'] > 0) { @sort($temp); foreach($temp as $item) echo($prefix.'/'.str_replace('%2F', '/', (rawurlencode($dir.$item)))."\r\n"); } } function write_search_cache($dir, $outfp) { $dir = $dir . '/'; $dd = opendir($dir); while($item = readdir($dd)) { if($item == '.' || $item == '..') continue; if( is_file($dir.$item) && eregi(('\.('.$GLOBALS['m3u_exts'].')$'), $item) ) { fwrite($outfp, $dir.$item."\n"); } if(is_dir($dir.$item)) { write_search_cache($dir.$item, $outfp); } } } function generate_search_cache($dir, $outfile) { echo("Generating search cache. Please wait...
\n"); flush(); @chmod($outfile, 0755); //At least i tryed ;D if(!($outfp = fopen($outfile, 'w'))) die("Cannot write cache to $outfile
You probably haven't set the permissions properly!
\n"); write_search_cache($dir, $outfp); fclose($outfp); $osize = filesize($outfile); clearstatcache(); if($GLOBALS['sort'] > 2) { echo("Sorting search cache. Please wait...
\n"); flush(); $items = file($outfile); @sort($items); $total = ' ('.sizeof($items).' files)'; file_put_contents($outfile, @implode('', $items)); unset($items); if(abs(filesize($outfile)-$osize) > 2) die('ERROR! Please disable sorting of search cache ($sort < 3)
'."\nSorted only ". filesize($outfile).' of '.$osize.' bytes!!!\n'); } echo('Total: '.filesize($outfile).' of '.$osize.' bytes'.$total.' DONE!'.'
'."\n"); } function render_file_line($dir, $item, $dir_url, $index, $filesize, $parent = false) { $parclass=($index%2?"even":"odd"); $parcolor=($index%2?"lightblue":"white"); $temp=str_replace('&', '%26', dirname($dir_url)).'/'.str_replace('%2F', '/', (rawurlencode($dir.$item))); if(is_numeric($filesize)) $filesize = round($filesize/(1024*1024), 2); echo("".''.$index.''); echo('P'); if($parent) { echo('/D'); } if(is_file($GLOBALS['flash_player']) && eregi(('\.('.$GLOBALS['m3u_exts'].')$'), $item)) { /*echo('/');*/ echo('/F/'. 'S'); } echo(' '.str_replace('_', ' ', $item).''.$filesize." MiB \n"); } function unxss($string) { return str_replace( array('&', '"', '\'', '<', '>'), array('&', '"', ''', '<', '>'), $string); } //GET if(isset($_GET['download'])) serve_download($playlist_name); if(isset($_GET['song'])) die($_GET['song']."\r\n"); if($_POST['cache-refresh'] == $cache_passwd) { generate_search_cache($music_dir, $search_cache); die("\n"); } if(isset($_GET['playlist'])) { if(!isset($_GET['search'])) { generate_m3u($dir, dirname($music_dir_url), isset($_GET['recursive'])); } else { if(!($searchfp = fopen($search_cache, 'r'))) die("Cannot read cache from $outfile
Refresh cache or set permissions properly!
\n"); while(!feof($searchfp)) { $line = trim(fgets($searchfp)); if(@eregi(str_replace(' ', '(.*)', $_GET['search']), $line)) echo(dirname($music_dir_url).'/'.str_replace('%2F', '/', (rawurlencode($line)))."\r\n"); } } die("\n"); } if(isset($_GET['random'])) { $flen = 0; if(!($searchfp = fopen($search_cache, 'r'))) die("Cannot read cache from $outfile
Refresh cache or set permissions properly!
\n"); while(!feof($searchfp)) { fgets($searchfp); $flen++; } for($i=0; $i<$_GET['random']; $i++) { rewind($searchfp); for($j=0; $j
< BACK | HOME () | ABOUT/HELP | LOGOUT

About/Help

'.$title.': '.$dir.''); echo('

'.$title.'

Index of: '.$dir.'

'); } else { echo(''.$title.': '.unxss($_GET['search']).''); echo('

'.$title.'

Searching for: '.unxss($_GET['search']).'

'); } ?>


\n"); if(!($searchfp = fopen($search_cache, 'r'))) die("Cannot read cache from $outfile
Refresh cache or set permissions properly!
\n"); $i = 0; echo(''); echo(''); while(!feof($searchfp)) { $line = trim(fgets($searchfp)); $parclass=($i%2?"even":"odd"); $parcolor=($i%2?"lightblue":"white"); if(@eregi(str_replace(' ', '(.*)', $_GET['search']), $line)) { $i++; echo(""); $filesize = 0; if($i <= $access_limit) $filesize = filesize($line); else $filesize = 'n/a'; render_file_line('', $line, $music_dir_url, $i, $filesize, true); echo("\n"); } } echo("
SPSearch: '.unxss($_GET['search']).'
Total: $i results...
"); die(); } @readfile($header_file); foreach($indexlist as $index) @readfile($dir.$index); ?>
1) { $i--; $items[] = $item; } else { render_file_line($dir, $item, $music_dir_url, $i, filesize($dir.$item)); } } if(is_dir($dir.$item)) { $temp=str_replace('%2F', '/', rawurlencode($current_dir)).rawurlencode($item); echo("". ''. '\n"); } } rewinddir($dd); } if($sort > 1) { @sort($items); foreach($items as $item) { $i++; render_file_line($dir, $item, $music_dir_url, $i, filesize($dir.$item)); } } ?>
> P/R
^ [DIR] .. ()
'.$i.'P/'. 'R[DIR] '.str_replace('_', ' ', $item)."
Harvie free of charge! Of course...', 'Don\'t be looser, use GNU/Linux! ;P', 'Make love and not war!', 'Take your chance! Prove yourself!', 'This software is free of charge. If you wan\'t to donate, please send some money to children in Africa/etc...' ); echo(''.$quotes[rand(0,sizeof($quotes)-1)]."\n"); @readfile($footer_file);