50 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			PHP
		
	
	
	
			
		
		
	
	
			50 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			PHP
		
	
	
	
| <?php
 | |
| /**
 | |
|  *  Deletes an attribute from an entry with NO confirmation.
 | |
|  *
 | |
|  * @package phpLDAPadmin
 | |
|  * @subpackage Page
 | |
|  */
 | |
| 
 | |
| /**
 | |
|  */
 | |
| 
 | |
| require './common.php';
 | |
| 
 | |
| $request = array();
 | |
| $request['dn'] = get_request('dn','REQUEST',true);
 | |
| $request['attr'] = get_request('attr','REQUEST',true);
 | |
| $request['index'] = get_request('index','REQUEST',true);
 | |
| 
 | |
| if ($app['server']->isAttrReadOnly($request['attr']))
 | |
| 	error(sprintf(('The attribute "%s" is flagged as read-only in the phpLDAPadmin configuration.'),$request['attr']),'error','index.php');
 | |
| 
 | |
| $update_array = array();
 | |
| $update_array[$request['attr']] = $app['server']->getDNAttrValue($request['dn'],$request['attr']);
 | |
| 
 | |
| $redirect_url = sprintf('cmd.php?cmd=template_engine&server_id=%s&dn=%s',
 | |
| 	$app['server']->getIndex(),rawurlencode($request['dn']));
 | |
| 
 | |
| if (! isset($update_array[$request['attr']][$request['index']]))
 | |
| 	system_message(array(
 | |
| 		'title'=>_('Could not delete attribute value.'),
 | |
| 		'body'=>sprintf('%s. %s/%s',_('The attribute value does not exist'),$request['attr'],$request['index']),
 | |
| 		'type'=>'warn'),$redirect_url);
 | |
| 
 | |
| else {
 | |
| 	unset($update_array[$request['attr']][$request['index']]);
 | |
| 	foreach ($update_array as $key => $values)
 | |
| 		$update_array[$key] = array_values($values);
 | |
| 
 | |
| 	$result = $app['server']->modify($request['dn'],$update_array);
 | |
| 
 | |
| 	if ($result) {
 | |
| 		foreach ($update_array as $attr => $junk)
 | |
| 			$redirect_url .= sprintf('&modified_attrs[]=%s',$attr);
 | |
| 
 | |
| 		header("Location: $redirect_url");
 | |
| 		die();
 | |
| 	}
 | |
| }
 | |
| ?>
 |