git.shiar.nl
/
minimedit.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
page: quote link name fallback
[minimedit.git]
/
mail
/
index.php
diff --git
a/mail/index.php
b/mail/index.php
index d4d4c29a2131ac54e8e779b164ad2c6e5aacd3bf..2b6e6008214199078b2f663a8ae55449badbd922 100644
(file)
--- a/
mail/index.php
+++ b/
mail/index.php
@@
-2,6
+2,7
@@
$mailbox = 'mail/inbox';
@list ($msgid) = explode('/', ltrim($Page->path, '/'));
$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);
function parsemailhead($headerdata)
{
$headlist = iconv_mime_decode_headers($headerdata, ICONV_MIME_DECODE_CONTINUE_ON_ERROR);
@@
-12,9
+13,14
@@
function parsemailhead($headerdata)
});
return $headlist;
}
});
return $headlist;
}
+}
if ($msgid) {
$filename = "$mailbox/$msgid";
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()));
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;
}
return;
}
+if (!$User) {
+ return;
+}
if (!$User->admin('user')) {
http_response_code(403);
$Page->place['warn'] = "Geen gebruikersrechten om e-mails in te zien.";
if (!$User->admin('user')) {
http_response_code(403);
$Page->place['warn'] = "Geen gebruikersrechten om e-mails in te zien.";
@@
-60,7
+69,13
@@
$rows = glob("$mailbox/*");
if (!$rows) {
throw new Exception('Kon inbox niet openen.');
}
if (!$rows) {
throw new Exception('Kon inbox niet openen.');
}
-array_splice($rows, 0, -50);
+
+$nav = [
+ 'start' => $_GET['start'] ?? 0,
+ 'n' => $_GET['n'] ?? 10,
+ 'total' => count($rows),
+];
+$rows = array_slice(array_reverse($rows), $nav['start'], $nav['n']);
ob_start();
print '<ul>';
ob_start();
print '<ul>';
@@
-86,4
+101,7
@@
foreach (array_reverse($rows) as $filename) {
print "</a></li>\n";
}
print "</ul>\n";
print "</a></li>\n";
}
print "</ul>\n";
+
+print $Page->widget('nav', $nav);
+
$Page->place['maillist'] = ob_get_clean();
$Page->place['maillist'] = ob_get_clean();