Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/nextcloud/mail.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristoph Wurst <christoph@winzerhof-wurst.at>2020-11-03 18:16:13 +0300
committerChristoph Wurst <christoph@winzerhof-wurst.at>2020-11-03 18:44:11 +0300
commit0ce28beba11707e394c806775b5765d26dece4d0 (patch)
tree64d97656035db2ae2895f3afc4b43abf307113ec /lib/Mailbox.php
parentf93c487a900c1398e51ed6974c4ff822e9850395 (diff)
Remove dead methods from the Mailbox class
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
Diffstat (limited to 'lib/Mailbox.php')
-rw-r--r--lib/Mailbox.php228
1 files changed, 1 insertions, 227 deletions
diff --git a/lib/Mailbox.php b/lib/Mailbox.php
index 98e5f8f80..777f82ee4 100644
--- a/lib/Mailbox.php
+++ b/lib/Mailbox.php
@@ -32,7 +32,6 @@
namespace OCA\Mail;
use Horde_Imap_Client;
-use Horde_Imap_Client_Exception;
use Horde_Imap_Client_Mailbox;
use Horde_Imap_Client_Socket;
use OCA\Mail\Model\IMAPMessage;
@@ -45,26 +44,6 @@ class Mailbox {
protected $conn;
/**
- * @var array
- */
- private $attributes;
-
- /**
- * @var string
- */
- private $specialRole;
-
- /**
- * @var string
- */
- private $displayName;
-
- /**
- * @var string
- */
- private $delimiter;
-
- /**
* @var Horde_Imap_Client_Mailbox
*/
protected $mailBox;
@@ -72,26 +51,10 @@ class Mailbox {
/**
* @param Horde_Imap_Client_Socket $conn
* @param Horde_Imap_Client_Mailbox $mailBox
- * @param array $attributes
- * @param string $delimiter
*/
- public function __construct($conn, $mailBox, $attributes, $delimiter = '/') {
+ public function __construct($conn, $mailBox) {
$this->conn = $conn;
$this->mailBox = $mailBox;
- $this->attributes = $attributes;
- $this->delimiter = $delimiter;
- $this->getSpecialRoleFromAttributes();
- if ($this->specialRole === null) {
- $this->guessSpecialRole();
- }
- $this->makeDisplayName();
- }
-
- /**
- * @return array
- */
- public function attributes() {
- return $this->attributes;
}
/**
@@ -105,195 +68,6 @@ class Mailbox {
}
/**
- * @return array
- */
- public function getStatus(int $flags = Horde_Imap_Client::STATUS_ALL): array {
- return $this->conn->status($this->mailBox, $flags);
- }
-
- /**
- * @return int
- */
- public function getTotalMessages() {
- $status = $this->getStatus(\Horde_Imap_Client::STATUS_MESSAGES);
- return (int) $status['messages'];
- }
-
- protected function makeDisplayName(): void {
- $parts = explode($this->delimiter, $this->mailBox->utf8, 2);
-
- if (count($parts) > 1) {
- $displayName = $parts[1];
- } elseif (strtolower($this->mailBox->utf8) === 'inbox') {
- $displayName = 'Inbox';
- } else {
- $displayName = $this->mailBox->utf8;
- }
-
- $this->displayName = $displayName;
- }
-
- public function getFolderId(): string {
- return $this->mailBox->utf8;
- }
-
- /**
- * @return null|string
- */
- public function getParent(): ?string {
- $folderId = $this->getFolderId();
- $parts = explode($this->delimiter, $folderId, 2);
-
- if (count($parts) > 1) {
- return $parts[0];
- }
-
- return null;
- }
-
- /**
- * @return string
- */
- public function getSpecialRole() {
- return $this->specialRole;
- }
-
- /**
- * @return string
- */
- public function getDisplayName() {
- return $this->displayName;
- }
-
- /**
- * @param string $displayName
- *
- * @return void
- */
- public function setDisplayName($displayName): void {
- $this->displayName = $displayName;
- }
-
- /**
- * @param integer $accountId
- * @return array
- */
- public function serialize($accountId, $status = null) {
- $displayName = $this->getDisplayName();
- try {
- if (is_null($status)) {
- $status = $this->getStatus();
- }
- $total = $status['messages'];
- $specialRole = $this->getSpecialRole();
- $unseen = ($specialRole === 'trash') ? 0 : $status['unseen'];
- $isEmpty = ($total === 0);
- $noSelect = in_array('\\noselect', $this->attributes);
- $parentId = $this->getParent();
- $parentId = ($parentId !== null) ? base64_encode($parentId) : null;
- return [
- 'id' => base64_encode($this->getFolderId()),
- 'parent' => $parentId,
- 'name' => $displayName,
- 'specialRole' => $specialRole,
- 'unseen' => $unseen,
- 'total' => $total,
- 'isEmpty' => $isEmpty,
- 'accountId' => $accountId,
- 'noSelect' => $noSelect,
- 'uidvalidity' => $status['uidvalidity'],
- 'uidnext' => $status['uidnext'],
- 'delimiter' => $this->delimiter
- ];
- } catch (Horde_Imap_Client_Exception $e) {
- return [
- 'id' => base64_encode($this->getFolderId()),
- 'parent' => null,
- 'name' => $displayName,
- 'specialRole' => null,
- 'unseen' => 0,
- 'total' => 0,
- 'error' => $e->getMessage(),
- 'isEmpty' => true,
- 'accountId' => $accountId,
- 'noSelect' => true
- ];
- }
- }
-
- /**
- * Get the special use role of the mailbox
- *
- * This method reads the attributes sent by the server
- *
- * @return void
- */
- protected function getSpecialRoleFromAttributes(): void {
- /*
- * @todo: support multiple attributes on same folder
- * "any given server or message store may support
- * any combination of the attributes"
- * https://tools.ietf.org/html/rfc6154
- */
- $result = null;
- if (is_array($this->attributes)) {
- /* Convert attributes to lowercase, because gmail
- * returns them as lowercase (eg. \trash and not \Trash)
- */
- $specialUseAttributes = [
- strtolower(Horde_Imap_Client::SPECIALUSE_ALL),
- strtolower(Horde_Imap_Client::SPECIALUSE_ARCHIVE),
- strtolower(Horde_Imap_Client::SPECIALUSE_DRAFTS),
- strtolower(Horde_Imap_Client::SPECIALUSE_FLAGGED),
- strtolower(Horde_Imap_Client::SPECIALUSE_JUNK),
- strtolower(Horde_Imap_Client::SPECIALUSE_SENT),
- strtolower(Horde_Imap_Client::SPECIALUSE_TRASH)
- ];
-
- $attributes = array_map(function ($n) {
- return strtolower($n);
- }, $this->attributes);
-
- foreach ($specialUseAttributes as $attr) {
- if (in_array($attr, $attributes)) {
- $result = ltrim($attr, '\\');
- break;
- }
- }
- }
-
- $this->specialRole = $result;
- }
-
- /**
- * Assign a special role to this mailbox based on its name
- *
- * @return void
- */
- protected function guessSpecialRole(): void {
- $specialFoldersDict = [
- 'inbox' => ['inbox'],
- 'sent' => ['sent', 'sent items', 'sent messages', 'sent-mail', 'sentmail'],
- 'drafts' => ['draft', 'drafts'],
- 'archive' => ['archive', 'archives'],
- 'trash' => ['deleted messages', 'trash'],
- 'junk' => ['junk', 'spam', 'bulk mail'],
- ];
-
- $lowercaseExplode = explode($this->delimiter, $this->getFolderId(), 2);
- $lowercaseId = strtolower(array_pop($lowercaseExplode));
- $result = null;
- foreach ($specialFoldersDict as $specialRole => $specialNames) {
- if (in_array($lowercaseId, $specialNames)) {
- $result = $specialRole;
- break;
- }
- }
-
- $this->specialRole = $result;
- }
-
- /**
* @param int $messageUid
* @param string $attachmentId
*