X-Git-Url: http://git.shiar.nl/minimedit.git/blobdiff_plain/b28c58864e20c556b65ec60f02c0df6401f73351..HEAD:/foto/index.php diff --git a/foto/index.php b/foto/index.php index 49e5483..45c49c9 100644 --- a/foto/index.php +++ b/foto/index.php @@ -2,11 +2,31 @@ $rootdir = $Page->link; $nav = explode('/', $rootdir); +if (count($nav) > 1 and $nav[1] == 'tag') { + $rootdir = preg_replace('{/}', '/.', $rootdir, 1); +} $nav[0] = "Foto's"; # override of root 'foto' $title = array_pop($nav); $Page->title = ($nav ? implode(' ', $nav) . ': ' : '') . $title; -if ($Page->api) { +if ($_SERVER['HTTP_ACCEPT'] === 'application/json') { + header('Access-Control-Allow-Origin: *'); + header('Cache-Control: max-age=10'); + if (file_exists($rootdir)) { + header('Last-Modified: '.gmdate(DATE_RFC7231, filemtime($rootdir))); + } + else { + http_response_code(404); + } + $imgs = []; + foreach (glob("$rootdir/*.jpg") as $path) { + $target = preg_replace('{^(\.\./)*}', '', readlink($path)); + $imgs[] = ["/$target"]; + } + print json_encode($imgs); + exit; +} +elseif ($Page->api) { $img = "$rootdir/index.jpg"; if (file_exists($img)) { # cover image of current album @@ -48,26 +68,6 @@ if (isset($Page->raw)) { print $Page->raw; # page intro } -if (!function_exists('showthumb')) { -function showthumb($path) -{ - // assume all album entries are symlinks to archive originals - $target = preg_replace('{^(\.\./)*}', '', readlink($path)); - $thumb = 'thumb/262/' . $target; - - @list ($order, $size, $title) = explode(':', pathinfo($path, PATHINFO_FILENAME), 3); - $imgtag = 'img src="/'.$thumb.'"'; - if ($title) { - $imgtag .= ' title="'.htmlspecialchars(urldecode($title)).'"'; - } - if ($size) { - $imgtag .= ' data-size="'.$size.'"'; - } - - return sprintf('<%s />'."\n", $target, $imgtag); -} -} - if ($imgs = glob("$rootdir/*", GLOB_ONLYDIR)) { natsort($imgs); print '