get_ActiveTypes();
// check if deletion was canceled
if (isset($_POST['abort'])) {
display_main();
exit;
}
$error = null;
$message = null;
// check if submit button was pressed
if (isset($_POST['createOU']) || isset($_POST['deleteOU'])) {
// new ou
if (isset($_POST['createOU'])) {
// create ou if valid
if (preg_match("/^[a-z0-9 _\\-]+$/i", $_POST['newOU'])) {
// check if ou already exists
$new_dn = "ou=" . $_POST['newOU'] . "," . $_POST['parentOU'];
if (!in_array($new_dn, $_SESSION['ldap']->search_units($_POST['parentOU']))) {
// add new ou
$ou = array();
$ou['objectClass'] = "organizationalunit";
$ou['ou'] = $_POST['newOU'];
$ret = @ldap_add($_SESSION['ldap']->server(), $new_dn, $ou);
if ($ret) {
$message = _("New OU created successfully.");
}
else {
$error = _("Unable to create new OU!");
}
}
else $error = _("OU already exists!");
}
// show errormessage if ou is invalid
else {
$error = _("OU is invalid!") . "
" . $_POST['newOU'];
}
}
// delete ou, user was sure
elseif (isset($_POST['deleteOU']) && isset($_POST['sure'])) {
$ret = @ldap_delete($_SESSION['ldap']->server(), $_POST['deletename']);
if ($ret) {
$message = _("OU deleted successfully.");
}
else {
$error = _("Unable to delete OU!");
}
}
// ask if user is sure to delete
elseif (isset($_POST['deleteOU'])) {
// check for sub entries
$sr = @ldap_list($_SESSION['ldap']->server(), $_POST['deleteableOU'], "ObjectClass=*", array(""));
$info = @ldap_get_entries($_SESSION['ldap']->server(), $sr);
if ($sr && $info['count'] == 0) {
// print header
include 'main_header.php';
echo "
\n" .
"
" . _("Do you really want to delete this OU?") . " " . "\n" .
"
\n
" . getAbstractDN($_POST['deleteableOU']) . "
\n" . "