185 lines
4.7 KiB
PHP
185 lines
4.7 KiB
PHP
<?php
|
|
/*
|
|
$Id$
|
|
|
|
This code is part of LDAP Account Manager (http://www.ldap-account-manager.org/)
|
|
|
|
This code is based on phpLDAPadmin.
|
|
Copyright (C) 2004 David Smith and phpLDAPadmin developers
|
|
|
|
The original code was modified to fit for LDAP Account Manager by Roland Gruber.
|
|
Copyright (C) 2005 Roland Gruber
|
|
|
|
This program is free software; you can redistribute it and/or modify
|
|
it under the terms of the GNU General Public License as published by
|
|
the Free Software Foundation; either version 2 of the License, or
|
|
(at your option) any later version.
|
|
|
|
This program is distributed in the hope that it will be useful,
|
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
GNU General Public License for more details.
|
|
|
|
You should have received a copy of the GNU General Public License
|
|
along with this program; if not, write to the Free Software
|
|
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
|
|
|
|
|
*/
|
|
|
|
|
|
/**
|
|
* Displays a last chance confirmation form to delete a dn.
|
|
*
|
|
* Variables that come in as GET vars:
|
|
* - dn (rawurlencoded)
|
|
*
|
|
* @package lists
|
|
* @subpackage tree
|
|
* @author David Smith
|
|
* @author Roland Gruber
|
|
*/
|
|
|
|
/** security functions */
|
|
include_once('../../lib/security.inc');
|
|
/** tree functions */
|
|
include_once('../../lib/tree.inc');
|
|
/** access to configuration */
|
|
include_once('../../lib/config.inc');
|
|
/** LDAP functions */
|
|
include_once('../../lib/ldap.inc');
|
|
/** status messages */
|
|
include_once('../../lib/status.inc');
|
|
|
|
// start session
|
|
startSecureSession();
|
|
|
|
setlanguage();
|
|
|
|
$dn = $_GET['dn'];
|
|
$encoded_dn = rawurlencode( $dn );
|
|
$rdn = pla_explode_dn( $dn );
|
|
$rdn = $rdn[0];
|
|
|
|
$children = get_container_contents( $dn,0,'(objectClass=*)',LDAP_DEREF_NEVER );
|
|
$has_children = count($children)>0 ? true : false;
|
|
|
|
echo $_SESSION['header'];
|
|
|
|
echo "<title>LDAP Account Manager</title>\n";
|
|
echo "<link rel=\"stylesheet\" type=\"text/css\" href=\"../../style/layout.css\">\n";
|
|
echo "</head>\n";
|
|
?>
|
|
|
|
<body>
|
|
|
|
<h3 class="tree_title"><?php echo sprintf( _('Delete %s'), htmlspecialchars( $rdn ) ); ?></b></h3>
|
|
<h3 class="tree_subtitle"><?php echo _('DN'); ?>: <b><?php echo htmlspecialchars( ( $dn ) ); ?></b></h3>
|
|
|
|
<?php if( $has_children ) { ?>
|
|
|
|
<center><b><?php echo _('Permanently delete all children, too?'); ?></b><br /><br />
|
|
|
|
<?php
|
|
flush(); // so the user can get something on their screen while we figure out how many children this object has
|
|
if( $has_children ) {
|
|
// get the total number of child objects (whole sub-tree)
|
|
$s = pla_ldap_search( 'objectClass=*', $dn, array('dn'), 'sub' );
|
|
$sub_tree_count = count( $s );
|
|
}
|
|
?>
|
|
|
|
<table class="tree_delete_confirm">
|
|
<td>
|
|
|
|
<p>
|
|
<?php echo sprintf( _('This entry is the root of a sub-tree containing %s entries.'), $sub_tree_count ); ?>
|
|
<br />
|
|
<br />
|
|
|
|
<?php echo sprintf( _('LAM can recursively delete this entry and all of its children. See below for a list of all the entries that this action will delete. Do you want to do this?'), ($sub_tree_count-1) ); ?><br />
|
|
<br />
|
|
|
|
<br />
|
|
<br />
|
|
<table width="100%">
|
|
<tr>
|
|
<td>
|
|
<center>
|
|
<form action="rdelete.php" method="post">
|
|
<input type="hidden" name="dn" value="<?php echo $dn; ?>" />
|
|
<input type="submit" value="<?php echo sprintf( _('Delete all %s objects'), $sub_tree_count ); ?>" />
|
|
</form>
|
|
</td>
|
|
|
|
<td>
|
|
<center>
|
|
<form action="edit.php" method="get">
|
|
<input type="hidden" name="dn" value="<?php echo htmlspecialchars($dn); ?>" />
|
|
<input type="submit" name="submit" value="<?php echo _('Cancel'); ?>"/>
|
|
</form>
|
|
</center>
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
</table>
|
|
<?php flush(); ?>
|
|
<br />
|
|
<br />
|
|
<?php echo _('List of entries to be deleted:'); ?><br />
|
|
<select size="<?php echo min( 10, $sub_tree_count );?>" multiple disabled style="background:white; color:black;width:500px" >
|
|
<?php $i=0; ?>
|
|
<?php foreach( $s as $dn => $junk ) { ?>
|
|
<?php $i++; ?>
|
|
<option><?php echo $i; ?>. <?php echo htmlspecialchars( ( $dn ) ); ?></option>
|
|
<?php } ?>
|
|
|
|
</select>
|
|
|
|
<br />
|
|
|
|
<?php } else { ?>
|
|
|
|
<center>
|
|
|
|
<table class="tree_delete_confirm">
|
|
<td>
|
|
|
|
<?php echo _('Are you sure you want to permanently delete this object?'); ?><br />
|
|
<br />
|
|
<nobr><acronym><?php echo _('DN'); ?></acronym>: <b><?php echo pretty_print_dn( $dn ); ?></b><nobr><br />
|
|
<br />
|
|
<table width="100%">
|
|
<tr>
|
|
<td>
|
|
<center>
|
|
<form action="delete.php" method="post">
|
|
<input type="hidden" name="dn" value="<?php echo htmlspecialchars($dn); ?>" />
|
|
<input type="submit" name="submit" value="<?php echo _('Delete'); ?>"/>
|
|
</center>
|
|
</form>
|
|
</td>
|
|
|
|
<td>
|
|
<center>
|
|
<form action="edit.php" method="get">
|
|
<input type="hidden" name="dn" value="<?php echo $dn; ?>" />
|
|
<input type="submit" name="submit" value="<?php echo _('Cancel'); ?>"/>
|
|
</form>
|
|
</center>
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
|
|
</td>
|
|
</table>
|
|
|
|
</center>
|
|
|
|
<?php } ?>
|
|
|
|
</body>
|
|
|
|
</html>
|