<?php include 'func.php'; $rootdir = getbase($_GET['base']); if (($file = safepath($rootdir, $_GET['file'])) === false) { die; } $hash = $_GET['base'] . '/' . mkhash($rootdir . $file); if (isvideo($file)) { $ext = 'mp4'; } elseif (isaudio($file)) { $ext = 'mp3'; } if (ufile_exists($CFG['cachedir'] . $hash . '.' . $ext)) { ?> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <link href="common.css" rel="stylesheet" type="text/css" /> <script type="text/javascript" src="flowplayer/example/flowplayer-3.2.6.min.js"></script> </head> <body><!-- <?php echo $hash; ?> --> <div style="font-size:10pt;"><?php echo mklink(getbasename($_GET['base']), $file); ?> </div> <center> <span id="player" style="display:block;width:640px;height:480px"></span>
function renderdir($rootdir, $dir) { global $ignore; $ret = ''; $r = $fnlist = $dirlist = array(); $r['index'] = null; if (($dir = safepath($rootdir, $dir)) === false) { redirect('index.php'); } $r['dir'] = $dir; $list = (array) uscandir(pathjoin($rootdir, $dir)); if ($list === false) { redirect('index.php?base=' . $_GET['base']); } foreach ($list as $e) { if ($e == '.' || $e == '..' || in_array(strtolower($e), $ignore)) { continue; } if (uis_dir(pathjoin($rootdir, $dir, $e))) { $dirlist[] = $e; } else { $fnlist[] = $e; } } $index_file = tryindex($fnlist, $dir); if (!empty($index_file)) { $r['index'] = pathjoin($rootdir, $dir, $index_file); } natsort($dirlist); natsort($fnlist); foreach ($dirlist as $e) { $cfg = loadcfg(pathjoin($rootdir, $dir, $e)); if (isset($cfg['index'])) { $idx = pathjoin($dir, $e, upath($cfg['index'])); $ahref = urlenc(pathjoin($rootdir, $idx)); $img = 'thumb.php?base=' . $_GET['base'] . '&file=' . urlencode($idx); } else { $ahref = 'index.php?base=' . $_GET['base'] . '&dir=' . urlencode(pathjoin($dir, $e)); $img = 'images/dir.gif'; } if (isset($cfg['icon'])) { $img = 'thumb.php?base=' . $_GET['base'] . '&file=' . urlencode(pathjoin($dir, $e, upath($cfg['icon']))); } $ret .= mkitem($e, $e, $e, '<a href="' . $ahref . '"' . ($cfg['target'] == '_blank' ? ' target="_blank"' : '') . '>', $img, istoday(pathjoin($rootdir, $dir, $e)), ($dz = udirsize(pathjoin($rootdir, $dir, $e))) > 0 ? '<br /><a name="pack" style="visibility: hidden; float:right;" href="pack.php?base=' . $_GET['base'] . '&dir=' . urlencode(pathjoin($dir, $e)) . '"><img alt="Download" title="Download - ' . fsize($dz) . '" src="images/pack.gif" /></a>' : ''); } foreach ($fnlist as $e) { if (isvideo($e) || isaudio($e)) { $ahref = '<a href="flowplayer.php?base=' . $_GET['base'] . '&file=' . urlencode(pathjoin($dir, $e)) . '">'; } elseif (isimage($e)) { $ahref = '<a href="image.php?base=' . $_GET['base'] . '&file=' . urlencode(pathjoin($dir, $e)) . '">'; } elseif (isweb($e)) { $ahref = '<a href="' . urlenc(pathjoin($rootdir, $dir, $e)) . '">'; } elseif (isdocument($e)) { $ahref = '<a href="document.php?base=' . $_GET['base'] . '&file=' . urlencode(pathjoin($dir, $e)) . '">'; } elseif (iscode($e)) { $ahref = '<a href="code.php?base=' . $_GET['base'] . '&file=' . urlencode(pathjoin($dir, $e)) . '">'; } else { $ahref = '<a href="' . urlenc(pathjoin($rootdir, $dir, $e)) . '">'; } # echo $dir.$e."\t".urlencode($dir.$e)."\n"; $ret .= mkitem($e, $e, $e . ' - (' . fsize(ufilesize(pathjoin($rootdir, $dir, $e))) . ')', $ahref, 'thumb.php?base=' . $_GET['base'] . '&file=' . urlencode(pathjoin($dir, $e)), istoday(pathjoin($rootdir, $dir, $e)), null); } $r['html'] = $ret; return $r; }
$t1 = $CFG['cachedir'] . $hash . '_' . $size . '.jpg'; if (!newer($fp, $t1)) { touch($t1, filemtime($t1), $_now); continue; } } elseif (isvideo($fp)) { $t1 = $CFG['cachedir'] . $hash . '.mp4'; $t2 = $CFG['cachedir'] . $hash . '_L.jpg'; $t3 = $CFG['cachedir'] . $hash . '_' . $size . '.jpg'; if (!(newer($fp, $t1) || newer($fp, $t2) || newer($fp, $t3))) { touch($t1, filemtime($t1), $_now); touch($t2, filemtime($t2), $_now); touch($t3, filemtime($t3), $_now); continue; } } elseif (isaudio($fp)) { $t1 = $CFG['cachedir'] . $hash . '.mp3'; if (!newer($fp, $t1)) { touch($t1, filemtime($t1), $_now); continue; } } elseif (isdocument($fp)) { $t1 = $CFG['cachedir'] . $hash . '.pdf'; $t2 = $CFG['cachedir'] . $hash . '_' . $size . '.jpg'; if (!(newer($fp, $t1) || newer($fp, $t2))) { touch($t1, filemtime($t1), $_now); touch($t2, filemtime($t2), $_now); continue; } } else { continue;