$everyone = array(); $tree = new MozillaTreeAdapter($everyone); $auth = new MozillaAuthAdapter(); $data = array(); foreach ($tree->conf as $conf) { $search = ldap_search($ldapconn, $conf["ldap_search_base"], $conf["ldap_search_filter"], $conf["ldap_search_attributes"]); $data = array_merge($data, ldap_get_entries($ldapconn, $search)); } $tree_view_roots = $tree->roots; foreach ($data as $person) { $mail = $person['mail'][0]; $everyone[$mail] = $tree->process_entry($person); // If a user has a manager, try to find their place in the tree. // Unless they're a root themselves. if (!in_array($mail, $tree_view_roots) && !empty($person["manager"][0])) { $manager = $auth->dn_to_email($person["manager"][0]); if (empty($people[$manager])) { $people[$manager] = array($mail); } else { $people[$manager][] = $mail; } } elseif (!empty($mail) && !in_array($mail, $tree_view_roots)) { // Person is an orphan. $orphans[] = $mail; } } $managers = array_keys($people); $visible_managers = array(); function make_tree($level, $root, $nodes = NULL) { global $people;