phpldapadmin/refresh.php

57 lines
1.5 KiB
PHP
Raw Normal View History

2009-06-30 09:22:30 +00:00
<?php
// $Header: /cvsroot/phpldapadmin/phpldapadmin/refresh.php,v 1.10 2004/08/15 17:39:20 uugdave Exp $
2009-06-30 08:05:37 +00:00
/*
* refresh.php
* This script alters the session variable 'tree', by re-querying
* the LDAP server to grab the contents of every expanded container.
*
* Variables that come in as GET vars:
* - server_id
*/
2009-06-30 09:22:30 +00:00
require './common.php';
2009-06-30 08:05:37 +00:00
$server_id = $_GET['server_id'];
if( ! check_server_id( $server_id ) || ! have_auth_info( $server_id ) )
header( "Location: tree.php" );
2009-06-30 09:22:30 +00:00
if( ! array_key_exists( 'tree', $_SESSION ) )
2009-06-30 08:05:37 +00:00
header( "Location: tree.php" );
$tree = $_SESSION['tree'];
$tree_icons = $_SESSION['tree_icons'];
// Get the icon for the base object for this server
$base_dn = $servers[ $server_id ][ 'base' ];
$tree_icons[$server_id][ $base_dn ] = get_icon( $server_id, $base_dn );
// get all the icons and container contents for all expanded entries
2009-06-30 08:09:20 +00:00
if( isset($tree[$server_id]) && is_array( $tree[$server_id] ) )
2009-06-30 08:05:37 +00:00
{
foreach( $tree[$server_id] as $dn => $children )
{
2009-06-30 09:22:30 +00:00
$tree[$server_id][$dn] = get_container_contents( $server_id, $dn, 0, '(objectClass=*)', get_tree_deref_setting() );
2009-06-30 08:09:20 +00:00
if( is_array( $tree[$server_id][$dn] ) ) {
foreach( $tree[$server_id][$dn] as $child_dn )
$tree_icons[$server_id][$child_dn] = get_icon( $server_id, $child_dn );
sort( $tree[ $server_id ][ $dn ] );
}
2009-06-30 08:05:37 +00:00
}
}
else
{
header( "Location: tree.php#$server_id" );
}
$_SESSION['tree'] = $tree;
$_SESSION['tree_icons'] = $tree_icons;
session_write_close();
header( "Location: tree.php#$server_id" );
?>