getServer(get_request('server_id_src')); $ldap['DST'] = $_SESSION[APPCONFIG]->getServer(get_request('server_id_dst')); if (! $ldap['SRC']->dnExists($request['dnSRC'])) { error(sprintf('%s (%s)', _('No such entry.'), pretty_print_dn($request['dnSRC'])), 'error', 'index.php'); } if (! $ldap['DST']->dnExists($request['dnDST'])) { error(sprintf('%s (%s)', _('No such entry.'), pretty_print_dn($request['dnDST'])), 'error', 'index.php'); } $request['pageSRC'] = new PageRender($ldap['SRC']->getIndex(),get_request('template','REQUEST',false,'none')); $request['pageSRC']->setDN($request['dnSRC']); $request['pageSRC']->accept(); $request['templateSRC'] = $request['pageSRC']->getTemplate(); $request['pageDST'] = new PageRender($ldap['DST']->getIndex(),get_request('template','REQUEST',false,'none')); $request['pageDST']->setDN($request['dnDST']); $request['pageDST']->accept(); $request['templateDST'] = $request['pageDST']->getTemplate(); # Get a list of all attributes. $attrs_all = array_unique(array_merge($request['templateSRC']->getAttributeNames(),$request['templateDST']->getAttributeNames())); $request['pageSRC']->drawTitle(_('Comparing the following DNs')); echo '
'; echo ''; echo ''; $href = sprintf('cmd.php?cmd=template_engine&server_id=%s&dn=%s', $ldap['SRC']->getIndex(),rawurlencode($request['dnSRC'])); printf('', _('Server'),$ldap['SRC']->getName(),_('Distinguished Name'), htmlspecialchars($href),$request['dnSRC']); $href = sprintf('cmd.php?cmd=template_engine&server_id=%s&dn=%s', $ldap['DST']->getIndex(),rawurlencode($request['dnDST'])); printf('', _('Server'),$ldap['DST']->getName(),_('Distinguished Name'), htmlspecialchars($href),$request['dnDST']); echo ''; echo ''; echo ''; echo ''; if (! is_array($attrs_all) || ! count($attrs_all)) { printf('',_('This entry has no attributes')); print '
%s: %s
%s: %s
%s: %s
%s: %s
'; echo '
'; echo '
'; printf('',$app['server']->getIndex()); printf('',$ldap['DST']->getIndex()); printf('',$ldap['SRC']->getIndex()); printf('',htmlspecialchars($request['dnDST'])); printf('',htmlspecialchars($request['dnSRC'])); printf('',_('Switch Entry')); echo '
'; echo '
'; echo '
(%s)
'; return; } sort($attrs_all); # Work through each of the attributes. foreach ($attrs_all as $attr) { # Has the config.php specified that this attribute is to be hidden or shown? if ($ldap['SRC']->isAttrHidden($attr) || $ldap['DST']->isAttrHidden($attr)) { continue; } $attributeSRC = $request['templateSRC']->getAttribute($attr); $attributeDST = $request['templateDST']->getAttribute($attr); # Get the values and see if they are the same. if ($attributeSRC && $attributeDST && ($attributeSRC->getValues() == $attributeDST->getValues())) { echo ''; } else { echo ''; } foreach (array('src','dst') as $side) { # If we are on the source side, show the attribute name. switch ($side) { case 'src': if ($attributeSRC) { echo ''; $request['pageSRC']->draw('Name',$attributeSRC); echo ''; if ($request['pageSRC']->getServerID() == $request['pageDST']->getServerID()) { echo ' '; } else { echo ''; $request['pageSRC']->draw('Notes',$attributeSRC); echo ''; } } else { echo ' '; } break; case 'dst': if ($attributeDST) { if ($attributeSRC && ($request['pageSRC']->getServerID() == $request['pageDST']->getServerID())) { echo ' '; } else { echo ''; $request['pageDST']->draw('Name',$attributeDST); echo ''; } echo ''; $request['pageDST']->draw('Notes',$attributeDST); echo ''; } else { echo ' '; } break; } } echo ''; echo "\n\n"; # Get the values and see if they are the same. if ($attributeSRC && $attributeDST && ($attributeSRC->getValues() == $attributeDST->getValues())) { echo ''; } else { echo ''; } foreach (array('src','dst') as $side) { echo ''; echo ''; echo '
'; switch ($side) { case 'src': if ($attributeSRC && count($attributeSRC->getValues())) { $request['pageSRC']->draw('CurrentValues', $attributeSRC); } else { echo ' '; } break; case 'dst': if ($attributeDST && count($attributeDST->getValues())) { $request['pageDST']->draw('CurrentValues', $attributeDST); } else { echo ' '; } break; } echo '
'; } echo ''; } echo '';