login/pass: error messages below page title
[minimedit.git] / foto / index.php
index e7f1bab54132b0766eba3ecb8a4e54849676b03c..45c49c90458fa05bd050b2ba38f707f8d8f01f08 100644 (file)
@@ -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