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();
 | |
| ?>
 |