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 ($_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 $Page->image = "/$img"; } if (!$Page->path) { return array_map(function ($dir) { return new ArchiveArticle($dir . '/index.html'); }, glob("$rootdir/*", GLOB_ONLYDIR)); #TODO: recurse } return; } if ($User->admin('foto')) { if ($Page->restricted) { $access = '🔒 Bewoners'; if ($Page->restricted != $rootdir) { $access .= sprintf(' vanaf %s', "/{$Page->restricted}", pathinfo($Page->restricted, PATHINFO_FILENAME) ); } } else { $access = '🔓 Openbaar'; } print "\n\n"; } $link = ''; print "

"; foreach ($nav as $i => $linktitle) { $link .= '/' . ($i ? $linktitle : $Page->handler); printf('%s →'."\n", $link, $linktitle); } print $title; print "

\n\n"; if (isset($Page->raw)) { print $Page->raw; # page intro } if ($imgs = glob("$rootdir/*", GLOB_ONLYDIR)) { natsort($imgs); print '\n\n"; } if ($imgs = glob("$rootdir/*.jpg")) { print ''."\n\n"; include 'foto/album.inc.php'; } return;