function pla_rdelete($ldapserver, $dn) { $children = $ldapserver->getContainerContents($dn); if (!is_array($children) || count($children) == 0) { printf('<nobr>' . _('Deleting %s') . '...', htmlspecialchars($dn)); flush(); if (run_hook('pre_entry_delete', array('server_id' => $ldapserver->server_id, 'dn' => $dn))) { if ($ldapserver->delete($dn)) { run_hook('post_entry_delete', array('server_id' => $ldapserver->server_id, 'dn' => $dn)); printf(' <span style="color:green">%s</span></nobr><br />', _('Success')); return true; } else { pla_error(sprintf(_('Failed to delete entry %s'), htmlspecialchars($dn)), $ldapserver->error(), $ldapserver->errno()); } } } else { foreach ($children as $child_dn) { pla_rdelete($ldapserver, $child_dn); } printf('<nobr>' . _('Deleting %s') . '...', htmlspecialchars($dn)); flush(); if (run_hook('pre_entry_delete', array('server_id' => $ldapserver->server_id, 'dn' => $dn))) { if ($ldapserver->delete($dn)) { run_hook('post_entry_delete', array('server_id' => $ldapserver->server_id, 'dn' => $dn)); printf(' <span style="color:green">%s</span></nobr><br />', _('Success')); return true; } else { pla_error(sprintf(_('Failed to delete entry %s'), htmlspecialchars($dn)), $ldapserver->error(), $ldapserver->errno()); } } } }
function pla_rdelete($server, $dn) { # We delete all children, not only the visible children in the tree $children = $server->getContainerContents($dn, null, 0, '(objectClass=*)', LDAP_DEREF_NEVER); if (!is_array($children) || count($children) == 0) { printf('<span style="white-space: nowrap;">%s %s...', _('Deleting'), $dn); if ($server->delete($dn)) { printf(' <span style="color:green">%s</span></span><br />', _('Success')); return true; } else { system_message(array('title' => _('Could not delete the entry.') . sprintf(' (%s)', pretty_print_dn($dn)), 'body' => ldap_error_msg($server->getErrorMessage(null), $server->getErrorNum(null)), 'type' => 'error')); } } else { foreach ($children as $child_dn) { pla_rdelete($server, $child_dn); } printf('<span style="white-space: nowrap;">%s %s...', _('Deleting'), $dn); if ($server->delete($dn)) { printf(' <span style="color:green">%s</span></span><br />', _('Success')); return true; } else { system_message(array('title' => _('Could not delete the entry.') . sprintf(' (%s)', pretty_print_dn($dn)), 'body' => ldap_error_msg($server->getErrorMessage(null), $server->getErrorNum(null)), 'type' => 'error')); } } }
function pla_rdelete($server_id, $dn) { $children = get_container_contents($server_id, $dn); global $ds; $ds = pla_ldap_connect($server_id); if (!is_array($children) || count($children) == 0) { echo "<nobr>Deleting " . htmlspecialchars($dn) . "..."; flush(); if (ldap_delete($ds, $dn)) { echo " <span style=\"color:green\">Success</span></nobr><br />\n"; return true; } else { pla_error("Failed to delete dn: " . htmlspecialchars(utf8_decode($dn)), ldap_error($ds), ldap_errno($ds)); } } else { foreach ($children as $child_dn) { pla_rdelete($server_id, $child_dn); } echo "<nobr>Deleting " . htmlspecialchars($dn) . "..."; flush(); if (ldap_delete($ds, $dn)) { echo " <span style=\"color:green\">Success</span></nobr><br />\n"; return true; } else { pla_errror("Failed to delete dn: " . htmlspecialchars(utf8_decode($dn)), ldap_error($ds), ldap_errno($ds)); } } }