page: api attribute indicate index requests
[minimedit.git] / mail / index.php
index 8fb49c7f8d27ef144c1dd9f4bdab064d7e0d94ee..ee7365aa62cb321de3af6581704edea85cf063e2 100644 (file)
@@ -2,6 +2,7 @@
 $mailbox = 'mail/inbox';
 @list ($msgid) = explode('/', ltrim($Page->path, '/'));
 
+if (!function_exists('parsemailhead')) {
 function parsemailhead($headerdata)
 {
        $headlist = iconv_mime_decode_headers($headerdata, ICONV_MIME_DECODE_CONTINUE_ON_ERROR);
@@ -12,9 +13,14 @@ function parsemailhead($headerdata)
        });
        return $headlist;
 }
+}
 
 if ($msgid) {
        $filename = "$mailbox/$msgid";
+       if (!is_readable($filename)) {
+               return TRUE;
+       }
+
        list ($headerdata, $rawbody) = explode("\n\n", file_get_contents($filename), 2);
        $head = parsemailhead($headerdata);
        $head['date']->setTimezone(new DateTimeZone(date_default_timezone_get()));
@@ -49,6 +55,9 @@ if ($msgid) {
        return;
 }
 
+if ($Page->api) {
+       return;
+}
 if (!$User->admin('user')) {
        http_response_code(403);
        $Page->place['warn'] = "Geen gebruikersrechten om e-mails in te zien.";