62 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			PHP
		
	
	
	
			
		
		
	
	
			62 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			PHP
		
	
	
	
<?php
 | 
						|
/**
 | 
						|
 * Draw a portion of the LDAP tree.
 | 
						|
 *
 | 
						|
 * @package phpLDAPadmin
 | 
						|
 * @subpackage Tree
 | 
						|
 */
 | 
						|
 | 
						|
/**
 | 
						|
 */
 | 
						|
 | 
						|
$request = array();
 | 
						|
$request['dn'] = get_request('dn','REQUEST');
 | 
						|
$request['server_id'] = get_request('server_id','REQUEST');
 | 
						|
$request['code'] = get_request('code','REQUEST');
 | 
						|
$request['action'] = get_request('action','REQUEST');
 | 
						|
$request['noheader'] = get_request('noheader','REQUEST',false,0);
 | 
						|
 | 
						|
$tree = Tree::getInstance($request['server_id']);
 | 
						|
if (! $tree)
 | 
						|
	die();
 | 
						|
 | 
						|
$treesave = false;
 | 
						|
 | 
						|
if ($request['dn']) {
 | 
						|
	$dnentry = $tree->getEntry($request['dn']);
 | 
						|
 | 
						|
	if (! $dnentry) {
 | 
						|
		$tree->addEntry($request['dn']);
 | 
						|
		$dnentry = $tree->getEntry($request['dn']);
 | 
						|
		$treesave = true;
 | 
						|
	}
 | 
						|
 | 
						|
	switch ($request['action']) {
 | 
						|
		case 0:
 | 
						|
			$dnentry->close();
 | 
						|
 | 
						|
			break;
 | 
						|
 | 
						|
		case 2:
 | 
						|
		default:
 | 
						|
			if ($dnentry->isSizeLimited()) {
 | 
						|
				$tree->readChildren($request['dn'],true);
 | 
						|
 | 
						|
				$treesave = true;
 | 
						|
			}
 | 
						|
 | 
						|
			$dnentry->open();
 | 
						|
	}
 | 
						|
}
 | 
						|
 | 
						|
if ($treesave)
 | 
						|
	set_cached_item($app['server']->getIndex(),'tree','null',$tree);
 | 
						|
 | 
						|
if ($request['dn'])
 | 
						|
	echo $tree->draw_children($dnentry,$request['code']);
 | 
						|
else
 | 
						|
	$tree->draw($request['noheader']);
 | 
						|
 | 
						|
die();
 | 
						|
?>
 |