isCommandAvailable('schema')) { $all_attrs = array('' =>1, 'dn'=>1); } else { $all_attrs = array('' =>1); } $entries_display = array(); /* Iterate over each entry and store the whole dang thing in memory (necessary to extract * all attribute names and display in table format in a single pass) */ $i=0; foreach ($results as $dn => $dndetails) { $i++; if ($i <= $start_entry) continue; if ($i >= $end_entry) break; $edit_url = sprintf('cmd.php?cmd=template_engine&server_id=%s&dn=%s',$ldapserver->server_id,rawurlencode($dn)); $attrs_display = array(); $attrs_display[''] = sprintf('
icon
',$edit_url,get_icon($ldapserver,$dn)); if ($_SESSION['plaConfig']->isCommandAvailable('schema')) { $dn_display = strlen($dn) > 40 ? sprintf('%s...',htmlspecialchars($dn),htmlspecialchars(substr($dn,0,40))) : htmlspecialchars($dn); $attrs_display['dn'] = sprintf('%s',$edit_url,$dn_display); } # Iterate over each attribute for this entry and store in associative array $attrs_display foreach ($dndetails as $attr => $values) { # Ignore DN, we've already displayed it. if ($attr == 'dn') continue; # Clean up the attr name if (isset($_SESSION['plaConfig']->friendly_attrs[strtolower($attr)])) { $attr_display = htmlspecialchars($_SESSION['plaConfig']->friendly_attrs[strtolower($attr)]); if ($_SESSION['plaConfig']->isCommandAvailable('schema')) { $attr_display = sprintf('%s', $attr, $attr_display); } } else $attr_display = htmlspecialchars($attr); if (! isset($all_attrs[$attr_display])) $all_attrs[$attr_display] = 1; # Get the values $display = ''; if ($ldapserver->isJpegPhoto($attr)) { ob_start(); draw_jpeg_photos($ldapserver,$dn,$attr,false,false,'align="center"'); if (ob_get_level()) { $display = ob_get_contents(); ob_end_clean(); } } elseif ($ldapserver->isAttrBinary($attr)) { $display = array('(binary)'); } else { if (! is_array($values)) $display .= str_replace(' ',' ',htmlspecialchars($values)).'
'; else foreach ($values as $value ) $display .= str_replace(' ',' ',htmlspecialchars($value)).'
'; } $attrs_display[$attr_display] = $display; } $entries_display[] = $attrs_display; } $all_attrs = array_keys($all_attrs); # Store the header row so it can be repeated later $header_row = ''; foreach ($all_attrs as $attr) $header_row .= sprintf('%s',$attr); $header_row .= ''; # Begin drawing table echo '
'; echo '
'; echo ''; for ($i=0;$i'; else echo ''; foreach ($all_attrs as $attr) { echo ''; } echo ''; } echo '
'; if (isset($result[$attr])) echo $result[$attr]; echo '
'; echo '
'; ?>