<?php // $Header: /cvsroot/phpldapadmin/phpldapadmin/htdocs/delete_form.php,v 1.25 2007/03/18 02:14:16 wurley Exp $ /** * delete_form.php * Displays a last chance confirmation form to delete a dn. * * Variables that come in via common.php * - server_id * Variables that come in as GET vars: * - dn (rawurlencoded) * * @package phpLDAPadmin */ /** */ require './common.php'; if ($ldapserver->isReadOnly()) pla_error(_('You cannot perform updates while server is in read-only mode')); if (! $ldapserver->haveAuthInfo()) pla_error(_('Not enough information to login to server. Please check your configuration.')); $dn = $_GET['dn']; $children = $ldapserver->getContainerContents($dn,0,'(objectClass=*)',LDAP_DEREF_NEVER); $has_children = count($children) > 0 ? true : false; include './header.php'; echo '<body>'; printf('<h3 class="title">'._('Delete %s').'</h3>',htmlspecialchars(get_rdn($dn))); printf('<h3 class="subtitle">%s: <b>%s</b> %s: <b>%s</b></h3>', _('Server'),$ldapserver->name,_('Distinguished Name'),htmlspecialchars($dn)); echo "\n"; echo '<center>'; if ($has_children) { printf('<b>%s</b><br /><br />',_('Permanently delete all children also?')); flush(); # get the total number of child objects (whole sub-tree) $s = $ldapserver->search(null,dn_escape($dn),'objectClass=*',array('dn')); $sub_tree_count = count($s); echo '<table class="delete_confirm">'; echo '<tr>'; echo '<td><p>'; printf(_('This entry is the root of a sub-tree containing %s entries.'),$sub_tree_count); printf('<small>(<a href="search.php?search=true&server_id=%s&filter=%s&base_dn=%s&form=advanced&scope=sub">%s</a>)</small>', $ldapserver->server_id,rawurlencode('objectClass=*'),rawurlencode($dn),_('view entries')); echo '<br /><br />'; printf(_('phpLDAPadmin can recursively delete this entry and all %s 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)); echo '<br /><br />'; printf('<small>%s</small>', _('Note: this is potentially very dangerous and you do this at your own risk. This operation cannot be undone. Take into consideration aliases, referrals, and other things that may cause problems.')); echo '<br /><br />'; echo "\n"; echo '<table width="100%">'; echo '<tr>'; echo '<td><center>'; echo '<form action="rdelete.php" method="post">'; printf('<input type="hidden" name="dn" value="%s" />',htmlspecialchars($dn)); printf('<input type="hidden" name="server_id" value="%s" />',$ldapserver->server_id); printf('<input type="submit" class="scary" value="%s" />',sprintf(_('Delete all %s objects'),$sub_tree_count)); echo '</form>'; echo '</center></td>'; echo '<td><center>'; echo '<form action="template_engine.php" method="get">'; printf('<input type="hidden" name="dn" value="%s" />',htmlspecialchars($dn)); printf('<input type="hidden" name="server_id" value="%s" />',$ldapserver->server_id); printf('<input type="submit" name="submit" value="%s" class="cancel" />',_('Cancel')); echo '</form>'; echo '</center></td>'; echo '</tr>'; echo '</table>'; echo "\n"; echo '</td>'; echo '</tr>'; echo '</table>'; echo "\n"; flush(); echo '<br /><br />'; echo _('List of entries to be deleted:'); echo '<br />'; printf('<select size="%s" multiple disabled style="background:white; color:black;width:500px" >',min(10,$sub_tree_count)); $i=0; foreach ($s as $dn => $junk) { $i++; printf('<option>%s. %s</option>',$i,htmlspecialchars(dn_unescape($dn))); } echo '</select>'; echo "\n"; } else { echo '<table class="delete_confirm">'; echo '<tr>'; echo '<td nowrap>'; echo _('Are you sure you want to permanently delete this object?'); echo '<br /><br />'; printf('<acronym title="%s">%s</acronym>: <b>%s</b>',_('Distinguished Name'),_('DN'),pretty_print_dn($dn)); echo '<br />'; printf('%s: <b>%s</b>',_('Server'),htmlspecialchars($ldapserver->name)); echo '<br /><br />'; echo "\n"; echo '<table width="100%">'; echo '<tr>'; echo '<td><center>'; echo '<form action="delete.php" method="post">'; printf('<input type="hidden" name="dn" value="%s" />',htmlspecialchars($dn)); printf('<input type="hidden" name="server_id" value="%s" />',$ldapserver->server_id); printf('<input type="submit" name="submit" value="%s" class="scary" />',_('Delete')); echo '</form>'; echo '</center></td>'; echo '<td><center>'; echo '<form action="template_engine.php" method="get">'; printf('<input type="hidden" name="dn" value="%s" />',htmlspecialchars($dn)); printf('<input type="hidden" name="server_id" value="%s" />',$ldapserver->server_id); printf('<input type="submit" name="submit" value="%s" class="cancel" />',_('Cancel')); echo '</form>'; echo '</center></td>'; echo '</tr>'; echo '</table>'; echo "\n"; echo '</td>'; echo '</tr>'; echo '</table>'; echo "\n"; } echo '</center>'; echo '<br />'; echo '</body>'; echo '</html>'; ?>