<?php include '../standard_header.inc.php'; $pxeDN = $_POST['dn']; $oldpxecn = $_POST['name']; $mnr = $_POST['mnr']; $sbmnr = $_POST['sbmnr']; $mcnr = $_POST['mcnr']; $seconds = 1; $url = $_POST['successurl']; echo " \n<html>\n<head>\n\t<title>Computers Management</title>\n\t<link rel='stylesheet' href='../styles.css' type='text/css'>\n</head>\n<body>\n<table border='0' cellpadding='30' cellspacing='0'> \n<tr><td>"; if ($pxeDN != "") { if (dive_into_tree_del($pxeDN, "")) { $mesg = "PXE Boot Menü <b>" . $pxecn . "</b> erfolgreich gelöscht!<br><br>"; } else { $mesg = "Fehler beim löschen des PXE Boot Menüs <b>" . $pxecn . "</b> !<br><br>"; } } $mesg .= "<br>Sie werden automatisch auf die vorherige Seite zurückgeleitet. <br>\t\t\t\t\n\t\t\tFalls nicht, klicken Sie hier <a href=" . $url . " style='publink'>back</a>"; redirect($seconds, $url, $mesg, $addSessionId = TRUE); echo "</td></tr></table></body>\n</html>";
function delete_dhcppool($poolDN) { global $ds, $suffix, $auDN, $ldapError; $exppooldn = ldap_explode_dn($poolDN, 0); $exppooldn = array_slice($exppooldn, 3); $poolaudn = implode(',', $exppooldn); echo "Pool-AUDN: {$poolaudn}<br>"; $ranges_array = get_dhcp_range2($poolDN); if (count($ranges_array) != 0) { if (count($ranges_array) > 1) { foreach ($ranges_array as $range) { $new_fipbs['FreeIPBlock'][] = $range; } } else { $new_fipbs['FreeIPBlock'] = $ranges_array[0]; } } #echo "Ranges: "; print_r($ranges_array); echo "<br>"; #echo "FIPBS: "; print_r($new_fipbs); echo "<br>"; if (dive_into_tree_del($poolDN, "")) { if (ldap_mod_add($ds, $poolaudn, $new_fipbs)) { merge_ipranges($poolaudn); return 1; } } else { echo "Fehler beim löschen des Pool-Objekts"; return 0; } }
<?php include '../standard_header.inc.php'; $gbmDN = $_POST['dn']; $gbmcn = $_POST['name']; $seconds = 1; $url = "gbm_overview.php?"; echo " \n<html> \n<head>\n\t<title>Computers Management</title>\n\t<link rel='stylesheet' href='../styles.css' type='text/css'>\n</head>\n<body>\n<table border='0' cellpadding='30' cellspacing='0'> \n<tr><td>"; if ($gbmDN != "") { clean_up_del_gbm($gbmDN); if (dive_into_tree_del($gbmDN, "")) { clean_up_del_gbm($gbmDN); $mesg = "Generisches Bootmenü <b>" . $gbmcn . "</b> erfolgreich gelöscht!<br><br>"; } else { $mesg = "Fehler beim löschen des Generischen Bootmenüs <b>" . $gbmcn . "</b> !<br><br>"; } } $mesg .= "<br>Sie werden automatisch auf die vorherige Seite zurückgeleitet. <br>\t\t\t\t\n\t\t\tFalls nicht, klicken Sie hier <a href=" . $url . " style='publink'>back</a>"; redirect($seconds, $url, $mesg, $addSessionId = TRUE); echo "</td></tr></table></body>\n</html>";
<?php include '../standard_header.inc.php'; $dhcpDN = $_POST['dn']; $dhcpcn = $_POST['name']; $seconds = 2; $url = "dhcpservice.php?mnr=1"; echo "\n<html>\n<head>\n\t<title>Computers Management</title>\n\t<link rel='stylesheet' href='../styles.css' type='text/css'>\n</head>\n<body>\n<table border='0' cellpadding='30' cellspacing='0'> \n<tr><td>"; if ($dhcpDN != "") { if (dive_into_tree_del($dhcpDN, "")) { cleanup_del_dhcpservice($dhcpDN); $mesg = "DHCP Service <b>" . $dhcpcn . "</b> erfolgreich gelöscht!<br><br>"; } else { $mesg = "Fehler beim löschen des DHCP Services <b>" . $dhcpcn . "</b> !<br><br>"; } } $mesg .= "<br>Sie werden automatisch auf die vorherige Seite zurückgeleitet. <br>\t\t\t\t\n\t\t\tFalls nicht, klicken Sie hier <a href=" . $url . " style='publink'>back</a>"; redirect($seconds, $url, $mesg, $addSessionId = TRUE); echo "</td></tr></table></body>\n</html>";
<?php include '../standard_header.inc.php'; $rbsDN = $_POST['dn']; $rbscn = $_POST['name']; $seconds = 100; $url = 'rbs.php'; echo " \n<html>\n<head>\n\t<title>Computers Management</title>\n\t<link rel='stylesheet' href='../styles.css' type='text/css'>\n</head>\n<body>\n<table border='0' cellpadding='30' cellspacing='0'> \n<tr><td>"; if ($rbsDN != "") { if (dive_into_tree_del($rbsDN, "")) { clean_up_del_rbs($rbsDN); $mesg = "Remote Boot Service <b>" . $rbscn . "</b> erfolgreich gelöscht!<br><br>"; } else { $mesg = "Fehler beim löschen des Remote Boot Services <b>" . $rbscn . "</b> !<br><br>"; } } $mesg .= "<br>Sie werden automatisch auf die vorherige Seite zurückgeleitet. <br>\t\t\t\t\n\t\t\tFalls nicht, klicken Sie hier <a href=" . $url . " style='publink'>back</a>"; redirect($seconds, $url, $mesg, $addSessionId = TRUE); echo "</td></tr></table></body>\n</html>";
function delete_group($groupDN) { global $ds, $suffix, $auDN, $ldapError; if (dive_into_tree_del($groupDN, "")) { # alle DN Objekte in denen Gruppe stand ebenfalls löschen # DHCP ... noch todo return 1; } else { return 0; } }
function delete_child_domain($oldchilddomain, $assocdom, $childDN, $domDN, $delmodus) { global $ds, $suffix, $domprefix, $domsuffix, $ldapError; #print_r($domDN); echo "<br>"; # dcDNold $dcDNold = "ou=DNS," . $suffix; $dcold_array = explode('.', $oldchilddomain); $dcold_array = array_reverse($dcold_array); foreach ($dcold_array as $dc) { $dcDNold = "dc=" . $dc . "," . $dcDNold; } #print_r($dcDNold); echo "<br>"; # dcDNnew = domDN if ($delmodus == "integrate") { # associatedNames zu neuem dc-Knoten hinzufügen $assocnames = get_dc_data($dcDNold, array("associatedname")); # funkt nicht bei uni-freiburg.de # echo "<br>"; print_r($assocnames); echo "<br>"; if (count($assocnames['associatedname']) > 1) { foreach ($assocnames['associatedname'] as $aname) { #print_r($aname); echo "<br>"; $entryAN['associatedname'][] = $aname; } } else { $entryAN['associatedname'] = $assocnames['associatedname']; $assocname = $assocnames['associatedname']; $assocnames['associatedname'] = array($assocname); } #print_r($entryAN); echo "<br>"; $resultAN = ldap_mod_add($ds, $domDN, $entryAN); if ($resultAN) { # DNS Einträge verschieben und an neue Domain anpassen $zone_entries = get_zone_entries($dcDNold, array("dn", "relativedomainname")); #echo "<br>"; print_r($zone_entries); echo "<br>"; if (count($zone_entries) >= 1) { foreach ($zone_entries as $ze) { #print_r($ze['relativedomainname']); echo "<br>"; #print_r($domDN); echo "<br>"; move_subtree($ze['dn'], "relativedomainname=" . $ze['relativedomainname'] . "," . $domDN); $entryZE['zonename'] = $assocdom; print_r($entryZE); echo "<br>"; $resultZE = ldap_mod_replace($ds, "relativedomainname=" . $ze['relativedomainname'] . "," . $domDN, $entryZE); } } # Rollenmembers kopieren für jeden associatedName (ohne Duplikate zu generieren) $newdom_roles = get_roles_dns($domDN); #print_r($newdom_roles); echo "<br>"; if (count($newdom_roles['MainAdmin']) != 0) { $newmainadmins = $newdom_roles['MainAdmin']; } else { $newmainadmins = array(); } if (count($newdom_roles['HostAdmin']) != 0) { $newhostadmins = $newdom_roles['HostAdmin']; } else { $newhostadmins = array(); } if (count($newdom_roles['ZoneAdmin']) != 0) { $newzoneadmins = $newdom_roles['ZoneAdmin']; } else { $newzoneadmins = array(); } #print_r($newmainadmins); echo "<br>"; #print_r($newhostadmins); echo "<br>"; #print_r($newzoneadmins); echo "<br><br>"; foreach ($assocnames['associatedname'] as $aname) { #echo "_________________________________________<br>"; #print_r($aname); echo "<br>"; $roles = get_roles($aname); #print_r($roles); echo "<br>"; $mainadmins = $roles['MainAdmin']; #print_r($mainadmins); echo "<br>"; #print_r($newmainadmins); echo "<br>"; $mainadmins = array_diff($mainadmins, $newmainadmins); $mainadmins = array_merge($newmainadmins, $mainadmins); #print_r($mainadmins); echo "<br>"; if (count($mainadmins) > 1) { for ($i = 0; $i < count($mainadmins); $i++) { $entryRoleMain['member'][$i] = $mainadmins[$i]; } } else { $entryRoleMain['member'] = $mainadmins[0]; } #print_r($entryRoleMain); echo "<br><br>"; $resultMA = ldap_mod_replace($ds, "cn=MainAdmin,cn=roles," . $domDN, $entryRoleMain); if (count($roles['HostAdmin']) != 0) { $hostadmins = $roles['HostAdmin']; #print_r($hostadmins); echo "<br>"; #print_r($newhostadmins); echo "<br>"; $hostadmins = array_diff($hostadmins, $newhostadmins); $hostadmins = array_merge($newhostadmins, $hostadmins); #print_r($hostadmins); echo "<br>"; if (count($hostadmins) > 1) { for ($i = 0; $i < count($hostadmins); $i++) { $entryRoleHost['member'][$i] = $hostadmins[$i]; } } else { $entryRoleHost['member'] = $hostadmins[0]; } #print_r($entryRoleHost); echo "<br><br>"; $resultHA = ldap_mod_replace($ds, "cn=HostAdmin,cn=roles," . $domDN, $entryRoleHost); } if (count($roles['ZoneAdmin']) != 0) { $zoneadmins = $roles['ZoneAdmin']; #print_r($zoneadmins); echo "<br>"; #print_r($newzoneadmins); echo "<br>"; $zoneadmins = array_diff($zoneadmins, $newzoneadmins); $zoneadmins = array_merge($newzoneadmins, $zoneadmins); #print_r($zoneadmins); echo "<br>"; if (count($zoneadmins) > 1) { for ($i = 0; $i < count($zoneadmins); $i++) { $entryRoleZone['member'][$i] = $zoneadmins[$i]; } } else { $entryRoleZone['member'] = $zoneadmins[0]; } #print_r($entryRoleZone); echo "<br><br>"; $resultZA = ldap_mod_replace($ds, "cn=ZoneAdmin,cn=roles," . $domDN, $entryRoleZone); } # associatedDomain anpassen in allen AUs von $assocnames (alt) $entryAD['associateddomain'] = $assocdom; #print_r($entryAD); echo "<br>"; $resultAD = ldap_mod_replace($ds, $aname, $entryAD); #echo "_________________________________________<br>"; } # Falls alter dc-Knoten noch Subdomains, d.h. dc-Teilbäume hat, diese verschieben mit # rekursivem Anpassen aller Einträge $dcchilds = get_dc_childs($dcDNold, array("dn", "dc")); #echo "<br><br>"; print_r($dcchilds); echo "<br>"; if (count($dcchilds) != 0) { foreach ($dcchilds as $dcc) { print_r($dcc['dn']); echo " >> "; print_r("dc=" . $dcc['dc'] . "," . $domDN); echo "<br>"; if (move_subtree($dcc['dn'], "dc=" . $dcc['dc'] . "," . $domDN)) { $newdom = $dcc['dc'] . "." . $assocdom; #print_r($newdom); echo "<br><br>"; dive_into_dctree_adapt("dc=" . $dcc['dc'] . "," . $domDN, $newdom); } } } # alten dc-Knoten entfernen dive_into_tree_del($dcDNold, ""); # fixme: fehlt noch löschen der INCLUDE-Direktive in der parentdomain } else { return 0; } } if ($delmodus == "complete") { # if (dive_into_tree_del($dcDNold,"")){ $delentry['objectclass'] = "domainrelatedobject"; $delentry['associateddomain'] = $oldchilddomain . "." . $domsuffix; print_r($delentry); echo "<br>"; # $delresult = ldap_mod_del($ds,$childDN,$delentry); # if ($delresult){ # $mesg = "Domain komplett gelöscht<br>"; # }else{$mesg = "Fehler! ldap_mod_del<br>";} # }else{$mesg = "Fehler! dive_into_tree_del<br>";} } # return $mesg; }
function move_subtree($oldDN, $newDN) { if (dive_into_tree_cp($oldDN, $newDN)) { dive_into_tree_del($oldDN, ""); echo "Moved subtree<br>"; return 1; } else { echo "Moving subtree not possible!!!<br>"; } }