} if ($fixedaddress != "") { $fixedaddress = ""; } # falls Host ein RBS_Server ist adjust_hostip_tftpserverip($oldip, ""); } else { $mesg .= "Fehler beim loeschen der IP<br><br>"; } } ##################################### # MAC Adresse if ($oldmac != $mac) { if ($oldmac == "") { # MAC neu eintragen if ($syntax->check_mac_syntax($mac)) { $entry_add['hwaddress'] = $mac; // if ( $olddhcp || $dhcp ) { // $dhcpchange = 1; // } } else { $mesg .= "SyntaxCheck MAC Adresse <b>{$mac}</b>:<br>-> " . $syntax->ERROR; $automatic_back = 0; } } elseif ($mac == "") { # MAC loeschen $entry_delete['hwaddress'] = $oldmac; # DHCP austragen $dhcp = ""; // if ( $olddhcp || $dhcp ) { // $dhcpchange = 1;
function add_host($hostDN, $hostname, $hostdesc, $mac, $ip, $atts, $dhcp) { global $ds, $suffix, $auDN, $assocdom, $ldapError; $syntax = new Syntaxcheck(); $mactest = 0; $entryhost['objectclass'][0] = "Host"; $entryhost['objectclass'][1] = "dhcpHost"; $entryhost['objectclass'][2] = "dhcpOptions"; $entryhost['objectclass'][3] = "top"; $entryhost["hostname"] = $hostname; $entryhost["domainname"] = $assocdom; if ($hostdesc != "") { $entryhost["description"] = $hostdesc; } if ($mac != "") { if ($syntax->check_mac_syntax($mac)) { $entryhost["hwaddress"] = $mac; if ($dhcp != "none" && $dhcp != "") { $entryhost["dhcphlpcont"] = $dhcp; } } else { echo "SyntaxCheck MAC Adresse <b>{$mac}</b>:<br>-> " . $syntax->ERROR; } } else { echo "Keine MAC Adresse angelegt. Kein DHCP Eintrag.<br>"; } foreach (array_keys($atts) as $key) { if ($atts[$key] != "") { $entryhost[$key] = $atts[$key]; } } #print_r($entryhost); echo "<br>"; if ($result = ldap_add($ds, $hostDN, $entryhost)) { if ($ip != "") { if ($syntax->check_ip_syntax($ip)) { $newip_array = array($ip, $ip); $newip = implode('_', $newip_array); print_r($newip); echo "<br><br>"; if (new_ip_host($newip, $hostDN, $auDN)) { echo "IP erfolgreich eingetragen<br><br>"; if ($mac != "" && $mactest && $dhcp != "none" && $dhcp != "") { $entryfa["dhcpoptfixed-address"] = "ip"; if (ldap_mod_add($ds, $hostDN, $entryfa)) { echo "DHCP Fixed-Address erfolgreich auf IP gesetzt<br><br>"; } else { echo "Fehler beim Setzen von DHCP Fixed-Address<br><br>"; } } } else { echo "Fehler beim eintragen der IP<br><br>"; } } else { echo "Falsche IP Syntax! IP nicht eingetragen<br><br>"; } } #echo "Rechner erfolgreich eingetragen<br>"; if ($mac != "" && $mactest && $dhcp != "none" && $dhcp != "") { update_dhcpmtime($auDN); } return 1; } else { #echo "Fehler beim eintragen des neuen Rechners!<br>"; return 0; } }