diff --git a/snappymail/v/0.0.0/app/libraries/MailSo/Imap/Enumerations/ResponseStatus.php b/snappymail/v/0.0.0/app/libraries/MailSo/Imap/Enumerations/ResponseStatus.php index be00915a8..b96a379eb 100644 --- a/snappymail/v/0.0.0/app/libraries/MailSo/Imap/Enumerations/ResponseStatus.php +++ b/snappymail/v/0.0.0/app/libraries/MailSo/Imap/Enumerations/ResponseStatus.php @@ -16,11 +16,11 @@ namespace MailSo\Imap\Enumerations; * @package Imap * @subpackage Enumerations */ -abstract class ResponseStatus +enum ResponseStatus: string { - const OK = 'OK'; - const NO = 'NO'; - const BAD = 'BAD'; - const BYE = 'BYE'; - const PREAUTH = 'PREAUTH'; + case OK = 'OK'; + case NO = 'NO'; + case BAD = 'BAD'; + case BYE = 'BYE'; + case PREAUTH = 'PREAUTH'; } diff --git a/snappymail/v/0.0.0/app/libraries/MailSo/Imap/ImapClient.php b/snappymail/v/0.0.0/app/libraries/MailSo/Imap/ImapClient.php index 3c0ea7827..bb060f85a 100644 --- a/snappymail/v/0.0.0/app/libraries/MailSo/Imap/ImapClient.php +++ b/snappymail/v/0.0.0/app/libraries/MailSo/Imap/ImapClient.php @@ -503,8 +503,8 @@ class ImapClient extends \MailSo\Net\NetClient if ($oResponse->IsStatusResponse && ResponseType::UNTAGGED === $oResponse->ResponseType - && Enumerations\ResponseStatus::PREAUTH === $oResponse->StatusOrIndex -// && (Enumerations\ResponseStatus::PREAUTH === $oResponse->StatusOrIndex || Enumerations\ResponseStatus::BYE === $oResponse->StatusOrIndex) + && Enumerations\ResponseStatus::PREAUTH === $oResponse->ResponseStatus +// && (Enumerations\ResponseStatus::PREAUTH === $oResponse->ResponseStatus || Enumerations\ResponseStatus::BYE === $oResponse->ResponseStatus) ) { break; } diff --git a/snappymail/v/0.0.0/app/libraries/MailSo/Imap/Response.php b/snappymail/v/0.0.0/app/libraries/MailSo/Imap/Response.php index a4fec9eb9..3086b412d 100644 --- a/snappymail/v/0.0.0/app/libraries/MailSo/Imap/Response.php +++ b/snappymail/v/0.0.0/app/libraries/MailSo/Imap/Response.php @@ -11,6 +11,7 @@ namespace MailSo\Imap; +use MailSo\Imap\Enumerations\ResponseStatus; use MailSo\Imap\Enumerations\ResponseType; /** @@ -29,6 +30,8 @@ class Response public bool $IsStatusResponse = false; + public ?ResponseStatus $ResponseStatus = null; + public ResponseType $ResponseType = ResponseType::UNKNOWN; public ?string $Tag = null; @@ -46,7 +49,8 @@ class Response { $value = \strtoupper($value); $this->StatusOrIndex = $value; - $this->IsStatusResponse = \defined("\\MailSo\\Imap\\Enumerations\\ResponseStatus::{$value}"); + $this->ResponseStatus = ResponseStatus::tryFrom($value); + $this->IsStatusResponse = !!$this->ResponseStatus; } public function setTag(string $value) : void diff --git a/snappymail/v/0.0.0/app/libraries/MailSo/Imap/ResponseCollection.php b/snappymail/v/0.0.0/app/libraries/MailSo/Imap/ResponseCollection.php index ba83a0247..188c7043e 100644 --- a/snappymail/v/0.0.0/app/libraries/MailSo/Imap/ResponseCollection.php +++ b/snappymail/v/0.0.0/app/libraries/MailSo/Imap/ResponseCollection.php @@ -42,7 +42,7 @@ class ResponseCollection extends \MailSo\Base\Collection throw new Exceptions\InvalidResponseException($this); } - if (Enumerations\ResponseStatus::OK !== $oItem->StatusOrIndex) { + if (Enumerations\ResponseStatus::OK !== $oItem->ResponseStatus) { throw new Exceptions\NegativeResponseException($this); } }