page: index method to call metadata handler
[minimedit.git] / article.inc.php
index 3e67d6f1a457d59a9646babcbe83f2aa242821eb..a9c6ce41195307f44c01d4e7d8ad6b0a67c6b686 100644 (file)
@@ -65,6 +65,18 @@ class ArchiveArticle
                return;
        }
 
+       function index()
+       {
+               $this->handler;
+               if (empty($this->handler)) {
+                       return;
+               }
+               $User = NULL;
+               $Page = $this;
+               $res = include "./{$this->handler}/index.php";
+               return $res;
+       }
+
        function restricted()
        {
                $this->handler;
@@ -231,6 +243,8 @@ class ArchiveArticle
 
 class PageSearch
 {
+       public $handlers = [];
+
        function __construct($path = '.')
        {
                $this->iterator = new RecursiveCallbackFilterIterator(
@@ -240,6 +254,11 @@ class PageSearch
                                        # skip hidden files and directories
                                        return FALSE;
                                }
+                               if (file_exists($current->getFilename() . '/index.php')) {
+                                       # contents better provided by handler code
+                                       $this->handlers[ $current->getPathname() ] = $current;
+                                       return FALSE;
+                               }
                                if ($current->isLink()) {
                                        # ignore symlinks, original contents only
                                        return FALSE;