page: search results as article objects
[minimedit.git] / foto / index.php
index 358ef942aae9bf492c13358ad22b6cb685fbd4c1..7df1d5c26daa1c27ed9efda43531f6997fe96d4e 100644 (file)
@@ -1,42 +1,59 @@
 <?php
-$intro = ob_get_clean();
+$rootdir = $Page->link;
 
-$rootdir = $Page . $Args;
+$nav = explode('/', $rootdir);
+$nav[0] = "Foto's"; # override of root 'foto'
+$title = array_pop($nav);
+$Page->title = ($nav ? implode(' ', $nav) . ': ' : '') . $title;
+
+if (!$User) {
+       $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 and $User->admin) {
-       $access = '🔓 Openbaar';
-       if (isset($PageAccess)) {
-               $access = "🔒 Bewoners";
-               if ($PageAccess != $rootdir) {
+if ($User->admin('foto')) {
+       if ($Page->restricted) {
+               $access = '<span class="icon icon-locked">&#x1F512;</span> Bewoners';
+               if ($Page->restricted != $rootdir) {
                        $access .= sprintf(' vanaf <a href="%s">%s</a>',
-                               "/$PageAccess", pathinfo($PageAccess, PATHINFO_FILENAME)
+                               "/{$Page->restricted}", pathinfo($Page->restricted, PATHINFO_FILENAME)
                        );
                }
        }
+       else {
+               $access = '<span class="icon icon-locked">&#x1F513;</span> Openbaar';
+       }
        print "<aside>$access</aside>\n\n";
 }
 
-$nav = explode('/', $rootdir);
-$nav[0] = "Foto's"; # override of root 'foto'
-$title = array_pop($nav);
-$Article->title = implode(' ', $nav) . ': ' . $title;
-
 $link = '';
 print "<h2>";
 foreach ($nav as $i => $linktitle) {
-       $link .= '/' . ($i ? $linktitle : $Page);
+       $link .= '/' . ($i ? $linktitle : $Page->handler);
        printf('<a href="%s">%s</a> â†’'."\n", $link, $linktitle);
 }
 print $title;
 print "</h2>\n\n";
 
-print $intro;
+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/200/' . $target;
+       $thumb = 'thumb/262/' . $target;
 
        @list ($order, $size, $title) = explode(':', pathinfo($path, PATHINFO_FILENAME), 3);
        $imgtag = 'img src="/'.$thumb.'"';
@@ -49,6 +66,7 @@ function showthumb($path)
 
        return sprintf('<a href="/%s"><%s /></a>'."\n", $target, $imgtag);
 }
+}
 
 if ($imgs = glob("$rootdir/*", GLOB_ONLYDIR)) {
        natsort($imgs);
@@ -64,8 +82,8 @@ if ($imgs = glob("$rootdir/*", GLOB_ONLYDIR)) {
 
                $html = '<img src="/'.$cover.'" />';
                $html .= "<figcaption>$album</figcaption>";
-               if (empty($User) and file_exists("$path/.private")) {
-                       $html = '<strike title="bewoners">'.$html.'</strike>';
+               if (!$User->login and file_exists("$path/.private")) {
+                       $html = '<s title="bewoners">'.$html.'</s>';
                }
                $html = "<figure>$html</figure>";
 
@@ -79,7 +97,7 @@ if ($imgs = glob("$rootdir/*.jpg")) {
        foreach ($imgs as $img) {
                if ($img == "$rootdir/index.jpg") {
                        # cover image of current album
-                       $Article->image = "/$img";
+                       $Page->image = "/$img";
                        continue;
                }
                if (!is_link($img)) continue;
@@ -89,3 +107,5 @@ if ($imgs = glob("$rootdir/*.jpg")) {
 
        include 'foto/album.inc.php';
 }
+
+return;