################# $template->assign(array("DHCPDN" => $dhcpsv_data['dn'], "DHCPDN" => $DHCP_SERVICE, "CN" => $dhcpcn, "PRIMARY" => $dhcpsv_data['dhcpprimarydn'], "SECONDARY" => $dhcpsv_data['dhcpsecondarydn'], "DESCRIPTION" => $dhcpsv_data['description'], "STATEMENTS" => $dhcpsv_data['dhcpstatements'], "FAILOVERPEER" => $dhcpsv_data['dhcpfailoverpeer'], "PCLSELECT" => $pcl_select, "PCL" => $pcl, "ALLOW" => $dhcpsv_data['dhcpoptallow'], "DENY" => $dhcpsv_data['dhcpoptdeny'], "IGNORE" => $dhcpsv_data['dhcpoptignore'], "DDNSUPDATE" => $dhcpsv_data['dhcpoptddns-update-style'], "DEFAULTLEASE" => $defaultlease_select, "MAXLEASE" => $maxlease_select, "USEHOSTDCL" => $dhcpsv_data['dhcpoptuse-host-decl-names'], "MAXMESSIZE" => $dhcpsv_data['dhcpoptdhcp-max-message-size'], "DOMAINNAME" => $dhcpsv_data['dhcpoptdomain-name'], "DOMAINNAMESERVERS" => $dhcpsv_data['dhcpoptdomain-name-servers'], "NEXTSERVER" => $dhcpsv_data['dhcpoptnext-server'], "FILENAME" => $dhcpsv_data['dhcpoptfilename'], "NTPSERVERS" => $dhcpsv_data['dhcpoptntp-servers'], "DHCPOFFERNOWDN" => $dhcpsv_data['dhcpofferdn'], "DHCPOFFERNOW" => $dhcpoffernow, "OPTDEF" => $optdef, "MNR" => $mnr, "SBMNR" => $sbmnr)); $template->define_dynamic("Dhcpoffers", "Webseite"); foreach ($dhcpoffers as $offer) { $template->assign(array("DHCPOFFER" => $offer['dn'], "DHCPOFFEROU" => $offer['ou'])); $template->parse("DHCPOFFERS_LIST", ".Dhcpoffers"); } # Subnetze und Hosts des Dienstes $dhcpobjects = get_service_subnets($dhcpserviceDN, array("dn", "cn", "dhcpoptnetmask", "description")); #print_r($dhcpobjects); $dhcpobjects = array_natsort($dhcpobjects, "cn", "cn"); $template->define_dynamic("Dhcpsubnets", "Webseite"); foreach ($dhcpobjects as $subnet) { $template->assign(array("SUBNET" => $subnet['cn'], "NETMASK" => $subnet['dhcpoptnetmask'], "SUBNETAU" => $subnet['auDN'], "SUBNETDESC" => $subnet['description'])); $template->parse("DHCPSUBNETS_LIST", ".Dhcpsubnets"); } # alle DHCP Objekte auf sich als DHCP Service setzen $altdhcpservices = alternative_dhcpservices($DHCP_SERVICE); $template->define_dynamic("Altdhcpsrv", "Webseite"); $dhcp_selectbox = ""; foreach ($altdhcpservices as $altsrv) { $dhcp_selectbox .= "\n \t\t <option value='" . $altsrv['dn'] . "'>" . $altsrv['cn'] . " </option>"; $template->assign(array("ALTDHCPSRV" => $dhcp_selectbox)); } ################################################ # DHCP Generator Skript Config $template->assign(array("DHCPGENLDAP" => LDAP_HOST, "DHCPGENBASE" => "ou=RIPM," . $suffix, "DHCPGENUDN" => $userDN, "DHCPGENPW" => $userPassword, "DHCPGENSVDN" => $dhcpserviceDN)); ################################################################################### $parent_file = "dhcpservice.php"; include 'dhcp_class_box.php'; include "dhcp_footer.inc.php";
function alternative_dhcpobjects($objecttype, $objectDN, $ip) { global $ds, $suffix, $auDN, $assocdom, $ldapError; $alt_dhcp = array(); $expip = explode('.', $ip); $subnetDN = ""; /*if ($objecttype == "subnet"){ # alternative DHCP Dienstobjekte eigene AU/übergeordnete AUs $servarray = alternative_dhcpservices(""); #print_r($servarray); echo "<br>"; if (count($servarray) != 0){ for ($i=0; $i < count($servarray); $i++){ $alt_dhcp[] = $servarray[$i]; } } if ($ip == ""){ # alternative DHCP Subnetzobjekte eigene AU/übergeordnete AUs hinzufügen $subarray = alternative_dhcpsubnets($objectDN); #print_r($subarray); if (count($subarray) != 0){ for ($i=0; $i < count($subarray); $i++){ $alt_dhcp[] = $subarray[$i]; } } } }*/ if ($objecttype == "service") { # alternative DHCP Dienstobjekte eigene AU/übergeordnete AUs $servarray = alternative_dhcpservices($objectDN); #print_r($servarray); echo "<br>"; if (count($servarray) != 0) { for ($i = 0; $i < count($servarray); $i++) { $alt_dhcp[] = $servarray[$i]; } } /*# Subnetz entsprechend IP $subarray = alternative_dhcpsubnets($objectDN); #print_r($subarray); if (count($subarray) != 0){ for ($i=0; $i < count($subarray); $i++){ $expsub = explode('.', $subarray[$i]['cn']); if ($expip[0] == $expsub[0] && $expip[1] == $expsub[1] && $expip[2] == $expsub[2]){ $alt_dhcp[] = $subarray[$i]; $subnetDN = $subarray[$i]['dn']; break; } } } # falls keine IP weitere Subnetze hinzufügen #print_r($subarray); if ( $ip == "" && count($subarray) != 0 ){ for ($i=0; $i < count($subarray); $i++){ if ($subnetDN != $subarray[$i]['dn']){ $alt_dhcp[] = $subarray[$i]; } } }*/ } if ($objecttype == "nodhcp") { # alternative DHCP Dienstobjekte eigene AU/übergeordnete AUs $servarray = alternative_dhcpservices(""); #print_r($servarray); echo "<br>"; if (count($servarray) != 0) { for ($i = 0; $i < count($servarray); $i++) { $alt_dhcp[] = $servarray[$i]; } } /*# Subnetz entsprechend IP $subarray = alternative_dhcpsubnets($objectDN); #print_r($subarray); if (count($subarray) != 0){ for ($i=0; $i < count($subarray); $i++){ $expsub = explode('.', $subarray[$i]['cn']); if ($expip[0] == $expsub[0] && $expip[1] == $expsub[1] && $expip[2] == $expsub[2]){ $alt_dhcp[] = $subarray[$i]; $subnetDN = $subarray[$i]['dn']; break; } } } # falls keine IP weitere Subnetze hinzufügen #print_r($subarray); echo "<br>";print_r($subnetDN); if ( $ip == "" && count($subarray) != 0 ){ for ($i=0; $i < count($subarray); $i++){ if ($subnetDN != $subarray[$i]['dn']){ $alt_dhcp[] = $subarray[$i]; } } }*/ } #echo "<br>";print_r($alt_dhcp); return $alt_dhcp; }