diff options
Diffstat (limited to 'program/steps/mail/import.inc')
-rw-r--r-- | program/steps/mail/import.inc | 17 |
1 files changed, 10 insertions, 7 deletions
diff --git a/program/steps/mail/import.inc b/program/steps/mail/import.inc index f7e7a3eb8..4f822e0e4 100644 --- a/program/steps/mail/import.inc +++ b/program/steps/mail/import.inc @@ -31,7 +31,8 @@ if (is_array($_FILES['_file'])) { if (!$err) { // check file content type first - list($mtype_primary,) = explode('/', rc_mime_content_type($filepath, $_FILES['_file']['name'][$i], $_FILES['_file']['type'][$i])); + list($mtype_primary,) = explode('/', rcube_mime::file_content_type($filepath, $_FILES['_file']['name'][$i], $_FILES['_file']['type'][$i])); + if (!in_array($mtype_primary, array('text','message'))) { $OUTPUT->show_message('importmessageerror', 'error'); continue; @@ -39,7 +40,9 @@ if (is_array($_FILES['_file'])) { // read the first few lines to detect header-like structure $fp = fopen($filepath, 'r'); - do { $line = fgets($fp); } + do { + $line = fgets($fp); + } while ($line !== false && trim($line) == ''); if (!preg_match('/^From\s+-/', $line) && !preg_match('/^[a-z-_]+:\s+.+/i', $line)) { @@ -74,7 +77,8 @@ if (is_array($_FILES['_file'])) { } if ($err == UPLOAD_ERR_INI_SIZE || $err == UPLOAD_ERR_FORM_SIZE) { - $msg = rcube_label(array('name' => 'filesizeerror', 'vars' => array('size' => show_bytes(parse_bytes(ini_get('upload_max_filesize')))))); + $size = $RCMAIL->show_bytes(parse_bytes(ini_get('upload_max_filesize'))); + $msg = $RCMAIL->gettext(array('name' => 'filesizeerror', 'vars' => array('size' => $size))); } else if ($err) { $OUTPUT->show_message('fileuploaderror', 'error'); @@ -82,7 +86,7 @@ if (is_array($_FILES['_file'])) { } // end foreach if ($imported) { - $OUTPUT->show_message(rcube_label(array('name' => 'importmessagesuccess', 'nr' => $imported, 'vars' => array('nr' => $imported))), 'confirmation'); + $OUTPUT->show_message($RCMAIL->gettext(array('name' => 'importmessagesuccess', 'nr' => $imported, 'vars' => array('nr' => $imported))), 'confirmation'); $OUTPUT->command('command', 'list'); } else { @@ -93,13 +97,12 @@ else if ($_SERVER['REQUEST_METHOD'] == 'POST') { // if filesize exceeds post_max_size then $_FILES array is empty, // show filesizeerror instead of fileuploaderror if ($maxsize = ini_get('post_max_size')) - $msg = rcube_label(array('name' => 'filesizeerror', 'vars' => array('size' => show_bytes(parse_bytes($maxsize))))); + $msg = $RCMAIL->gettext(array('name' => 'filesizeerror', 'vars' => array('size' => $RCMAIL->show_bytes(parse_bytes($maxsize))))); else - $msg = rcube_label('fileuploaderror'); + $msg = $RCMAIL->gettext('fileuploaderror'); $OUTPUT->command('display_message', $msg, 'error'); } // send html page with JS calls as response $OUTPUT->send('iframe'); - |