widget/contact: client ip address in received mail header
[minimedit.git] / widget / sitemap.php
index a10ea7a3c357900f5640568d5b75d093f19eb5d6..e4289f896f04ac0d4ecc219d5f65509a2ae9ff43 100644 (file)
@@ -1,34 +1,19 @@
 <?php
-# find **/*.html
-$search = new RecursiveCallbackFilterIterator(
-       new RecursiveDirectoryIterator(ltrim($Args, '/') ?: '.'),
-       function ($current) {
-               if ($current->getFilename()[0] === '.') {
-                       # skip hidden files and directories
-                       return FALSE;
-               }
-               if ($current->isLink()) {
-                       # ignore symlinks, original contents only
-                       return FALSE;
-               }
-               return $current->isDir()
-                       || preg_match('/\.html$/', $current->getFilename());
-       }
-);
-
-# order alphabetically by link
-$dir = iterator_to_array(new RecursiveIteratorIterator($search));
-array_walk($dir, function (&$row, $name) {
-       # prepare values for sorting (directory index first)
-       $row = preg_replace('{/index\.html$}', '', $name);
-});
-asort($dir);
-
 # list article details
+$search = new PageSearch($Page->place[0] ?? '.');
 print '<ul class="replies">'."\n";
-foreach ($dir as $Args => $sorted) {
+foreach ($search->files() as $ref => $article) {
        print '<li>';
-       include 'linkref.php';
-       print "<li>\n";
+       require 'linkref.php';
+       if (is_array($article->index)) {
+               print '<ul>';
+               foreach ($article->index as $article) {
+                       print '<li>';
+                       include 'linkref.php';
+                       print "</li>\n";
+               }
+               print '</ul>';
+       }
+       print "</li>\n";
 }
 print "</ul>\n";