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