mirror of
https://github.com/the-djmaze/snappymail.git
synced 2026-07-08 22:18:28 +03:00
Improved kolab folder-type detection as they can also be appended with '.default'
This commit is contained in:
parent
9f5f066dbf
commit
c8a5ae5c3a
4 changed files with 35 additions and 24 deletions
|
|
@ -236,9 +236,11 @@ export class FolderModel extends AbstractModel {
|
|||
if (folder) {
|
||||
folder.deep = json.FullNameRaw.split(folder.delimiter).length - 1;
|
||||
|
||||
let type = folder.metadata[FolderMetadataKeys.KolabFolderType]
|
||||
|| folder.metadata[FolderMetadataKeys.KolabFolderTypeShared];
|
||||
type && !type.includes('mail.') && folder.kolabType(type);
|
||||
let type = (folder.metadata[FolderMetadataKeys.KolabFolderType]
|
||||
|| folder.metadata[FolderMetadataKeys.KolabFolderTypeShared]
|
||||
|| ''
|
||||
).split('.')[0];
|
||||
type && 'mail' != type && folder.kolabType(type);
|
||||
|
||||
folder.messageCountAll = ko.computed({
|
||||
read: folder.privateMessageCountAll,
|
||||
|
|
|
|||
|
|
@ -139,6 +139,7 @@ export class FoldersUserSettings /*extends AbstractViewSettings*/ {
|
|||
|
||||
toggleFolderKolabType(folder, event) {
|
||||
let type = event.target.value;
|
||||
// TODO: append '.default' ?
|
||||
Remote.folderSetMetadata(()=>0, folder.fullNameRaw, FolderMetadataKeys.KolabFolderType, type);
|
||||
folder.kolabType(type);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -38,11 +38,13 @@ class FolderInformation
|
|||
public $PermanentFlags = array();
|
||||
|
||||
/**
|
||||
* https://datatracker.ietf.org/doc/html/rfc3501#section-7.3.1
|
||||
* @var int
|
||||
*/
|
||||
public $Exists = null;
|
||||
|
||||
/**
|
||||
* https://datatracker.ietf.org/doc/html/rfc3501#section-7.3.2
|
||||
* @var int
|
||||
*/
|
||||
public $Recent = null;
|
||||
|
|
|
|||
|
|
@ -320,27 +320,33 @@ class ResponseCollection extends \MailSo\Base\Collection
|
|||
$oResult->Flags = $oResponse->ResponseList[2];
|
||||
}
|
||||
|
||||
if (is_array($oResponse->OptionalResponse) && \count($oResponse->OptionalResponse) > 1) {
|
||||
if ('PERMANENTFLAGS' === $oResponse->OptionalResponse[0]
|
||||
&& is_array($oResponse->OptionalResponse[1]))
|
||||
{
|
||||
$oResult->PermanentFlags = $oResponse->OptionalResponse[1];
|
||||
}
|
||||
else if ('UIDVALIDITY' === $oResponse->OptionalResponse[0])
|
||||
{
|
||||
$oResult->Uidvalidity = (int) $oResponse->OptionalResponse[1];
|
||||
}
|
||||
else if ('UNSEEN' === $oResponse->OptionalResponse[0])
|
||||
{
|
||||
$oResult->Unread = (int) $oResponse->OptionalResponse[1];
|
||||
}
|
||||
else if ('UIDNEXT' === $oResponse->OptionalResponse[0])
|
||||
{
|
||||
$oResult->Uidnext = (int) $oResponse->OptionalResponse[1];
|
||||
}
|
||||
else if ('HIGHESTMODSEQ' === $oResponse->OptionalResponse[0])
|
||||
{
|
||||
$oResult->HighestModSeq = (int) $oResponse->OptionalResponse[1];
|
||||
if (\is_array($oResponse->OptionalResponse)) {
|
||||
if (\count($oResponse->OptionalResponse) > 1) {
|
||||
if ('PERMANENTFLAGS' === $oResponse->OptionalResponse[0]
|
||||
&& is_array($oResponse->OptionalResponse[1]))
|
||||
{
|
||||
$oResult->PermanentFlags = $oResponse->OptionalResponse[1];
|
||||
}
|
||||
else if ('UIDVALIDITY' === $oResponse->OptionalResponse[0])
|
||||
{
|
||||
$oResult->Uidvalidity = (int) $oResponse->OptionalResponse[1];
|
||||
}
|
||||
else if ('UNSEEN' === $oResponse->OptionalResponse[0])
|
||||
{
|
||||
$oResult->Unread = (int) $oResponse->OptionalResponse[1];
|
||||
}
|
||||
else if ('UIDNEXT' === $oResponse->OptionalResponse[0])
|
||||
{
|
||||
$oResult->Uidnext = (int) $oResponse->OptionalResponse[1];
|
||||
}
|
||||
else if ('HIGHESTMODSEQ' === $oResponse->OptionalResponse[0])
|
||||
{
|
||||
$oResult->HighestModSeq = (int) $oResponse->OptionalResponse[1];
|
||||
}
|
||||
} else if ('READ-ONLY' === $oResponse->OptionalResponse[0]) {
|
||||
// $oResult->IsWritable = false;
|
||||
} else if ('READ-WRITE' === $oResponse->OptionalResponse[0]) {
|
||||
// $oResult->IsWritable = true;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue