Also Cache Dir List

This commit is contained in:
seiichiro 2022-01-11 17:19:02 +01:00
parent 84ed2579b3
commit 9947f2b706
2 changed files with 12 additions and 8 deletions

View file

@ -22,6 +22,6 @@ $conf['defpage'] = 1;
// Images per Page if not specified // Images per Page if not specified
$conf['defslice'] = 34; $conf['defslice'] = 34;
// Default Subdirectory if none given // Default Subdirectory if none given
$conf['defdir'] = '/'; $conf['defdir'] = '';
?> ?>

View file

@ -32,12 +32,16 @@ session_start();
$t = new Thumb(Helpers::end_dir($imagedir.$dir), $thumbdir, 200, 200); $t = new Thumb(Helpers::end_dir($imagedir.$dir), $thumbdir, 200, 200);
// Filelist Cache Handling // Filelist Cache Handling
if (isset($_SESSION[$dir]) $cdir = $dir;
&& (time() - $_SESSION[$dir]['t']) < $conf['flcache'] if (empty($cdir))
$cdir = '/';
if (isset($_SESSION[$cdir])
&& (time() - $_SESSION[$cdir]['t']) < $conf['flcache']
&& !isset($_GET['refcache'])) && !isset($_GET['refcache']))
{ {
$files = $_SESSION[$dir]['f']; $files = $_SESSION[$cdir]['f'];
$dirs = $_SESSION[$dir]['d']; $dirs = $_SESSION[$cdir]['d'];
} else { } else {
$r_imagedir = realpath($imagedir.$dir); $r_imagedir = realpath($imagedir.$dir);
if ($r_imagedir === false || strpos(Helpers::end_dir($r_imagedir), $r_basedir.DIRECTORY_SEPARATOR) !== 0) { if ($r_imagedir === false || strpos(Helpers::end_dir($r_imagedir), $r_basedir.DIRECTORY_SEPARATOR) !== 0) {
@ -53,9 +57,9 @@ if (isset($_SESSION[$dir])
$rmdirs[] = '.'; $rmdirs[] = '.';
$rmdirs[] = '..'; $rmdirs[] = '..';
$files = array_diff(scandir($imagedir.$dir, SCANDIR_SORT_DESCENDING), $rmdirs); $files = array_diff(scandir($imagedir.$dir, SCANDIR_SORT_DESCENDING), $rmdirs);
$_SESSION[$dir]['f'] = $files; $_SESSION[$cdir]['f'] = $files;
$_SESSION[$dir]['d'] = $dirs; $_SESSION[$cdir]['d'] = $dirs;
$_SESSION[$dir]['t'] = time(); $_SESSION[$cdir]['t'] = time();
} }
// Apply Filters to Filelist // Apply Filters to Filelist