Performance improvements for the tree.

This commit is contained in:
Deon George
2009-08-19 21:19:35 +10:00
parent 5669c92371
commit ebe2cb6eda
4 changed files with 16 additions and 8 deletions

View File

@@ -167,8 +167,9 @@ abstract class Tree {
$server = $this->getServer();
$dnlower = $this->indexDN($dn);
if (! ($server->dnExists($dn)))
return;
# @todo Temporarily removed, some non-ascii char DNs that do exist, fail here for some reason?
#if (! ($server->dnExists($dn)))
# return;
if (isset($this->entries[$dnlower]))
debug_dump_backtrace('Calling add entry to an entry that ALREADY exists?',1);
@@ -179,6 +180,9 @@ abstract class Tree {
$tree_factory = new TreeItem($server->getIndex(),$dn);
$tree_factory->setObjectClasses($server->getDNAttrValue($dn,'objectClass'));
if ((($isleaf = $server->getDNAttrValue($dn,'hassubordinates')) && ! strcasecmp($isleaf[0],'false')) || ! $isleaf)
$tree_factory->setLeaf();
$this->entries[$dnlower] = $tree_factory;
# Is this entry in a base entry?