2011-06-26 10:44:28 +00:00
< ? 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' ]))
2018-03-12 18:08:39 +00:00
error ( sprintf (( 'The attribute "%s" is flagged as read-only in the phpLDAPadmin configuration.' ), htmlspecialchars ( $request [ 'attr' ])), 'error' , 'index.php' );
2011-06-26 10:44:28 +00:00
$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 ();
}
}
?>