예제 #1
0
#################
$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;
}