forked from extern/egroupware
Mail tree phase2 W.I.P.:
-Fix translation not working for the first load -Get all children of active accounts in one go
This commit is contained in:
parent
8096304c6a
commit
0bde40fac5
@ -383,11 +383,12 @@ class mail_tree
|
|||||||
$data[tree::IMAGE_LEAF] = self::$leafImages['folderHome'];
|
$data[tree::IMAGE_LEAF] = self::$leafImages['folderHome'];
|
||||||
$data[tree::IMAGE_FOLDER_OPEN] = self::$leafImages['folderHome'];
|
$data[tree::IMAGE_FOLDER_OPEN] = self::$leafImages['folderHome'];
|
||||||
$data[tree::IMAGE_FOLDER_CLOSED] = self::$leafImages['folderHome'];
|
$data[tree::IMAGE_FOLDER_CLOSED] = self::$leafImages['folderHome'];
|
||||||
|
$data[tree::LABEL] = lang($folderName);
|
||||||
|
$data[tree::TOOLTIP] = lang($folderName);
|
||||||
}
|
}
|
||||||
|
|
||||||
// User defined folders may get different icons
|
// User defined folders may get different icons
|
||||||
// plus they need to be translated too
|
// plus they need to be translated too
|
||||||
if (array_search($data['folderarray']['MAILBOX'], $definedFolders, true) !== false)
|
elseif (array_search($data['folderarray']['MAILBOX'], $definedFolders, true) !== false)
|
||||||
{
|
{
|
||||||
$data[tree::LABEL] = lang($folderName);
|
$data[tree::LABEL] = lang($folderName);
|
||||||
$data[tree::TOOLTIP] = lang($folderName);
|
$data[tree::TOOLTIP] = lang($folderName);
|
||||||
@ -461,4 +462,33 @@ class mail_tree
|
|||||||
}
|
}
|
||||||
return $roots;
|
return $roots;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Initialization tree for index sidebox menu
|
||||||
|
*
|
||||||
|
* This function gets all accounts root nodes and then
|
||||||
|
* fill the active accounts with its children.
|
||||||
|
*
|
||||||
|
* @param string $_parent = null no parent node means root with the first level of folders
|
||||||
|
* @param string $_profileID = '' icServer id
|
||||||
|
* @param int|boolean $_openTopLevel = 1 Open top level folders on load if it's set to 1|true,
|
||||||
|
* false|0 leaves them in closed state
|
||||||
|
* @param boolean $_subscribedOnly = false get only subscribed folders
|
||||||
|
* @param boolean $_allInOneGo = false, true will get all folders (dependes on subscribedOnly option) of the account in one go
|
||||||
|
* @return type an array of tree
|
||||||
|
*/
|
||||||
|
function getInitialIndexTree ($_parent = null, $_profileID = '', $_openTopLevel = 1, $_subscribedOnly= false, $_allInOneGo = false)
|
||||||
|
{
|
||||||
|
$tree = $this->getTree($_parent, $_profileID, $_openTopLevel, false, $_subscribedOnly, $_allInOneGo);
|
||||||
|
$activeAccount = $GLOBALS['egw_info']['user']['preferences']['mail']['ActiveProfileID'];
|
||||||
|
$branches = $this->getTree($activeAccount, $activeAccount,1,false,$_subscribedOnly,$_allInOneGo);
|
||||||
|
foreach ($tree[tree::CHILDREN] as &$account)
|
||||||
|
{
|
||||||
|
if ($account[tree::ID] == $activeAccount)
|
||||||
|
{
|
||||||
|
$account = $branches;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return $tree;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -482,7 +482,7 @@ class mail_ui
|
|||||||
$content[self::$nm_index]['vacationrange'] = $sel_options[self::$nm_index]['vacationrange'] = '';
|
$content[self::$nm_index]['vacationrange'] = $sel_options[self::$nm_index]['vacationrange'] = '';
|
||||||
}
|
}
|
||||||
//$zstarttime = microtime (true);
|
//$zstarttime = microtime (true);
|
||||||
$sel_options[self::$nm_index]['foldertree'] = $this->mail_tree->getTree(null, null, null, false, true,true );
|
$sel_options[self::$nm_index]['foldertree'] = $this->mail_tree->getInitialIndexTree(null, null, null, true,!$this->mail_bo->mailPreferences['showAllFoldersInFolderPane']);
|
||||||
//$zendtime = microtime(true) - $zstarttime;
|
//$zendtime = microtime(true) - $zstarttime;
|
||||||
//error_log(__METHOD__.__LINE__. " time used: ".$zendtime);
|
//error_log(__METHOD__.__LINE__. " time used: ".$zendtime);
|
||||||
$content[self::$nm_index]['selectedFolder'] = $this->mail_bo->profileID.self::$delimiter.(!empty($this->mail_bo->sessionData['mailbox'])?$this->mail_bo->sessionData['mailbox']:'INBOX');
|
$content[self::$nm_index]['selectedFolder'] = $this->mail_bo->profileID.self::$delimiter.(!empty($this->mail_bo->sessionData['mailbox'])?$this->mail_bo->sessionData['mailbox']:'INBOX');
|
||||||
|
Loading…
Reference in New Issue
Block a user