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" . + "
\n" . + "
\n" . + "\n" . + "\n" . + "\n" . + "\n" . + "\n" . + "
"; + } + else { + $error = _("OU is not empty or invalid!"); + } + } + // print header echo $_SESSION['header']; echo ("\n"); @@ -261,6 +326,7 @@ function display_main() { $usr_units = $_SESSION['ldap']->search_units($_SESSION["config"]->get_UserSuffix()); $grp_units = $_SESSION['ldap']->search_units($_SESSION["config"]->get_GroupSuffix()); $hst_units = $_SESSION['ldap']->search_units($_SESSION["config"]->get_HostSuffix()); + $dom_units = $_SESSION['ldap']->search_units($_SESSION["config"]->get_DomainSuffix()); // display main page echo $_SESSION['header']; @@ -371,6 +437,41 @@ function display_main() { echo ("\n"); echo ("
\n"); + // domain OUs + if ($_SESSION['config']->get_samba3() == "yes") { + echo ("
" . _("Domains") . "\n"); + echo ("\n"); + // new OU + echo ("\n"); + echo ("\n"); + echo ("\n"); + echo ("\n"); + echo ("\n"); + echo ("\n"); + echo ("\n"); + // delete OU + echo ("\n"); + echo ("\n"); + echo ("\n"); + echo ("\n"); + echo ("\n"); + echo ("\n"); + echo ("\n"); + echo ("
\n"); + echo ("" . _("New organizational unit") . " ". _("Help") ."
\n"); + echo (" " . _("Delete organizational unit") . " ". _("Help") ."
\n"); + echo ("
\n"); + echo ("
\n"); + } + echo (""); echo ("\n"); echo ("\n");