mail: ignore unreadable files
[minimedit.git] / mail / index.php
index 67a076e157cf85614b9ea6cc0142dc279386bba0..ce133c5943797cc38a62803e77aa0e8e9fb79493 100644 (file)
@@ -45,8 +45,8 @@ if ($msgid) {
 
 if (!$User->admin('user')) {
        http_response_code(403);
-       $Place['warn'] = "Geen gebruikersrechten om e-mails in te zien.";
-       $Place['maillist'] = '';
+       $Page->place['warn'] = "Geen gebruikersrechten om e-mails in te zien.";
+       $Page->place['maillist'] = '';
        return TRUE;
 }
 
@@ -59,11 +59,15 @@ array_splice($rows, 0, -50);
 ob_start();
 print '<ul>';
 foreach (array_reverse($rows) as $filename) {
-       list ($headerdata) = explode("\n\n", file_get_contents($filename));
-       $head = parsemailhead($headerdata);
+       if (!is_readable($filename)) {
+               continue;
+       }
 
        printf('<li><a href="%s">', "/{$Page->handler}/".basename($filename));
 
+       list ($headerdata) = explode("\n\n", file_get_contents($filename));
+       $head = parsemailhead($headerdata);
+
        print $head['Subject'];
        printf(' <small class="date">%s</small>',
                showdate(explode('-', $head['date']->format('Y-m-d')))
@@ -72,4 +76,4 @@ foreach (array_reverse($rows) as $filename) {
        print "</a></li>\n";
 }
 print "</ul>\n";
-$Place['maillist'] = ob_get_clean();
+$Page->place['maillist'] = ob_get_clean();