Esempio n. 1
0
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());
            }
        }
    }
}
Esempio n. 2
0
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));
        }
    }
}