';
$server_info_list =array();
foreach( $servers as $id => $server ) {
$base_dn = $server['base'] ? $server['base'] : try_to_get_root_dn( $id );
$server_info_list[$id]['id'] = $id;
$server_info_list[$id]['name'] = $server['name'];
$server_info_list[$id]['base_dn'] = $base_dn;
if( $server['host'] ) {
$server_menu_html .= '';
}
}
$server_menu_html .= '';
$filter = isset( $_GET['filter'] ) ? $_GET['filter'] : null;
$filter = $filter;
$attr = isset( $_GET['attribute'] ) ? $_GET['attribute'] : null;
// grab the base dn for the search
if( isset( $_GET['base_dn'] ) )
$base_dn = $_GET['base_dn'];
elseif( '' != $servers[$server_id]['base'] )
$base_dn = $servers[$server_id]['base'];
else
$base_dn = try_to_get_root_dn( $server_id );
$criterion = isset( $_GET['criterion'] ) ? $_GET['criterion'] : null;
$form = isset( $_GET['form'] ) ? $_GET['form'] : null;
$scope = isset( $_GET['scope'] ) ? $_GET['scope'] : 'sub';
include 'header.php'; ?>
.
" . $lang['searching'] . "\n";
flush();
// prevent script from bailing early on a long delete
@set_time_limit( 0 );
// grab the size limit set in config.php
$size_limit = isset ( $search_result_size_limit ) && is_numeric( $search_result_size_limit ) ?
$search_result_size_limit :
50;
// Sanity check
if( $size_limit < 1 )
$size_limit = 1;
$page = isset( $_GET['page'] ) ? $_GET['page'] : 0;
$time_start = utime();
if( $scope == 'base' )
$results = @ldap_read( $ds, $base_dn, $filter, $search_result_attributes,
0, 0, 0, get_search_deref_setting() );
elseif( $scope == 'one' )
$results = @ldap_list( $ds, $base_dn, $filter, $search_result_attributes,
0, 0, 0, get_search_deref_setting() );
else // scope == 'sub'
$results = @ldap_search( $ds, $base_dn, $filter, $search_result_attributes,
0, 0, 0, get_search_deref_setting() );
$errno = @ldap_errno( $ds );
if( ! $results ) {
pla_error( $lang['error_performing_search'], ldap_error( $ds ), ldap_errno( $ds ) );
}
$time_end = utime();
$time_elapsed = round( $time_end - $time_start, 2 );
$count = @ldap_count_entries( $ds, $results );
$start_entry = $page * $size_limit;
$end_entry = min( $start_entry + $size_limit + 1, $count+1 );
?>
' . number_format( $count ) ?>
( ).
" . $lang['size_limit_exceeded'] . "
\n";
}
?>
$size_limit ) {
echo sprintf( $lang['showing_results_x_through_y'], "" . number_format($start_entry+1) . "", "" . number_format($end_entry-1) . "" ) . "
\n";
$php_self = $_SERVER['PHP_SELF'];
if( $page != 0 ) {
$query_string = array_to_query_string( $_GET, array( 'page' ) );
$query_string .= '&page=' . ($page-1);
$pager_html .= "‹‹";
} else {
$pager_html .= "‹‹";
}
$pager_html .= ' ';
// for large search results where we page beyone the first 20 pages,
// print elipsis instead of making the pager be super wide.
$elipsis_printed = false;
for( $i=0; $i<$count; $i+=$size_limit ) {
$page_num = $i/$size_limit;
if( $count > $size_limit * 20 && abs( $page_num - $page ) > 10 ) {
if( ! $elipsis_printed ) {
$pager_html .= '... ';
$elipsis_printed = true;
}
} else if( $page == $page_num ) {
$pager_html .= ($page_num + 1);
$pager_html .= ' ';
$elipsis_printed = false;
} else {
$query_string = array_to_query_string( $_GET, array( 'page' ) );
$query_string .= '&page=' . $page_num;
$pager_html .= "" . ($page_num+1) . "";
$pager_html .= ' ';
$elipsis_printed = false;
}
}
if( $page+1 < ( $count / $size_limit ) ) {
$query_string = array_to_query_string( $_GET, array( 'page' ) );
$query_string .= '&page=' . ($page+1);
$pager_html .= "››";
} else {
$pager_html .= "››";
}
}
echo $pager_html;
// Done drawing pager
?>
= $end_entry )
break;
$dn = ldap_get_dn( $ds, $entry_id );
$encoded_dn = rawurlencode( $dn );
$rdn = get_rdn( $dn );
?>
dn | ";
echo "" . htmlspecialchars($dn) . " | \n";
// Iterate over each attribute for this entry
while( $attr ) {
if( is_attr_binary( $server_id, $attr ) )
$values = array( "(binary)" );
else
$values = ldap_get_values( $ds, $entry_id, $attr );
if( isset( $values['count'] ) )
unset( $values['count'] );
if( isset( $friendly_attrs[ strtolower( $attr ) ] ) )
$attr = "" .
htmlspecialchars( $friendly_attrs[ strtolower($attr) ] ) .
"";
else
$attr = htmlspecialchars( $attr );
?>
|
\n";
?>
|
';
echo '';
echo $pager_html;
echo '';
?>
.