diff --git a/lam/templates/ou_edit.php b/lam/templates/ou_edit.php
index 8c1ac3d6..b951c56c 100644
--- a/lam/templates/ou_edit.php
+++ b/lam/templates/ou_edit.php
@@ -230,6 +230,71 @@ if ($_POST['submit']) {
}
}
+ // domain operations
+ // new domain ou
+ if ($_POST['type'] == "new_dom") {
+ // create ou if valid
+ if (eregi("^[a-z0-9_\\-]+$", $_POST['newsuff_d'])) {
+ // check if ou already exists
+ $new_dn = "ou=" . $_POST['newsuff_d'] . "," . $_POST['domsuff_n'];
+ if (!in_array(strtolower($new_dn), $_SESSION['ldap']->search_units($_POST['domsuff_n']))) {
+ // add new ou
+ $ou = array();
+ $ou['objectClass'] = "organizationalunit";
+ $ou['ou'] = $_POST['newsuff_d'];
+ $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['newsuff_d'];
+ }
+ }
+ // delete ou, user was sure
+ elseif (($_POST['type'] == "del_dom") && ($_POST['sure'])) {
+ $ret = @ldap_delete($_SESSION['ldap']->server(), $_POST['domsuff_d']);
+ if ($ret) {
+ $message = _("OU deleted successfully.");
+ }
+ else {
+ $error = _("Unable to delete OU!");
+ }
+ }
+ // do not delete ou
+ elseif (($_POST['type'] == "del_dom") && ($_POST['abort'])) {
+ display_main();
+ exit;
+ }
+ // ask if user is sure to delete
+ elseif ($_POST['type'] == "del_dom") {
+ // check for sub entries
+ $sr = @ldap_list($_SESSION['ldap']->server(), $_POST['domsuff_d'], "ObjectClass=*", array(""));
+ $info = @ldap_get_entries($_SESSION['ldap']->server(), $sr);
+ if ($sr && $info['count'] == 0) {
+ $text = "
\n" .
+ "
" . _("Do you really want to delete this OU?") . " " . "\n" .
+ "
\n
" . $_POST['domsuff_d'] . "
\n" . + "