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
path: root/lib/Model
diff options
context:
space:
mode:
authorDaniel Kesselberg <mail@danielkesselberg.de>2021-05-28 19:05:22 +0300
committerDaniel Kesselberg <mail@danielkesselberg.de>2021-05-28 23:45:52 +0300
commit6c834c1540d8c02d384121b3c1e653ba180ea590 (patch)
treec45677185f146463f644ac77a5a20434a822655f /lib/Model
parentceddb01ec64271765cd882022438a1fa1efac866 (diff)
Add custom user tags
Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
Diffstat (limited to 'lib/Model')
-rw-r--r--lib/Model/IMAPMessage.php52
1 files changed, 31 insertions, 21 deletions
diff --git a/lib/Model/IMAPMessage.php b/lib/Model/IMAPMessage.php
index e1393d8ac..c163ebd0c 100644
--- a/lib/Model/IMAPMessage.php
+++ b/lib/Model/IMAPMessage.php
@@ -29,33 +29,33 @@ declare(strict_types=1);
namespace OCA\Mail\Model;
-use OC;
use Exception;
-use function trim;
-use OCP\Files\File;
-use Horde_Mime_Part;
-use OCA\Mail\Db\Tag;
-use JsonSerializable;
-use function in_array;
use Horde_Imap_Client;
-use Horde_Mime_Headers;
-use OCA\Mail\Db\Message;
-use OCA\Mail\AddressList;
+use Horde_Imap_Client_Data_Envelope;
+use Horde_Imap_Client_Data_Fetch;
+use Horde_Imap_Client_DateTime;
+use Horde_Imap_Client_Fetch_Query;
use Horde_Imap_Client_Ids;
-use OCA\Mail\Service\Html;
-use OCA\Mail\Db\MailAccount;
-use Horde_Imap_Client_Socket;
use Horde_Imap_Client_Mailbox;
-use Horde_Imap_Client_DateTime;
+use Horde_Imap_Client_Socket;
+use Horde_Mime_Headers;
+use Horde_Mime_Headers_MessageId;
+use Horde_Mime_Part;
+use JsonSerializable;
+use OC;
+use OCA\Mail\AddressList;
use OCA\Mail\Db\LocalAttachment;
+use OCA\Mail\Db\MailAccount;
+use OCA\Mail\Db\Message;
+use OCA\Mail\Db\Tag;
+use OCA\Mail\Service\Html;
+use OCP\AppFramework\Db\DoesNotExistException;
+use OCP\Files\File;
+use OCP\Files\SimpleFS\ISimpleFile;
+use function in_array;
use function mb_convert_encoding;
use function mb_strcut;
-use Horde_Imap_Client_Data_Fetch;
-use Horde_Mime_Headers_MessageId;
-use Horde_Imap_Client_Fetch_Query;
-use OCP\Files\SimpleFS\ISimpleFile;
-use Horde_Imap_Client_Data_Envelope;
-use OCP\AppFramework\Db\DoesNotExistException;
+use function trim;
class IMAPMessage implements IMessage, JsonSerializable {
use ConvertAddresses;
@@ -769,9 +769,19 @@ class IMAPMessage implements IMessage, JsonSerializable {
if ($keyword === '$important') {
$keyword = Tag::LABEL_IMPORTANT;
}
+
+ $displayName = str_replace('_', ' ', $keyword);
+ $displayName = strtoupper($displayName);
+ $displayName = mb_convert_encoding($displayName, 'UTF-8', 'UTF7-IMAP');
+ $displayName = strtolower($displayName);
+ $displayName = ucwords($displayName);
+
+ $keyword = mb_strcut($keyword, 0, 64);
+ $displayName = mb_strcut($displayName, 0, 128);
+
$tag = new Tag();
$tag->setImapLabel($keyword);
- $tag->setDisplayName(str_replace('$', '', $keyword));
+ $tag->setDisplayName($displayName);
$tag->setUserId($userId);
$t[] = $tag;
}