X-Git-Url: http://git.shiar.net/minimedit.git/blobdiff_plain/eccaf81eef4c1528875503aa0cdbea130d755c5a..a7cf507fa0aa8b275979dbe98d3d0ef34fa7f05a:/foto/index.php?ds=inline
diff --git a/foto/index.php b/foto/index.php
index f77b9c1..e7f1bab 100644
--- a/foto/index.php
+++ b/foto/index.php
@@ -1,85 +1,106 @@
link;
-$rootdir = 'foto' . $Args;
+$nav = explode('/', $rootdir);
+$nav[0] = "Foto's"; # override of root 'foto'
+$title = array_pop($nav);
+$Page->title = ($nav ? implode(' ', $nav) . ': ' : '') . $title;
+
+if ($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 (!empty($User['admin'])) {
- $access = 'ð Openbaar';
- if (isset($PageAccess)) {
- $access = "ð Bewoners";
- if ($PageAccess != $Page.$Args) {
+if ($User->admin('foto')) {
+ if ($Page->restricted) {
+ $access = '🔒 Bewoners';
+ if ($Page->restricted != $rootdir) {
$access .= sprintf(' vanaf %s',
- "/$PageAccess", pathinfo($PageAccess, PATHINFO_FILENAME)
+ "/{$Page->restricted}", pathinfo($Page->restricted, PATHINFO_FILENAME)
);
}
}
+ else {
+ $access = '🔓 Openbaar';
+ }
print "\n\n";
}
-$nav = explode('/', $Page.$Args);
-$title = array_pop($nav);
-$rootname = "Foto's"; # override of 'foto'
$link = '';
print "
";
foreach ($nav as $i => $linktitle) {
- $link .= "/$linktitle";
- printf('%s â'."\n", $link, $i ? $linktitle : $rootname);
+ $link .= '/' . ($i ? $linktitle : $Page->handler);
+ printf('%s â'."\n", $link, $linktitle);
}
-print $Args ? $title : $rootname;
+print $title;
print "
\n\n";
-print $intro;
-
-function showthumb($path)
-{
- // assume all album entries are symlinks to archive originals
- $target = preg_replace('{^(\.\./)*}', '', readlink($path));
- $thumb = 'thumb/200/' . $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 (isset($Page->raw)) {
+ print $Page->raw; # page intro
}
if ($imgs = glob("$rootdir/*", GLOB_ONLYDIR)) {
natsort($imgs);
print ''."\n";
foreach ($imgs as $path) {
- $parts = pathinfo($path);
- $album = $parts['filename'];
+ $album = htmlspecialchars(pathinfo($path, PATHINFO_FILENAME));
$cover = "$path/index.jpg";
if (!file_exists($cover)) $cover = 'foto/index.jpg';
if (is_link($cover)) {
$cover = preg_replace('{^(?:\.\./)*(?=data/)}', 'thumb/100/', readlink($cover));
}
- $html = '';
+ $html = sprintf('', htmlspecialchars($cover));
$html .= "$album";
- if (empty($User) and file_exists("$path/.private")) {
- $html = ''.$html.'';
+ if (!$User->login and file_exists("$path/.private")) {
+ $html = ''.$html.'';
}
$html = "";
- printf('- %s'."\n", $album, "/$path", $html);
+ printf('
- ', $album);
+ printf('%s'."\n", htmlspecialchars($path), $html);
}
print "
\n\n";
}
if ($imgs = glob("$rootdir/*.jpg")) {
print ''."\n";
- foreach ($imgs as $img) {
- if ($img == "$rootdir/index.jpg") continue;
- if (!is_link($img)) continue;
- print '- '.showthumb($img);
+ foreach ($imgs as $path) {
+ if ($path == "$rootdir/index.jpg") {
+ # cover image of current album
+ $Page->image = "/$path";
+ continue;
+ }
+ if (!is_link($path)) continue;
+
+ // 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.'"';
+ }
+
+ print '
- ';
+ printf('<%s />'."\n", $target, $imgtag);
}
print '
'."\n\n";
include 'foto/album.inc.php';
}
+
+return;