page: search results as article objects
[minimedit.git] / article.inc.php
index 2396f2be6e078e12af9d1ea2933ca25cafe6d49e..7f8e622cde5297f5d71523a42b106a14983f09eb 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;
@@ -264,12 +276,12 @@ class PageSearch
        function files()
        {
                # order alphabetically by link
-               $dir = iterator_to_array(new RecursiveIteratorIterator($this->iterator));
-               array_walk($dir, function (&$row, $name) {
-                       # prepare values for sorting (directory index first)
-                       $row = preg_replace('{/index\.html$}', '', $name);
-               });
-               asort($dir);
+               $dir = [];
+               foreach (new RecursiveIteratorIterator($this->iterator) as $name) {
+                       $article = new ArchiveArticle($name);
+                       $dir[$article->link] = $article;
+               }
+               ksort($dir);
                return $dir;
        }
 }