diff options
Diffstat (limited to 'ldap-site-mngmt/webinterface/dhcp')
-rw-r--r-- | ldap-site-mngmt/webinterface/dhcp/dhcp.dwt | 18 | ||||
-rw-r--r-- | ldap-site-mngmt/webinterface/dhcp/dhcp_menu.php | 67 | ||||
-rw-r--r-- | ldap-site-mngmt/webinterface/dhcp/dhcppool.dwt | 41 | ||||
-rw-r--r-- | ldap-site-mngmt/webinterface/dhcp/dhcppool.php | 43 | ||||
-rw-r--r-- | ldap-site-mngmt/webinterface/dhcp/dhcppool_add.php | 4 | ||||
-rw-r--r-- | ldap-site-mngmt/webinterface/dhcp/dhcppool_new.dwt | 49 | ||||
-rw-r--r-- | ldap-site-mngmt/webinterface/dhcp/dhcppool_new.php | 201 | ||||
-rw-r--r-- | ldap-site-mngmt/webinterface/dhcp/dhcppools_change.php | 36 | ||||
-rw-r--r-- | ldap-site-mngmt/webinterface/dhcp/dhcpsubnets.dwt | 15 | ||||
-rw-r--r-- | ldap-site-mngmt/webinterface/dhcp/dhcpsubnets.php | 2 | ||||
-rw-r--r-- | ldap-site-mngmt/webinterface/dhcp/menu.dwt | 11 |
11 files changed, 410 insertions, 77 deletions
diff --git a/ldap-site-mngmt/webinterface/dhcp/dhcp.dwt b/ldap-site-mngmt/webinterface/dhcp/dhcp.dwt index 0a79961c..9946aae9 100644 --- a/ldap-site-mngmt/webinterface/dhcp/dhcp.dwt +++ b/ldap-site-mngmt/webinterface/dhcp/dhcp.dwt @@ -5,18 +5,18 @@ <link rel='stylesheet' href='../styles.css' type='text/css'></head> <body> -<table cellpadding='0' cellspacing='0' border='0' width='95%' height='8%'> +<table cellpadding='0' cellspacing='0' border='0' width='100%' style='background-color: #F0F0F0;border-color: #505050; border-style: solid; border-width: 0 0 1 0;'> <tr> - <td width='35%'> + <td width='30%'> <table cellpadding='5' cellspacing='0' border='0' width='100%'> <tr valign='top'> <td width='1'></td> - <td><h2>Rechner und IP Management</h2></td> + <td><h2>Client / IP Management</h2></td> </tr> </table> </td> - <td width='40%'> + <td width='45%'> <table cellpadding='5' cellspacing='0' border='0' width='100%'> <tr valign='top' align='left'> <td> @@ -36,14 +36,12 @@ </table> </td> </tr> -</table> -<table cellpadding='5' cellspacing='0' border='0' width='95%' height='7%'> -<tr> - <td>{MAINMENU}</td> -</tr> + <tr> + <td colspan='3'>{MAINMENU}</td> + </tr> </table> -<hr align='center' width='98%' noshade> +<br> diff --git a/ldap-site-mngmt/webinterface/dhcp/dhcp_menu.php b/ldap-site-mngmt/webinterface/dhcp/dhcp_menu.php index a51ee6d5..01ec5b92 100644 --- a/ldap-site-mngmt/webinterface/dhcp/dhcp_menu.php +++ b/ldap-site-mngmt/webinterface/dhcp/dhcp_menu.php @@ -1,29 +1,27 @@ <?php -function createDhcpMenu($rollen , $mnr, $auDN, $sbmnr) { - - global $template, $START_PATH, $rootAU; - - $mipbs = get_maxipblocks_au($auDN); - #echo "MIPB: "; print_r ($mipbs); echo "<br>"; - if ($mipbs[0] != ""){ - $hauptmenu = array(array("link" => "dhcp.php", - "text" => "Übersicht", - "zugriff" => "alle")); - }else{ - $hauptmenu = array(array("link" => "no_dhcp.php", +function createDhcpMenu($rollen, $mnr, $auDN, $sbmnr) { + + global $template, $START_PATH, $rootAU; + + $mipbs = get_maxipblocks_au($auDN); + #echo "MIPB: "; print_r ($mipbs); echo "<br>"; + if ($mipbs[0] != ""){ + $hauptmenu = array(); + }else{ + $hauptmenu = array(array("link" => "no_dhcp.php", "text" => "Übersicht", "zugriff" => "alle")); - } - + } + $pools = get_dhcppools($auDN, array("dn")); if (count($pools) == 0){ $poollink = "dhcpnopool.php"; }else{ $poollink = "dhcppool.php"; } - - $i=1; + + $i=0; if ( $auDN == $rootAU ) { $dhcpservice_array = get_dhcpservices($auDN,array("dn","cn")); if (count($dhcpservice_array) == 0){ @@ -33,8 +31,8 @@ function createDhcpMenu($rollen , $mnr, $auDN, $sbmnr) { $dhcpsvlink = "dhcpservice.php?mnr=1"; } $hauptmenu []= array("link" => $dhcpsvlink, - "text" => "DHCP Service", - "zugriff" => array("MainAdmin","DhcpAdmin")); + "text" => "DHCP Service", + "zugriff" => array("MainAdmin","DhcpAdmin")); $i++; } if ($mipbs[0] != ""){ @@ -42,9 +40,9 @@ function createDhcpMenu($rollen , $mnr, $auDN, $sbmnr) { $hauptmenu [] = array("link" => "dhcpsubnets.php?mnr=".$i, "text" => "DHCP Subnets", "zugriff" => array("MainAdmin","DhcpAdmin")); - - $subnets = array(); - # falls komplette Netze verfügbar, link zum Neuanlegen + + $subnets = array(); + # falls komplette Netze verfügbar, link zum Neuanlegen if ( check_if_free_networks() ){ #$dhcpsubnet_array = get_dhcpsubnets($auDN,array("dn","cn")); /*for ($j=0;$j<count($dhcpsubnet_array);$j++){ @@ -60,33 +58,28 @@ function createDhcpMenu($rollen , $mnr, $auDN, $sbmnr) { $hauptmenu [] = array("link" => $poollink."?mnr=".$i, "text" => "Dynamische DHCP Pools", "zugriff" => array("MainAdmin","DhcpAdmin")); - - $submenu = array(array(), + + $submenu = array(#array(), $subnets, - array()); - + array()); }else{ $hauptmenu [] = array("link" => $poollink."?mnr=".$i, "text" => "Dynamische DHCP Pools", "zugriff" => array("MainAdmin","DhcpAdmin")); } } - - #print_r ($hauptmenu);cho "<br>"; - #print_r ($submenu); - #$rollen = array_keys($roles); # Zusammenstellen der Menuleiste $template->define_dynamic("Hauptmenu", "Menu"); $template->define_dynamic("Submenu", "Menu"); $i=0; $maxmenu = count($hauptmenu); - - foreach($hauptmenu as $item) { - $template->clear_parse("SUBMENU_LIST"); - if($item['zugriff'] === "alle" || vergleicheArrays($rollen , $item['zugriff'])) { - - $subempty = 0; + + foreach($hauptmenu as $item) { + $template->clear_parse("SUBMENU_LIST"); + if($item['zugriff'] === "alle" || vergleicheArrays($rollen , $item['zugriff'])) { + + $subempty = 0; $j=0; $maxsub = count($submenu[$mnr]); if($maxsub > 0){ @@ -137,9 +130,9 @@ function createDhcpMenu($rollen , $mnr, $auDN, $sbmnr) { </tr> <tr> <td width='8%'> </td> - <td width='8%' align='right'>".$zwisch."</td>
+ <td width='8%' align='right'>".$zwisch."</td> <td width='74%' align='left' style='border-width:1 1 1 1;border-color:#000000;border-style:solid;padding:2;padding-left:15px;background-color:{FARBE_S}'> - <a href='".$item2['link']."' style='text-decoration:none'><b class='standard_schrift'>".$item2['text']."</b></a></td> + <a href='".$item2['link']."' style='text-decoration:none'><code class='submenue_schrift'>".$item2['text']."</code></a></td> <td width='10%'> </td> </tr> "; diff --git a/ldap-site-mngmt/webinterface/dhcp/dhcppool.dwt b/ldap-site-mngmt/webinterface/dhcp/dhcppool.dwt index f8dbe02d..a4a1f79b 100644 --- a/ldap-site-mngmt/webinterface/dhcp/dhcppool.dwt +++ b/ldap-site-mngmt/webinterface/dhcp/dhcppool.dwt @@ -1,9 +1,16 @@ <table border='0' cellpadding='5' cellspacing='0' width='100%'> <tr> - <td colspan='2'><h3>Dynamische DHCP Pools </h3></td> + <td width='80%'> + <h3>Dynamische DHCP Pools </h3> + Administration Ihrer eingetragenen <b>dynamischen DHCP Pools</b>:<br> + Bearbeiten von bzw. Anlegen neuer IP Ranges zur dynamischen Vergabe. Zulassen von unbekannten bzw. einschränken auf bekannte Clients (d.h. im DHCP angelegte Clients).<br> + Sie können IP Ranges nur entsprechend der Ihnen noch frei verfübaren IP Adressen definieren.<br><br> + Über die <b>Eingabemaske</b> unten können Sie weitere Pools anlegen + </td> + <td> </td> </tr> - <tr><td> + <tr><td colspan='2'> <table cellpadding='7' cellspacing='0' border='1' align='left' width='90%' style='border-width: 0 0 0 0;'> <form action='dhcppools_change.php' method='post'> @@ -17,11 +24,11 @@ <!-- BEGIN DYNAMIC BLOCK: Dhcppools --> <tr height='50' valign='top'> - <td class='tab_d'><b>{SUBNET}/24</b><br><br> + <td class='tab_d_ohne'><b>{SUBNET}/24</b><br><br> <input type='checkbox' name='delpool[]' value='{POOLDN}' size='10' class='medium_form_field'> - Pool löschen (Häkchen setzen)</td> + Pool löschen</td> - <td class='tab_d'> + <td class='tab_d_ohne'> <!-- BEGIN DYNAMIC BLOCK: Dhcpranges --> @@ -39,18 +46,23 @@ <input type='Text' name='addrange2[]' value='' size='15' maxlength='15' class='medium_form_field'> </td> - <td class='tab_d'> - <select name='unknownclients[]' size='3' class='small_form_selectbox'> + <td class='tab_d_ohne'> + <select name='unknownclients[]' size='3' class='100_form_selectbox'> {UCSELECT} </select> <input type='hidden' name='olduc[]' value='{UCNOW}'> </td> </tr> + <tr height='50' valign='top'> + <td class='tab_d'><b>Remote Boot Service:</b><br>{RBS}</td> + <td class='tab_d' colspan='2'>{RBSSELECT}</td> + </tr> <input type='hidden' name='pooldn[]' value='{POOLDN}'> + <input type='hidden' name='oldrbs[]' value='{OLDRBS}'> <input type='hidden' name='subnet[]' value='{SUBNET}'> <input type='hidden' name='subnetau[]' value='{SUBNETAU}'> - + <!-- END DYNAMIC BLOCK: Dhcppools --> <input type='hidden' name='mnr' value='{MNR}'> @@ -58,26 +70,27 @@ </table></td> </tr> <tr> - <td><input type='Submit' name='apply' value='anwenden' class='small_loginform_button'> + <td colspan='2'><input type='Submit' name='apply' value='anwenden' class='small_loginform_button'> </form></td> </tr> <tr> - <td height='50'></td> + <td height='50' colspan='2'></td> </tr> <tr> <td colspan='2'><h4>Dynamischen DHCP Pool hinzufügen </h4></td> </tr> <tr> - <td> + <td colspan='2'> <table cellpadding='7' cellspacing='0' border='0' align='left' width='90%' style='border-width: 0 0 0 0;'> <form action='dhcppool_add.php' method='post'> <tr valign='bottom'> <td width='50%' class='tab_h'><b>IP Range (innerhalb eines Subnetzes)</b><br> weitere Ranges können später hinzugefügt werden</td> - <td width='50%' class='tab_h'><b>Unknown Clients</b></td> + <td width='20%' class='tab_h'><b>Unknown Clients</b></td> + <td width='30%' class='tab_h'><b>Remote Boot Service</b></td> </tr> <tr height='50' valign='top'> @@ -87,12 +100,14 @@ <input type='Text' name='addrange2' value='' size='15' maxlength='15' class='medium_form_field'> </td> <td class='tab_d'> - <select name='unknownclients' size='3' class='small_form_selectbox'> + <select name='unknownclients' size='3' class='100_form_selectbox'> <option selected value='deny'> DENY </option> <option value='allow'> ALLOW </option> <option value='ignore'> IGNORE </option> </select> </td> + <td class='tab_d'>{RBSADD} + </td> </tr> <input type='hidden' name='mnr' value='{MNR}'> diff --git a/ldap-site-mngmt/webinterface/dhcp/dhcppool.php b/ldap-site-mngmt/webinterface/dhcp/dhcppool.php index d35edd18..aa58201f 100644 --- a/ldap-site-mngmt/webinterface/dhcp/dhcppool.php +++ b/ldap-site-mngmt/webinterface/dhcp/dhcppool.php @@ -24,9 +24,9 @@ createDhcpMenu($rollen, $mnr, $auDN, $sbmnr); # DHCP Pools Daten holen $attributes = array("dn","cn","dhcphlpcont","dhcprange","description","dhcpstatements","dhcpoptallow", "dhcpoptdefault-lease-time","dhcpoptdeny","dhcpoptignore","dhcpoptmax-lease-time", - "dhcpoptgeneric"); + "dhcpoptgeneric","hlprbservice","dhcpoptfilename","dhcpoptnext-server"); $pools = get_dhcppools($auDN, $attributes); -#print_r($pools); + if (count($pools) == 0){ redirect(0, "dhcpnopool.php?mnr=".$mnr, "", $addSessionId = TRUE); die; @@ -43,6 +43,8 @@ $template->assign(array("POOLDN" => "", "ALLOW" => "", "DENY" => "", "IGNORE" => "", + "RBS" => "", + "RBSSELECT" => "", "DEFAULTLEASE" => "", "MAXLEASE" => "", "MNR" => $mnr)); @@ -59,7 +61,8 @@ foreach ($pools as $pool){ $subnetdnexp = ldap_explode_dn( $pool['dhcphlpcont'], 0); $subnetauexp = array_slice($subnetdnexp, 3); $subnetau = implode(',',$subnetauexp); - + $rbsDN = $pool['hlprbservice']; + $template->clear_parse("DHCPRANGES_LIST"); @@ -105,8 +108,34 @@ foreach ($pools as $pool){ $ucselectbox = "<option selected value='deny'> DENY </option> <option value='allow'> ALLOW </option> <option value='ignore'> IGNORE </option>"; - } - + } + + # RBS Setup + $rbs_selectbox = ""; + $rbs_addselectbox = ""; + $altrbs = alternative_rbservices($rbsDN); + + $rbs_selectbox .= "<select name='rbs[]' size='4' class='tftp_form_selectbox'> + <option selected value='none'>----------</option>"; + $rbs_addselectbox = "<select name='rbs' size='3' class='tftp_form_selectbox'> + <option selected value='none'>----------</option>"; + if (count($altrbs) != 0){ + foreach ($altrbs as $item){ + $rbs_selectbox .= "<option value='".$item['dn']."'>".$item['cn']." ".$item['au']."</option>"; + $rbs_addselectbox .= "<option value='".$item['dn']."'>".$item['cn']." ".$item['au']."</option>"; + } + } + $rbs_selectbox .= "<option value=''>Kein RBS</option></select>"; + $rbs_addselectbox .= "</select>"; + + if ($rbsDN == ""){ + $rbs = "Keine Einbindung"; + }else{ + $rbsdnexp = ldap_explode_dn($pool['hlprbservice'],1); + $rbs = $rbsdnexp[0]."<br>DHCP Next-Server: ".$pool['dhcpoptnext-server']."<br>DHCP Filename: ".$pool['dhcpoptfilename']; + } + + $template->assign(array("POOLDN" => $pool['dn'], "CN" => $pool['cn'], "SUBNETDN" => $pool['dhcphlpcont'], @@ -119,6 +148,10 @@ foreach ($pools as $pool){ "ALLOW" => $pool['dhcpoptallow'], "DENY" => $pool['dhcpoptdeny'], "IGNORE" => $pool['dhcpoptignore'], + "RBS" => $rbs, + "RBSSELECT" => $rbs_selectbox, + "RBSADD" => $rbs_addselectbox, + "OLDRBS" => $rbsDN, "DEFAULTLEASE" => $pool['dhcpoptdefault-lease-time'], "MAXLEASE" => $pool['dhcpoptmax-lease-time'], "MNR" => $mnr)); diff --git a/ldap-site-mngmt/webinterface/dhcp/dhcppool_add.php b/ldap-site-mngmt/webinterface/dhcp/dhcppool_add.php index 416654e2..bddb8282 100644 --- a/ldap-site-mngmt/webinterface/dhcp/dhcppool_add.php +++ b/ldap-site-mngmt/webinterface/dhcp/dhcppool_add.php @@ -6,6 +6,8 @@ $syntax = new Syntaxcheck; $range1 = $_POST['addrange1']; $range2 = $_POST['addrange2']; $unknownclients = $_POST['unknownclients']; +$rbs = $_POST['rbs']; + $mnr = $_POST['mnr']; $seconds = 2; @@ -65,7 +67,7 @@ if ($syntax->check_ip_syntax($range1) && $syntax->check_ip_syntax($range2)){ $results = ldap_mod_replace($ds,$auDN,$entry); if ($results){ echo "<br>Neue FIPBs erfolgreich eingetragen!<br>"; - $result = add_dhcppool($subnetdn,$range,$unknownclients,$result[0]['dhcphlpcont']); + $result = add_dhcppool($subnetdn,$range,$unknownclients,$result[0]['dhcphlpcont'],$rbs); if ($result){ echo "<br>Dynamischer DHCP Pool erfolgreich eingetragen!<br>" ; update_dhcpmtime(array($subnetau)); diff --git a/ldap-site-mngmt/webinterface/dhcp/dhcppool_new.dwt b/ldap-site-mngmt/webinterface/dhcp/dhcppool_new.dwt new file mode 100644 index 00000000..8c9aefdc --- /dev/null +++ b/ldap-site-mngmt/webinterface/dhcp/dhcppool_new.dwt @@ -0,0 +1,49 @@ +<table border='0' cellpadding='5' cellspacing='0' width='100%'> + <tr> + <td colspan='2'><h3>Dynamische DHCP Pools </h3></td> + </tr> + + <!-- BEGIN DYNAMIC BLOCK: Poolform --> + {POOLFORMULAR} + <!-- END DYNAMIC BLOCK: Poolform --> + + <tr> + <td colspan='2'><h4>Dynamischen DHCP Pool hinzufügen </h4></td> + </tr> + <tr> + <td> + <table cellpadding='7' cellspacing='0' border='0' align='left' width='90%' style='border-width: 0 0 0 0;'> + <form action='dhcppool_add.php' method='post'> + + <tr valign='bottom'> + <td width='50%' class='tab_h'><b>IP Range (innerhalb eines Subnetzes)</b><br> + weitere Ranges können später hinzugefügt werden</td> + <td width='50%' class='tab_h'><b>Unknown Clients</b></td> + </tr> + + <tr height='50' valign='top'> + <td class='tab_d'> + <input type='Text' name='addrange1' value='' size='15' maxlength='15' class='medium_form_field'> + - + <input type='Text' name='addrange2' value='' size='15' maxlength='15' class='medium_form_field'> + </td> + <td class='tab_d'> + <select name='unknownclients' size='3' class='small_form_selectbox'> + <option selected value='deny'> DENY </option> + <option value='allow'> ALLOW </option> + <option value='ignore'> IGNORE </option> + </select> + </td> + </tr> + <input type='hidden' name='mnr' value='{MNR}'> + + </table></td> + </tr> + <tr> + <td> + <input type='Submit' name='apply' value='anlegen' class='small_loginform_button'> + </form></td> + </tr> + + +</table>
\ No newline at end of file diff --git a/ldap-site-mngmt/webinterface/dhcp/dhcppool_new.php b/ldap-site-mngmt/webinterface/dhcp/dhcppool_new.php new file mode 100644 index 00000000..74592459 --- /dev/null +++ b/ldap-site-mngmt/webinterface/dhcp/dhcppool_new.php @@ -0,0 +1,201 @@ +<?php + +include('../standard_header.inc.php'); + +# Dateiname und evtl. Pfad des Templates für die Webseite +$webseite = "dhcppool.dwt"; + +include('dhcp_header.inc.php'); + +$mnr = 3; +$sbmnr = -1; + +################################################################################### + +$mnr = $_GET['mnr']; +$sbmnr = $_GET['sbmnr']; + +# Menuleisten erstellen +createMainMenu($rollen, $mainnr); +createDhcpMenu($rollen, $mnr, $auDN, $sbmnr); + +################################################################################### + +$template->define_dynamic("Poolform", "Webseite"); +$template->assign(array("POOLFORMULAR" => "", + #"POOLDN" => "", + "CN" => "", + "SUBNETDN" => "", + #"SUBNET" => "", + #"RANGE1" => "", + #"RANGE2" => "", + "DESCRIPTION" => "", + "STATEMENTS" => "", + "DEFAULTLEASE" => "", + "MAXLEASE" => "", + "MNR" => $mnr)); + +# DHCP Pools Daten holen +$attributes = array("dn","cn","dhcphlpcont","dhcprange","description","dhcpstatements","dhcpoptallow", + "dhcpoptdefault-lease-time","dhcpoptdeny","dhcpoptignore","dhcpoptmax-lease-time", + "dhcpoptgeneric"); +$pools = get_dhcppools($auDN, $attributes); +#print_r($pools); + +if (count($pools) != 0){ + + + +$poolform = " + <tr><td> + <table cellpadding='7' cellspacing='0' border='1' align='left' width='90%' style='border-width: 0 0 0 0;'> + + <form action='dhcppools_change.php' method='post'> + + <tr> + <td width='30%' class='tab_h'><b>Subnetz</b></td> + <td width='50%' class='tab_h'><b>IP Ranges (innerhalb Subnetz)</b></td> + <td width='20%' class='tab_h'><b>Unknown Clients</b></td> + </tr> + + <!-- BEGIN DYNAMIC BLOCK: Dhcppools --> + + <tr height='50' valign='top'> + <td class='tab_d'><b>{SUBNET}/24</b><br><br> + <input type='checkbox' name='delpool[]' value='{POOLDN}' size='10' class='medium_form_field'> + Pool löschen (Häkchen setzen)</td> + + <td class='tab_d'> + + <!-- BEGIN DYNAMIC BLOCK: Dhcpranges --> + + <input type='Text' name='range1[]' value='{RANGE1}' size='15' maxlength='15' class='medium_form_field'> + - + <input type='Text' name='range2[]' value='{RANGE2}' size='15' maxlength='15' class='medium_form_field'> + <input type='hidden' name='oldrange1[]' value='{RANGE1}'> + <input type='hidden' name='oldrange2[]' value='{RANGE2}'><br> + <input type='hidden' name='rangepooldn[]' value='{RPOOLDN}'> + + <!-- END DYNAMIC BLOCK: Dhcpranges --> + + <input type='Text' name='addrange1[]' value='' size='15' maxlength='15' class='medium_form_field'> + - + <input type='Text' name='addrange2[]' value='' size='15' maxlength='15' class='medium_form_field'> + </td> + + <td class='tab_d'> + <select name='unknownclients[]' size='3' class='small_form_selectbox'> + {UCSELECT} + </select> + <input type='hidden' name='olduc[]' value='{UCNOW}'> + </td> + </tr> + <!--<tr> + <td colspan='3' class='tab_d'><input type='checkbox' name='delpool[]' value='{POOLDN}' size='10' class='medium_form_field'> + Pool löschen (Häkchen setzen)</td> + </tr>--> + + <input type='hidden' name='pooldn[]' value='{POOLDN}'> + <input type='hidden' name='subnet[]' value='{SUBNET}'> + <input type='hidden' name='subnetau[]' value='{SUBNETAU}'> + + <!-- END DYNAMIC BLOCK: Dhcppools --> + + <input type='hidden' name='mnr' value='{MNR}'> + + </table></td> + </tr> + <tr> + <td><input type='Submit' name='apply' value='anwenden' class='small_loginform_button'> + </form></td> + </tr> + + <tr> + <td height='50'></td> + </tr>"; + +$template->assign(array("POOLFORMULAR" => $poolform)); +$template->parse("POOLFORM_LIST", "Poolform"); +#$template->clear_dynamic("Poolform"); +#$template->clear_parse("POOLFORM_LIST"); + +$template->define_dynamic("Dhcppools", "Webseite"); +$template->define_dynamic("Dhcpranges", "Webseite"); +# Für jeden Pool ... +foreach ($pools as $pool){ + + # DHCP Subnet des Pools + $subnet = ldap_explode_dn($pool['dhcphlpcont'],1); + $subnetdnexp = ldap_explode_dn( $pool['dhcphlpcont'], 0); + $subnetauexp = array_slice($subnetdnexp, 3); + $subnetau = implode(',',$subnetauexp); + + + $template->clear_parse("DHCPRANGES_LIST"); + + # DHCP Ranges + if (count($pool['dhcprange']) != 0){ + #$template->define_dynamic("Dhcpranges", "Webseite"); + if (count($pool['dhcprange']) > 1){ + foreach ($pool['dhcprange'] as $dhcprange){ + $iprange = explode('_',$dhcprange); + $template->assign(array( + "RANGE1" => $iprange[0], + "RANGE2" => $iprange[1], + "RPOOLDN" => $pool['dn'])); + $template->parse("DHCPRANGES_LIST", ".Dhcpranges"); + $template->clear_dynamic("Dhcpranges"); + } + }else{ + $iprange = explode('_',$pool['dhcprange']); + $template->assign(array( + "RANGE1" => $iprange[0], + "RANGE2" => $iprange[1], + "RPOOLDN" => $pool['dn'])); + $template->parse("DHCPRANGES_LIST", ".Dhcpranges"); + $template->clear_dynamic("Dhcpranges"); + } + } + + # Unknown-Clients + if ($pool['dhcpoptallow'] == "unknown-clients"){ + $unknownclients = "allow"; + $ucselectbox = "<option selected value='allow'> ALLOW </option> + <option value='deny'> DENY </option> + <option value='ignore'> IGNORE </option>"; + } + elseif ($pool['dhcpoptignore'] == "unknown-clients") { + $unknownclients = "ignore"; + $ucselectbox = "<option selected value='ignore'> IGNORE </option> + <option value='allow'> ALLOW </option> + <option value='deny'> DENY </option>"; + } + else{ + $unknownclients = "deny"; + $ucselectbox = "<option selected value='deny'> DENY </option> + <option value='allow'> ALLOW </option> + <option value='ignore'> IGNORE </option>"; + } + + $template->assign(array("POOLDN" => $pool['dn'], + "CN" => $pool['cn'], + "SUBNETDN" => $pool['dhcphlpcont'], + "SUBNET" => $subnet[0], + "SUBNETAU" => $subnetau, + "DESCRIPTION" => $pool['description'], + "STATEMENTS" => $pool['dhcpstatements'], + "UCSELECT" => $ucselectbox, + "UCNOW" => $unknownclients, + "DEFAULTLEASE" => $pool['dhcpoptdefault-lease-time'], + "MAXLEASE" => $pool['dhcpoptmax-lease-time'], + "MNR" => $mnr)); + $template->parse("DHCPPOOLS_LIST", ".Dhcppools"); + +} +} + +################################################################################### + +include("dhcp_footer.inc.php"); + +?>
\ No newline at end of file diff --git a/ldap-site-mngmt/webinterface/dhcp/dhcppools_change.php b/ldap-site-mngmt/webinterface/dhcp/dhcppools_change.php index 375cc01a..1a62cfed 100644 --- a/ldap-site-mngmt/webinterface/dhcp/dhcppools_change.php +++ b/ldap-site-mngmt/webinterface/dhcp/dhcppools_change.php @@ -20,6 +20,8 @@ $addrange1 = $_POST['addrange1']; $addrange2 = $_POST['addrange2']; $uc = $_POST['unknownclients']; $olduc = $_POST['olduc']; +$rbs = $_POST['rbs']; +$oldrbs = $_POST['oldrbs']; # Array to fill with AUs to update dhcpMTime $au_to_update = array(); @@ -40,7 +42,7 @@ $mnr = $_POST['mnr']; #print_r($olduc); echo "<br><br>"; #print_r($uc); echo "<br><br>"; -$seconds = 200; +$seconds = 2; $url = "dhcppool.php?mnr=".$mnr; echo " @@ -85,6 +87,8 @@ for ($i=0;$i<count($delpool);$i++){ array_splice ( &$addrange2, $nr, 1 ); array_splice ( &$uc, $nr, 1 ); array_splice ( &$olduc, $nr, 1 ); + array_splice ( &$rbs, $nr, 1 ); + array_splice ( &$oldrbs, $nr, 1 ); } # da sich Arrays verkleinern, Wert in $key_r entsprechend verkleinern, $j=0; # Variable $j als Zähler um wieviel @@ -111,6 +115,7 @@ for ($i=0;$i<count($pooldn);$i++){ $entrydel = array(); $entryadd = array(); + $entryrbs = array(); # DENY, ALLOW, IGNORE Unknown-clients verarbeiten if ( $uc[$i] != $olduc[$i] ){ $dhcpoptdel = "dhcpopt".$olduc[$i]; @@ -125,6 +130,33 @@ for ($i=0;$i<count($pooldn);$i++){ # Subnet-AU auf DHCP-Modify setzen $au_to_update [] = $subnetau[$i]; } + # RBS + if ( $rbs[$i] != "none" && $rbs[$i] != $oldrbs[$i] ){ + $dhcpdata = get_node_data($rbs[$i],array("tftpserverip","initbootfile")); + $entryrbs ['hlprbservice'] = $rbs[$i]; + $entryrbs ['dhcpoptnext-server'] = $dhcpdata['tftpserverip']; + $entryrbs ['dhcpoptfilename'] = $dhcpdata['initbootfile']; + if ( $oldrbs[$i] == "" ){ + echo "RBS add "; print_r($entryrbs); echo "<br>"; + if ($result = ldap_mod_add($ds,$pooldn[$i],$entryrbs)){ + echo "DHCP Pool erfolgreich in RBS eingebunden.<br>"; + } + }elseif ( $rbs[$i] == "" ){ + $entryrbs ['hlprbservice'] = array(); + $entryrbs ['dhcpoptnext-server'] = array(); + $entryrbs ['dhcpoptfilename'] = array(); + echo "RBS delete "; echo "<br>"; + if ($result = ldap_mod_del($ds,$pooldn[$i],$entryrbs)){ + echo "DHCP Pool erfolgreich aus RBS gelöscht.<br>"; + } + }else{ + echo "RBS replace "; print_r($oldrbs[$i]); echo " with "; print_r($entryrbs); echo "<br>"; + if ($result = ldap_mod_replace($ds,$pooldn[$i],$entryrbs)){ + echo "DHCP Pool RBS Einbindung erfolgreich geändert.<br>"; + } + } + } + # Ranges hinzufügen if ( $addrange1[$i] != "" && $addrange2[$i] != "" ){ if ($syntax->check_ip_syntax($addrange1[$i]) && $syntax->check_ip_syntax($addrange2[$i])){ @@ -132,7 +164,7 @@ for ($i=0;$i<count($pooldn);$i++){ $add1 = strrev(strchr(strrev($addrange1[$i]), ".")); $add2 = strrev(strchr(strrev($addrange2[$i]), ".")); if ( $net == $add1 && $net == $add2 ){ - + printf("Range in Pool %s hinzufügen<br>",$pooldn[$i]); # Range zusammenstellen $newrange = implode("_", array($addrange1[$i],$addrange2[$i])); diff --git a/ldap-site-mngmt/webinterface/dhcp/dhcpsubnets.dwt b/ldap-site-mngmt/webinterface/dhcp/dhcpsubnets.dwt index 76c2913f..514f5b72 100644 --- a/ldap-site-mngmt/webinterface/dhcp/dhcpsubnets.dwt +++ b/ldap-site-mngmt/webinterface/dhcp/dhcpsubnets.dwt @@ -1,16 +1,23 @@ <table border='0' cellpadding='5' cellspacing='0' width='100%'> <tr> - <td colspan='2'><h3>DHCP Subnets</h3> + <td width='80%'> + <h3>DHCP Subnets</h3> + Übersicht der in <b>{AU}</b> angelegten <b>DHCP Subnets</b>:<br> + Subnetz (-maske), Status der Einbindung in den zentralen DHCP Dienst, sowie Informationen zu angelegten dynamischen DHCP Pools des Subnetzes.<br><br> + Zur <b>Verwaltungsmaske</b> eines bestimmten Subnetzes gelangen Sie durch klicken auf entsprechendes Subnetz.<br><br> + DHCP Subnets können nur für Ihnen <b>komplett zugewiesene Subnetze</b> angelegt werden.<br> + Über die <b>Eingabemaske</b> können Sie noch nicht als DHCP Subnets anlegte komplette Subnetze eintragen (Menüpunkt links "Neues DHCP Subnet anlegen"). </td> + <td> </td> </tr> - <tr><td> + <tr><td colspan='2'> <table cellpadding='7' cellspacing='0' border='1' align='left' width='90%' style='border-width: 0 0 0 0;'> <tr> <td width='15%' style='border-color: black; border-style: solid; border-width: 0 0 3 0;'><b>Subnet</b></td> <td width='15%' style='border-color: black; border-style: solid; border-width: 0 0 3 0;'><b>Netmask</b></td> - <td width='25%' style='border-color: black; border-style: solid; border-width: 0 0 3 0;'><b>DHCP Service</b></td> - <td width='45%' style='border-color: black; border-style: solid; border-width: 0 0 3 0;'><b>Dynamic Pools (IP Ranges)</b></td> + <td width='20%' style='border-color: black; border-style: solid; border-width: 0 0 3 0;'><b>DHCP Service</b></td> + <td width='50%' style='border-color: black; border-style: solid; border-width: 0 0 3 0;'><b>Dynamic Pools (IP Ranges)</b></td> </tr> <!-- BEGIN DYNAMIC BLOCK: Subnets --> diff --git a/ldap-site-mngmt/webinterface/dhcp/dhcpsubnets.php b/ldap-site-mngmt/webinterface/dhcp/dhcpsubnets.php index 1bf6b2e1..88e10576 100644 --- a/ldap-site-mngmt/webinterface/dhcp/dhcpsubnets.php +++ b/ldap-site-mngmt/webinterface/dhcp/dhcpsubnets.php @@ -69,7 +69,7 @@ foreach ($subnet_array as $subnet){ $dhcpservice = ""; if ($subnet['dhcphlpcont'] != ""){ $exp = ldap_explode_dn($subnet['dhcphlpcont'],1); - $dhcpservice = $exp[0]." [".$exp[2]."]"; + $dhcpservice = $exp[0]."<br>[".$exp[2]."]"; } $subnetcn = "<a href='dhcpsubnet.php?dn=".$subnet['dn']."&mnr=".$mnr."' class='headerlink'><b>".$subnet['cn']."</b></a>"; diff --git a/ldap-site-mngmt/webinterface/dhcp/menu.dwt b/ldap-site-mngmt/webinterface/dhcp/menu.dwt index 037bdf15..24e68a3c 100644 --- a/ldap-site-mngmt/webinterface/dhcp/menu.dwt +++ b/ldap-site-mngmt/webinterface/dhcp/menu.dwt @@ -6,11 +6,14 @@ <!-- BEGIN DYNAMIC BLOCK: Hauptmenu --> <tr valign='middle' align='left'> -
+ <td width='8%' align='right' style="border-style=none;">{ICON}</td> - <td width="8%" align="left" style="border-width:1 0 1 1;border-color:#000000;border-style:solid;padding:5;background-color:{FARBE}"> </td>
+ <td width="8%" align="left" style="border-width:1 0 1 1;border-color:#000000;border-style:solid;padding:5;background-color:{FARBE}"> </td> <td width="74%" align="left" style="border-width:1 1 1 0;border-color:#000000;border-style:solid;padding:5;background-color:{FARBE}"> - <a href="{LINK_M}" style="text-decoration:none"><b class="standard_schrift">{TEXT_M}</b></a></td>
+ <a href="{LINK_M}" style="text-decoration:none"> + <code class="submenue_schrift">{TEXT_M}</code> + </a> + </td> <td width='10%'> </td> </tr> @@ -22,7 +25,7 @@ <!-- END DYNAMIC BLOCK: Submenu --> <tr height='5'></tr> - <!-- END DYNAMIC BLOCK: Hauptmenu -->
+ <!-- END DYNAMIC BLOCK: Hauptmenu --> |