X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=lib%2Fmailhandler.php;h=65c5622de37a5d98edc4e9260e06403fe25c3656;hb=9f75131082ad282a59bc9de1c8ad82f5e3c79956;hp=32a8cd9bc5ab34f5de04fef9071fe49b5f3d161f;hpb=4de09d6bd4eab3259d42fa846e4dd31f2516a038;p=quix0rs-gnu-social.git diff --git a/lib/mailhandler.php b/lib/mailhandler.php index 32a8cd9bc5..65c5622de3 100644 --- a/lib/mailhandler.php +++ b/lib/mailhandler.php @@ -21,8 +21,8 @@ require_once(INSTALLDIR . '/lib/mail.php'); require_once(INSTALLDIR . '/lib/mediafile.php'); require_once('Mail/mimeDecode.php'); -# FIXME: we use both Mail_mimeDecode and mailparse -# Need to move everything to mailparse +// @todo FIXME: we use both Mail_mimeDecode and mailparse +// Need to move everything to mailparse class MailHandler { @@ -34,19 +34,23 @@ class MailHandler { list($from, $to, $msg, $attachments) = $this->parse_message($rawmessage); if (!$from || !$to || !$msg) { + // TRANS: Error message in incoming mail handler used when an incoming e-mail cannot be processed. $this->error(null, _('Could not parse message.')); } common_log(LOG_INFO, "Mail from $from to $to with ".count($attachments) .' attachment(s): ' .substr($msg, 0, 20)); $user = $this->user_from_header($from); if (!$user) { + // TRANS: Error message in incoming mail handler used when an incoming e-mail is not from a registered user. $this->error($from, _('Not a registered user.')); return false; } if (!$this->user_match_to($user, $to)) { + // TRANS: Error message in incoming mail handler used when an incoming e-mail is not from a user's incoming e-mail address. $this->error($from, _('Sorry, that is not your incoming email address.')); return false; } if (!$user->emailpost) { + // TRANS: Error message in incoming mail handler used when no incoming e-mail is allowed. $this->error($from, _('Sorry, no incoming email allowed.')); return false; } @@ -55,17 +59,18 @@ class MailHandler return true; } $msg = $this->cleanup_msg($msg); - $msg = common_shorten_links($msg); + $msg = $user->shortenLinks($msg); if (Notice::contentTooLong($msg)) { - $this->error($from, sprintf(_('That\'s too long. '. - 'Max notice size is %d chars.'), + // TRANS: Error message in incoming mail handler used when an incoming e-mail contains too many characters. + $this->error($from, sprintf(_m('That\'s too long. Maximum notice size is %d character.', + 'That\'s too long. Maximum notice size is %d characters.', + Notice::maxContent()), Notice::maxContent())); } $mediafiles = array(); foreach($attachments as $attachment){ - $mf = null; try { @@ -136,10 +141,10 @@ class MailHandler function respond($from, $to, $response) { - $headers['From'] = $to; $headers['To'] = $from; - $headers['Subject'] = "Command complete"; + // TRANS: E-mail subject for reply to an e-mail command. + $headers['Subject'] = _('Command complete'); return mail_send(array($from), $headers, $response); } @@ -160,7 +165,7 @@ class MailHandler foreach($mediafiles as $mf){ $mf->attachToNotice($notice); } - common_broadcast_notice($notice); + $this->log(LOG_INFO, 'Added notice ' . $notice->id . ' from user ' . $user->nickname); return true; @@ -225,7 +230,9 @@ class MailHandler function unsupported_type($type) { - $this->error(null, "Unsupported message type: " . $type); + // TRANS: Error message in incoming mail handler used when an incoming e-mail is of an unsupported type. + // TRANS: %s is the unsupported type. + $this->error(null, sprintf(_('Unsupported message type: %s.'), $type)); } function cleanup_msg($msg) @@ -265,6 +272,10 @@ class MailHandler if (preg_match('/^\s*Begin\s+forward/', $line)) { break; } + // skip everything after a blank line if we already have content + if ($output !== '' && $line === '') { + break; + } $output .= ' ' . $line; }