Merge pull request #11294 from annando/fix-mail-setting

Fix storing mail settings
This commit is contained in:
Hypolite Petovan 2022-03-06 10:17:02 -05:00 committed by GitHub
commit 285ff75482
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 21 additions and 20 deletions

View file

@ -108,7 +108,7 @@ function settings_post(App $a)
'port' => $mail_port, 'port' => $mail_port,
'ssltype' => $mail_ssl, 'ssltype' => $mail_ssl,
'user' => $mail_user, 'user' => $mail_user,
`action` => $mail_action, 'action' => $mail_action,
'movetofolder' => $mail_movetofolder, 'movetofolder' => $mail_movetofolder,
'mailbox' => 'INBOX', 'mailbox' => 'INBOX',
'reply_to' => $mail_replyto, 'reply_to' => $mail_replyto,

View file

@ -27,6 +27,7 @@ use Friendica\Content\Text\BBCode;
use Friendica\Content\Text\HTML; use Friendica\Content\Text\HTML;
use Friendica\Model\Item; use Friendica\Model\Item;
use Friendica\Util\Strings; use Friendica\Util\Strings;
use \IMAP\Connection;
/** /**
* Email class * Email class
@ -37,10 +38,10 @@ class Email
* @param string $mailbox The mailbox name * @param string $mailbox The mailbox name
* @param string $username The username * @param string $username The username
* @param string $password The password * @param string $password The password
* @return resource * @return Connection
* @throws \Exception * @throws \Exception
*/ */
public static function connect($mailbox, $username, $password) public static function connect($mailbox, $username, $password): Connection
{ {
if (!function_exists('imap_open')) { if (!function_exists('imap_open')) {
return false; return false;
@ -50,7 +51,7 @@ class Email
$errors = imap_errors(); $errors = imap_errors();
if (!empty($errors)) { if (!empty($errors)) {
Logger::notice('IMAP Errors occured', ['errora' => $errors]); Logger::notice('IMAP Errors occured', ['errors' => $errors]);
} }
$alerts = imap_alerts(); $alerts = imap_alerts();
@ -62,12 +63,12 @@ class Email
} }
/** /**
* @param resource $mbox mailbox * @param Connection $mbox mailbox
* @param string $email_addr email * @param string $email_addr email
* @return array * @return array
* @throws \Exception * @throws \Exception
*/ */
public static function poll($mbox, $email_addr) public static function poll(Connection $mbox, $email_addr): array
{ {
if (!$mbox || !$email_addr) { if (!$mbox || !$email_addr) {
return []; return [];
@ -112,24 +113,24 @@ class Email
} }
/** /**
* @param resource $mbox mailbox * @param Connection $mbox mailbox
* @param integer $uid user id * @param integer $uid user id
* @return mixed * @return mixed
*/ */
public static function messageMeta($mbox, $uid) public static function messageMeta(Connection $mbox, $uid)
{ {
$ret = (($mbox && $uid) ? @imap_fetch_overview($mbox, $uid, FT_UID) : [[]]); // POSSIBLE CLEANUP --> array(array()) is probably redundant now $ret = (($mbox && $uid) ? @imap_fetch_overview($mbox, $uid, FT_UID) : [[]]); // POSSIBLE CLEANUP --> array(array()) is probably redundant now
return (count($ret)) ? $ret : []; return (count($ret)) ? $ret : [];
} }
/** /**
* @param resource $mbox mailbox * @param Connection $mbox mailbox
* @param integer $uid user id * @param integer $uid user id
* @param string $reply reply * @param string $reply reply
* @return array * @return array
* @throws \Friendica\Network\HTTPException\InternalServerErrorException * @throws \Friendica\Network\HTTPException\InternalServerErrorException
*/ */
public static function getMessage($mbox, $uid, $reply, $item) public static function getMessage(Connection $mbox, $uid, $reply, $item): array
{ {
$ret = $item; $ret = $item;
@ -210,14 +211,14 @@ class Email
/** /**
* fetch the specified message part number with the specified subtype * fetch the specified message part number with the specified subtype
* *
* @param resource $mbox mailbox * @param Connection $mbox mailbox
* @param integer $uid user id * @param integer $uid user id
* @param object $p parts * @param object $p parts
* @param integer $partno part number * @param integer $partno part number
* @param string $subtype sub type * @param string $subtype sub type
* @return string * @return string
*/ */
private static function messageGetPart($mbox, $uid, $p, $partno, $subtype) private static function messageGetPart(Connection $mbox, $uid, $p, $partno, $subtype)
{ {
// $partno = '1', '2', '2.1', '2.1.3', etc for multipart, 0 if simple // $partno = '1', '2', '2.1', '2.1.3', etc for multipart, 0 if simple
global $htmlmsg,$plainmsg,$charset,$attachments; global $htmlmsg,$plainmsg,$charset,$attachments;