';
printf('
%s
',_('Entry Chooser'));
?>
';
if ($entry['container']) {
printf('
%s: | %s |
',_('Server'),htmlspecialchars($ldapserver->name));
printf('
%s: | %s |
',_('Looking in'),htmlspecialchars($entry['container']));
echo '
|
';
}
/* Has the use already begun to descend into a specific server tree? */
if (isset($ldapserver) && ! is_null($entry['container'])) {
if (! $ldapserver->haveAuthInfo())
pla_error(_('Not enough information to login to server. Please check your configuration.'));
$entry['children'] = $ldapserver->getContainerContents($entry['container'],0,'(objectClass=*)',$_SESSION[APPCONFIG]->GetValue('deref','tree'));
sort($entry['children']);
foreach ($ldapserver->getBaseDN() as $base_dn) {
if (DEBUG_ENABLED)
debug_log('Comparing BaseDN [%s] with container [%s]',64,__FILE__,__LINE__,__METHOD__,$base_dn,$entry['container']);
if (! pla_compare_dns($entry['container'],$base_dn)) {
$parent_container = false;
$href['up'] = htmlspecialchars(sprintf('entry_chooser.php?form_element=%s&rdn=%s',$entry['element'],$entry['rdn']));
break;
} else {
$parent_container = get_container($entry['container']);
$href['up'] = htmlspecialchars(sprintf('entry_chooser.php?form_element=%s&rdn=%s&server_id=%s&container=%s',
$entry['element'],$entry['rdn'],$ldapserver->server_id,rawurlencode($parent_container)));
}
}
echo '
';
echo ' | ';
printf(' | ',$href['up']);
printf('%s | ',$href['up'],_('Back Up...'));
echo '
';
if (! count($entry['children']))
printf('
| (%s) | ',_('no entries'));
else
foreach ($entry['children'] as $dn) {
$href['return'] = sprintf("javascript:returnDN('%s%s')",($entry['rdn'] ? sprintf('%s,',$entry['rdn']) : ''),rawurlencode($dn));
$href['expand'] = htmlspecialchars(sprintf('entry_chooser.php?server_id=%s&form_element=%s&rdn=%s&container=%s',
$ldapserver->server_id,$entry['element'],$entry['rdn'],rawurlencode($dn)));
echo '
';
echo ' | ';
printf(' | ',$href['expand']);
printf('%s | ',$href['return'],htmlspecialchars($dn));
echo '
';
echo "\n\n";
}
/* draw the root of the selection tree (ie, list all the servers) */
} else {
foreach ($_SESSION[APPCONFIG]->ldapservers->GetServerList() as $id) {
$ldapserver = $_SESSION[APPCONFIG]->ldapservers->Instance($id);
if ($ldapserver->isVisible()) {
if (! $ldapserver->haveAuthInfo())
continue;
else {
printf('
%s: | %s |
',_('Server'),htmlspecialchars($ldapserver->name));
foreach ($ldapserver->getBaseDN() as $dn) {
if (! $dn) {
printf('
| (%s) |
',_('Could not determine base DN'));
} else {
$href['return'] = sprintf("javascript:returnDN('%s%s')",($entry['rdn'] ? sprintf('%s,',$entry['rdn']) : ''),rawurlencode($dn));
$href['expand'] = htmlspecialchars(sprintf('entry_chooser.php?server_id=%s&form_element=%s&rdn=%s&container=%s',
$ldapserver->server_id,$entry['element'],$entry['rdn'],rawurlencode($dn)));
echo '
';
echo ' | ';
printf(' | ',$href['expand']);
printf('%s | ',$href['return'],htmlspecialchars($dn));
}
}
echo '
|
';
}
}
}
}
echo '';
echo '
';
echo '