Fixed mbox files import

pull/171/merge
Aleksander Machniak 11 years ago
parent ed1ceea878
commit 2e10259992

@ -44,7 +44,7 @@ if (is_array($_FILES['_file'])) {
} }
while ($line !== false && trim($line) == ''); while ($line !== false && trim($line) == '');
if (!preg_match('/^From\s+-/', $line) && !preg_match('/^[a-z-_]+:\s+.+/i', $line)) { if (!preg_match('/^From .+/', $line) && !preg_match('/^[a-z-_]+:\s+.+/i', $line)) {
continue; continue;
} }
@ -52,8 +52,10 @@ if (is_array($_FILES['_file'])) {
fseek($fp, 0); fseek($fp, 0);
while (($line = fgets($fp)) !== false) { while (($line = fgets($fp)) !== false) {
// importing mbox file, split by From - lines // importing mbox file, split by From - lines
if (preg_match('/^From\s+-/', $line) && ($lastline == '' || substr($lastline, -2) == '--')) { if ($lastline === '' && strncmp($line, 'From ', 5) === 0 && strlen($line) > 5) {
if (!empty($message)) { if (!empty($message)) {
// unquote ">From " lines in message body
$message = preg_replace('/\n>([>]*)From /', "\n\\1From ", $message);
if ($RCMAIL->storage->save_message(null, rtrim($message))) { if ($RCMAIL->storage->save_message(null, rtrim($message))) {
$imported++; $imported++;
} }

Loading…
Cancel
Save