_, so * if I wanted to scroll to dc=example,dc=com for server 3, the URL would be: * * tree.php#3_dc%3Dexample%2Cdc%3Dcom * * @package phpLDAPadmin * @author The phpLDAPadmin development team */ /** */ require './common.php'; global $servers; // no expire header stuff header("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT"); header("Cache-Control: no-store, no-cache, must-revalidate"); header("Cache-Control: post-check=0, pre-check=0", false); header("Pragma: no-cache"); // This allows us to display large sub-trees without running out of time. @set_time_limit( 0 ); // do we not have a tree and tree icons yet? Build a new ones. initialize_session_tree(); // get the tree and tree icons. $tree = $_SESSION['tree']; $tree_icons = $_SESSION['tree_icons']; // Test to see if any have timedout. // Initialize array of recently timed out servers $recently_timed_out_servers = array(); // Set a default META REFRESH value in sec. before determining it $meta_refresh_variable = ( session_cache_expire()-1 )*60; foreach( $servers as $server_id => $server_tree ) { // $ldapserver wont be set, so we'll create it. $ldapserver = new LDAPServer($server_id,true); # Test to see if we should log out the user due to the timeout. if ( $ldapserver->haveAuthInfo() ) { // If time out value has been reached: // - log out user // - put $server_id in array of recently timed out servers if ( session_timed_out( $ldapserver ) ) array_push($recently_timed_out_servers, $server_id); } // Now recalc the new meta refresh. if ( $ldapserver->haveAuthInfo() && isset($servers[ $server_id ][ 'session_timeout' ])) { // if the timeout value is less than the previous $meta_refresh_variable value // set $meta_refresh_variable to $servers[ $server_id ][ 'session_timeout' ] if ( ($servers[ $server_id ][ 'session_timeout' ]*60) < $meta_refresh_variable ) $meta_refresh_variable = $servers[ $server_id ][ 'session_timeout' ]*60; } } // Close the session for faster page loading (we're done with session data anyway). // Unfortunately, now that we dont show a plus '+' for leafs in a tree, we need to keep // the session open, so that if we create an entry, it'll cause the refresh of the tree view. // Hope this doesnt affect performance...? // pla_session_close(); include './header.php'; ?>

phpLDAPadmin -

<?php echo $lang['home']; ?> <?php echo $lang['purge_cache']; ?>
<?php echo $lang['light']; ?> <?php echo $lang['bug']; ?>
<?php echo $lang['donate']; ?> <?php echo $lang['help']; ?>
$server_tree ) { // $ldapserver wont be set, so we'll create it. $ldapserver = new LDAPServer($server_id); if ( $ldapserver->isVisible() ) { $filename = get_custom_file( $server_id, 'tree_functions.php' ); require_once( $filename ); call_custom_function( $server_id, 'draw_server_tree' ); } } // Case where user not logged into any server if ( $meta_refresh_variable == 0 ) $meta_refresh_variable = ( session_cache_expire()-1 )*60; ?>
"; print_r( $tree ); ?> server_id,$encoded_dn); $collapse_href = sprintf("collapse.php?server_id=%s&dn=%s",$ldapserver->server_id,$encoded_dn); $edit_href = sprintf("edit.php?server_id=%s&dn=%s",$ldapserver->server_id,$encoded_dn); // should never happen, but just in case if( ! isset( $tree_icons[ $ldapserver->server_id ][ $dn ] ) ) $tree_icons[ $ldapserver->server_id ][ $dn ] = get_icon( $ldapserver, $dn ); $img_src = 'images/' . $tree_icons[ $ldapserver->server_id ][ $dn ]; $rdn = get_rdn( $dn ); echo ''; for( $i=0; $i<=$level; $i++ ) { echo '' . "\n"; } // Shall we draw the "mass-delete" checkbox? if( $ldapserver->isMassDeleteEnabled() ) { printf('',htmlspecialchars($dn)); } // is this node expanded? (deciding whether to draw "+" or "-") if( isset( $tree[$ldapserver->server_id][$dn] ) ) { ?> server_id][$dn] ) ); if ((! $child_count) && (! $ldapserver->isShowCreateEnabled())) { ?> - - isLowBandwidth() ) { $child_count = null; } else { $child_count = count( get_container_contents( $ldapserver, $dn, $limit+1, '(objectClass=*)', get_tree_deref_setting() ) ); if( $child_count > $limit ) $child_count = $limit . '+'; } if (($child_count === 0) && (! $ldapserver->isShowCreateEnabled())) { // Since we know the tree is empty, we'll create a $tree object anyway, just incase we // create something later (otherwise it doesnt cause the tree to get refreshed). $_SESSION['tree'][$ldapserver->server_id][$dn] = array(); $_SESSION['tree_icons'][$ldapserver->server_id][$dn] = get_icon( $ldapserver, $dn ); ?> - + img () server_id][$dn] ) && is_array( $tree[$ldapserver->server_id][$dn] ) ) { // Draw the "create new" link at the top of the tree list if there are more than 10 // entries in the listing for this node. if(( count( $tree[$ldapserver->server_id][$dn] ) > 10 ) && ( $ldapserver->isShowCreateEnabled() )) draw_create_link( $ldapserver->server_id, $rdn, $level, $encoded_dn ); foreach( $tree[$ldapserver->server_id][$dn] as $dn ) draw_tree_html( $dn, $ldapserver, $level+1 ); // Always draw the "create new" link at the bottom of the listing if( $ldapserver->isShowCreateEnabled() ) draw_create_link( $ldapserver->server_id, $rdn, $level, $encoded_dn ); } } /** * Print the HTML to show the "create new entry here". * * @param int $server_id * @param dn $rdn * @param int $level * @param dn $encoded_dn */ function draw_create_link( $server_id, $rdn, $level, $encoded_dn ) { global $lang; // print the "Create New object" link. $create_href = sprintf("create_form.php?server_id=%s&container=%s",$server_id,$encoded_dn); $create_html = ''; for( $i=0; $i<=$level; $i++ ) { $create_html .= ''; } $create_html .= ''; $create_html .= '' . $lang['new'] . ''; $create_html .= '' . $lang['create_new'] . ''; $create_html .= ''; echo $create_html; } ?>