File: refresh.php

package info (click to toggle)
phpldapadmin 0.9.5-3sarge3
  • links: PTS
  • area: main
  • in suites: sarge
  • size: 3,052 kB
  • ctags: 2,526
  • sloc: php: 21,258; sh: 262; makefile: 132; xml: 42
file content (56 lines) | stat: -rw-r--r-- 1,526 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
<?php
// $Header: /cvsroot/phpldapadmin/phpldapadmin/refresh.php,v 1.10 2004/08/15 17:39:20 uugdave Exp $
 

/*
 * 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
 */

require './common.php';

$server_id = $_GET['server_id'];

if( ! check_server_id( $server_id ) || ! have_auth_info( $server_id ) )
	header( "Location: tree.php" );

if( ! array_key_exists( 'tree', $_SESSION ) )
	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
if( isset($tree[$server_id]) && is_array( $tree[$server_id] ) ) 
{
	foreach( $tree[$server_id] as $dn => $children )
	{
		$tree[$server_id][$dn] = get_container_contents( $server_id, $dn, 0, '(objectClass=*)', get_tree_deref_setting() );
		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 ] );	
		}
	}
}
else
{
	header( "Location: tree.php#$server_id" );
}

$_SESSION['tree'] = $tree;
$_SESSION['tree_icons'] = $tree_icons;
session_write_close();

header( "Location: tree.php#$server_id" );


?>