diff options
Diffstat (limited to 'ldap-site-mngmt/webinterface/computers/dhcphost.php')
-rw-r--r-- | ldap-site-mngmt/webinterface/computers/dhcphost.php | 278 |
1 files changed, 278 insertions, 0 deletions
diff --git a/ldap-site-mngmt/webinterface/computers/dhcphost.php b/ldap-site-mngmt/webinterface/computers/dhcphost.php new file mode 100644 index 00000000..5267157c --- /dev/null +++ b/ldap-site-mngmt/webinterface/computers/dhcphost.php @@ -0,0 +1,278 @@ +<?php + +include('../standard_header.inc.php'); + +# 1. Seitentitel - wird in der Titelleiste des Browser angezeigt. +$titel = "Computers Management"; +# 2. Nummer des zugehörigen Hauptmenus (Registerkarte) beginnend bei 0, siehe Dokumentation.doc. +$mainnr = 3; +$mnr = 1; +$sbmnr = -1; +$mcnr = -1; +# 3. Dateiname und evtl. Pfad des Templates für die Webseite +$webseite = "dhcphost.dwt"; + +include("../class.FastTemplate.php"); + +include('computers_header.inc.php'); + +################################################################################### + +$sbmnr = $_GET['sbmnr']; + +# Menuleisten erstellen +createMainMenu($rollen, $mainnr); +createComputersMenu($rollen, $mnr, $auDN, $sbmnr, $mcnr); + +################################################################################### + +$hostDN = $_GET['dn']; + +# Rechner Daten +$attributes = array("hostname","domainname","ipaddress","hwaddress","description","hlprbservice", + "dhcphlpcont","dhcpoptfixed-address","dhcpopthardware","dhcpoptfilename", + "dhcpoptnext-server","hw-mouse","hw-graphic","hw-monitor"); +$host = get_node_data($hostDN,$attributes); +$hostip = explode('_',$host['ipaddress']); +# print_r($hostip); echo "<br><br>"; +$dhcphlpcont = $host['dhcphlpcont']; +$objectDN = $dhcphlpcont; +$rbsDN = $host['hlprbservice']; + +$rbs_dhcpopt = ""; +$host_dhcpopt = ""; + +# DHCP Daten +if ($dhcphlpcont == ""){ + $dhcp = "Rechner ist in keinem DHCP Dienst angemeldet<br></td></tr> + <tr valign='top'><td class='tab_d' colspan='2'> + DHCP Dienst auswählen: "; + $objecttype = "nodhcp"; + $rbs = "<td class='tab_d_ohne' colspan='2'> + Sie müssen den Rechner zuerst in einem DHCP Dienst anmelden, bevor Sie ihn + einem Remote Boot Dienst zuordnen können <br>(DHCP Optionen!!).<br></td> + </tr> + <input type='hidden' name='rbs' value='".$rbsDN."'>"; +}else{ + # Subnet? + $objecttype = "service"; + $dhcp = ""; + $ocarray = get_node_data($dhcphlpcont,array("objectclass","dhcphlpcont")); + #print_r($ocarray); echo "<br>"; + $sub = array_search('dhcpSubnet', $ocarray['objectclass']); + #print_r($sub); + if ($sub !== false ){ + $objecttype = "subnet"; + $exp0 = explode(',',$dhcphlpcont); + $expsub = explode('=',$exp0[0]); $dhcpsub = $expsub[1]; + $dhcp .= "Subnet <b>".$dhcpsub."</b> / "; + $dhcphlpcont = $ocarray['dhcphlpcont']; + } + $exp1 = explode(',',$dhcphlpcont); + $expdhcp = explode('=',$exp1[0]); $dhcpserv = $expdhcp[1]; + $expdhcpau = explode('=',$exp1[2]); $dhcpau = $expdhcpau[1]; + $dhcp .= "Service <b>".$dhcpserv."</b> / AU <b>".$dhcpau."</b><br></td></tr> + <tr valign='top'><td class='tab_d' colspan='2'> + DHCP Dienst ändern: "; + + + $fixedaddselopt = "<option selected value='none'>------------</option>"; + switch ( $host['dhcpoptfixed-address'] ){ + case "": + $fixedaddress = "<b> - </b> <br>(dynamische Vergabe)"; + if ( $hostip[0] != "" ){ + $fixedaddselopt .= "<option value='ip'>".$hostip[0]." (IP Adresse)</option>"; + } + $fixedaddselopt .= "<option value='hostname'>".$host['hostname']." (Hostname)</option>"; + break; + case "ip": + $fixedaddress = "<b>".$hostip[0]."</b><br>(Fixe IP Adresse)"; + $fixedaddselopt .= "<option value='hostname'>".$host['hostname']." (Hostname)</option> + <option value=''>kein Eintrag (dynamische IP Vergabe)</option>"; + break; + case "hostname": + $fixedaddress = "<b>".$host['hostname']."</b><br>(Fixe IP Adresse über Hostnamen aufgelöst)"; + if ( $hostip[0] != "" ){ + $fixedaddselopt .= "<option value='ip'>".$hostip[0]." (IP Adresse)</option>"; + } + $fixedaddselopt .= "<option value=''>kein Eintrag (dynamisch)</option>"; + break; + } + + + $host_dhcpopt = "<tr><td class='tab_d_ohne' colspan='2'><b>DHCP Optionen:</b></td></tr> + <tr valign='top'> + <td class='tab_d_ohne'><b>hardware ethernet: </b> </td> + <td class='tab_d_ohne'><b>".$host['hwaddress']."</b> </td> + <td class='tab_d_ohne'> </td> + </tr> + <tr valign='top'> + <td class='tab_d'><b>fixed-address:</b> </td> + <td class='tab_d'>".$fixedaddress." </td> + <td class='tab_d'> + <select name='fixadd' size='3' class='medium_form_selectbox'> + ".$fixedaddselopt." + </select> + </td> + </tr>"; + + ########################################################### + # RBS Setup + $rbs_selectbox = ""; + $rbs_dhcpopt = ""; + $altrbs = alternative_rbservices($rbsDN); + + if (count($altrbs) != 0){ + $rbs_selectbox .= "<td class='tab_d'> + <select name='rbs' size='4' class='medium_form_selectbox'> + <option selected value='none'>----------</option>"; + + foreach ($altrbs as $item){ + $rbs_selectbox .= " + <option value='".$item['dn']."'>".$item['cn']." ".$item['au']."</option>"; + } + $rbs_selectbox .= "<option value=''>Kein RBS</option> + </select></td>"; + } + + # RBS Daten + if ($rbsDN == ""){ + + $rbs = "<td class='tab_d_ohne'><b>Remote Boot Dienst: </b> </td> + <td class='tab_d_ohne'> + Rechner ist in keinem Remote Boot Dienst angemeldet<br></td></tr> + <tr valign='top'><td class='tab_d'> + RBS auswählen: <br></td>".$rbs_selectbox; + }else{ + + $rbs = ""; + $rbsdata = get_node_data($rbsDN,array("tftpserverip")); + #print_r($rbsdata); echo "<br>"; + $exp2 = explode(',',$host['hlprbservice']); + $exprbs = explode('=',$exp2[0]); $rbserv = $exprbs[1]; + $exprbsau = explode('=',$exp2[2]); $rbsau = $exprbsau[1]; + $rbs .= "<td class='tab_d_ohne'><b>Remote Boot Dienst: </b> </td> + <td class='tab_d_ohne'> + Remote Boot Service <b>".$rbserv."</b> / AU <b>".$rbsau."</b><br> + TFTP (Boot) Server: <b>".$rbsdata['tftpserverip']."</b><br></td></tr> + <tr valign='top'><td class='tab_d'> + RBS ändern: <br></td>".$rbs_selectbox; + + $rbs_dhcpopt = "<tr><td class='tab_d_ohne' colspan='2'><b>DHCP Optionen:</b></td></tr> + <tr> + <td class='tab_d_ohne'><b>next-server</b> (TFTP Server):</td> + <td class='tab_d_ohne'>".$host['dhcpoptnext-server']." </td> + </tr> + <tr> + <td class='tab_d'><b>filename</b> (initiale remote Bootdatei):</td> + <td class='tab_d'>".$host['dhcpoptfilename']." </td> + </tr>"; + } + +} + +$template->assign(array("HOSTDN" => $hostDN, + "HOSTNAME" => $host['hostname'], + "DOMAINNAME" => $host['domainname'], + "HWADDRESS" => $host['hwaddress'], + "IPADDRESS" => $hostip[0], + "DESCRIPTION" => $host['description'], + "OLDDHCP" => $objectDN, + "OLDFIXADD" => $host['dhcpoptfixed-address'], + "OLDRBS" => $rbsDN, + "DHCPCONT" => $dhcp, + "HOST_DHCPOPT" => $host_dhcpopt, + "RBS" => $rbs, + "RBS_DHCPOPT" => $rbs_dhcpopt, + "NEXTSERVER" => $host['dhcpoptnext-server'], + "FILENAME" => $host['dhcpoptfilename'], + "HOSTLINK" => "<a href='host.php?dn=".$hostDN."&sbmnr=".$sbmnr."' class='headerlink'>", + "HWLINK" => "<a href='hwhost.php?dn=".$hostDN."&sbmnr=".$sbmnr."' class='headerlink'>", + "AUDN" => $auDN, + "SBMNR" => $sbmnr)); + + +########################################################## +# DHCP Setup + +$altdhcp = alternative_dhcpobjects($objecttype,$objectDN,$hostip[0]); +#echo "<br><br>";print_r($altdhcp); + +$template->assign(array("ALTDN" => "", + "ALTCN" => "", + "ALTAU" => "")); +if (count($altdhcp) != 0){ +$template->define_dynamic("Altdhcp", "Webseite"); + foreach ($altdhcp as $item){ + + $template->assign(array("ALTDN" => $item['dn'], + "ALTCN" => $item['cn'], + "ALTAU" => $item['au'],)); + $template->parse("ALTDHCP_LIST", ".Altdhcp"); + } +} + + +########################################################### +# RBS Setup + +/*$altrbs = alternative_rbservices($rbsDN); +#print_r($altrbs); echo "<br><br>"; +$template->assign(array("ALTRBSDN" => "", + "ALTRBSCN" => "", + "ALTRBSAU" => "")); +if (count($altrbs) != 0){ +$template->define_dynamic("Altrbs", "Webseite"); + foreach ($altrbs as $item){ + $template->assign(array("ALTRBSDN" => $item['dn'], + "ALTRBSCN" => $item['cn'], + "ALTRBSAU" => $item['au'],)); + $template->parse("ALTRBS_LIST", ".Altrbs"); + } +}*/ + + +################################################################################### + +include("computers_footer.inc.php"); + + + +/* +<tr height='50'> + <td class='tab_d'><b>DHCP Option hardware ethernet: </b> </td> + <td class='tab_d'>{HWADDRESS} + </td> + </tr> + <tr height='50'> + <td class='tab_d'><b>DHCP Option fixed-address: </td> + <td class='tab_d'>{IPADDRESS} + </td> + </tr> + +<td class='tab_d'> + <select name='rbs' size='4' class='medium_form_selectbox'> + <option selected value='none'>----------</option> + + <!-- BEGIN DYNAMIC BLOCK: Altrbs --> + <option value='{ALTRBSDN}'>{ALTRBSCN} {ALTRBSAU}</option> + <!-- END DYNAMIC BLOCK: Altrbs --> + + <option value=''>Kein RBS</option> + + </select> + </td> + <tr height='50'> + <td class='tab_d'><b>TFTP Server <br>DHCP Option next-server: </b> </td> + <td class='tab_d'>{NEXTSERVER} + </td> + </tr> + <tr height='50'> + <td class='tab_d'><b>PXE initiale Bootdatei <br>DHCP Option filename: </b> </td> + <td class='tab_d'>{FILENAME} + </td> + </tr> + + + */ +?>
\ No newline at end of file |