mirror of
https://github.com/EGroupware/egroupware.git
synced 2025-02-01 10:59:35 +01:00
FolderList:sort folders by displayname, preference to show all (subscribed/unsubscribed) Folders in MainView FolderPane, (default is NO)
This commit is contained in:
parent
f8c6e7d25f
commit
6694e6d351
@ -1325,6 +1325,13 @@
|
|||||||
*/
|
*/
|
||||||
$inboxData->counter = self::getMailBoxCounters('INBOX');
|
$inboxData->counter = self::getMailBoxCounters('INBOX');
|
||||||
}
|
}
|
||||||
|
// force unsubscribed by preference showAllFoldersInFolderPane
|
||||||
|
if ($_subscribedOnly == true &&
|
||||||
|
isset($this->mailPreferences->preferences['showAllFoldersInFolderPane']) &&
|
||||||
|
$this->mailPreferences->preferences['showAllFoldersInFolderPane']==1)
|
||||||
|
{
|
||||||
|
$_subscribedOnly = false;
|
||||||
|
}
|
||||||
#$inboxData->attributes = 64;
|
#$inboxData->attributes = 64;
|
||||||
$folders = array('INBOX' => $inboxData);
|
$folders = array('INBOX' => $inboxData);
|
||||||
#_debug_array($folders);
|
#_debug_array($folders);
|
||||||
@ -1528,22 +1535,32 @@
|
|||||||
$folderObject->subscribed = true;
|
$folderObject->subscribed = true;
|
||||||
// translate the automatic Folders (Sent, Drafts, ...) like the INBOX
|
// translate the automatic Folders (Sent, Drafts, ...) like the INBOX
|
||||||
} elseif (in_array($shortName,$this->autoFolders)) {
|
} elseif (in_array($shortName,$this->autoFolders)) {
|
||||||
$folderObject->displayName = $folderObject->shortDisplayName = lang($shortName);
|
$tmpfolderparts = explode($delimiter,$folderObject->folderName);
|
||||||
|
array_pop($tmpfolderparts);
|
||||||
|
$folderObject->displayName = $this->encodeFolderName(implode($delimiter,$tmpfolderparts).$delimiter.lang($shortName));
|
||||||
|
$folderObject->shortDisplayName = lang($shortName);
|
||||||
|
unset($tmpfolderparts);
|
||||||
} else {
|
} else {
|
||||||
$folderObject->displayName = $this->encodeFolderName($folderObject->folderName);
|
$folderObject->displayName = $this->encodeFolderName($folderObject->folderName);
|
||||||
$folderObject->shortDisplayName = $this->encodeFolderName($shortName);
|
$folderObject->shortDisplayName = $this->encodeFolderName($shortName);
|
||||||
}
|
}
|
||||||
$folderName = $folderName;
|
$folderName = $folderName;
|
||||||
$folders[$folderName] = $folderObject;
|
$folders[$folderName] = $folderObject;
|
||||||
|
$sortby[$folderName] = $folderObject->displayName;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
uasort($folders,array($this,"sortByDisplayName"));
|
||||||
#_debug_array($folders); #exit;
|
//_debug_array($folders); #exit;
|
||||||
|
|
||||||
return $folders;
|
return $folders;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function sortByDisplayName($a,$b)
|
||||||
|
{
|
||||||
|
// 0, 1 und -1
|
||||||
|
return strcasecmp($a->displayName,$b->displayName);
|
||||||
|
}
|
||||||
|
|
||||||
function getMailBoxCounters($folderName)
|
function getMailBoxCounters($folderName)
|
||||||
{
|
{
|
||||||
$folderStatus = $this->icServer->getStatus($folderName);
|
$folderStatus = $this->icServer->getStatus($folderName);
|
||||||
|
@ -386,6 +386,15 @@ class felamimail_hooks
|
|||||||
'values' => $templateOptions,
|
'values' => $templateOptions,
|
||||||
'xmlrpc' => True,
|
'xmlrpc' => True,
|
||||||
'admin' => False,
|
'admin' => False,
|
||||||
|
),
|
||||||
|
'showAllFoldersInFolderPane' => array(
|
||||||
|
'type' => 'select',
|
||||||
|
'label' => 'show all Folders (subscribed AND unsubscribed) in Main Screen Folder Pane',
|
||||||
|
'name' => 'showAllFoldersInFolderPane',
|
||||||
|
'values' => $no_yes,
|
||||||
|
'xmlrpc' => True,
|
||||||
|
'default'=> 0,
|
||||||
|
'admin' => False,
|
||||||
),
|
),
|
||||||
'sieveScriptName' => array(
|
'sieveScriptName' => array(
|
||||||
'type' => 'input',
|
'type' => 'input',
|
||||||
|
Loading…
Reference in New Issue
Block a user