185 lines
		
	
	
		
			4.7 KiB
		
	
	
	
		
			PHP
		
	
	
	
			
		
		
	
	
			185 lines
		
	
	
		
			4.7 KiB
		
	
	
	
		
			PHP
		
	
	
	
<?php
 | 
						|
/*
 | 
						|
$Id$
 | 
						|
 | 
						|
  This code is part of LDAP Account Manager (http://www.sourceforge.net/projects/lam)
 | 
						|
  
 | 
						|
  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>
 |