Thunderbird Webui (lite)
Folders
<%
//' Produce list of accounts and folders
//' TODO: support arbitrary levels of nesting
var acctMgr =
Components.classes["@mozilla.org/messenger/account-manager;1"]
.getService(Components.interfaces.nsIMsgAccountManager)
;
var accounts = acctMgr.accounts;
var acct_list = [];
for (var i = 0; i < accounts.Count(); i++) {
var account = accounts.QueryElementAt(i, Components.interfaces.nsIMsgAccount);
var rootFolder = account.incomingServer.rootFolder; //' nsIMsgFolder
acct_list += "" + rootFolder.prettiestName + "
\n";
if (rootFolder.hasSubFolders) {
var j = 0;
acct_list += '\n';
var subFolders = rootFolder.subFolders; //' nsIMsgFolder
while(subFolders.hasMoreElements()) {
j++;
var folder = subFolders.getNext().QueryInterface(Components.interfaces.nsIMsgFolder);
var fol_display = "" + folder.prettiestName + "";
var unread = folder.getNumUnread(false);
if (unread > 0) {
fol_display = "" + fol_display + " (" + unread + ")";
}
acct_list += "- " + fol_display + "
\n";
}
acct_list += '
\n';
}
}
acct_list;
%>