summaryrefslogtreecommitdiffstats
path: root/ldap-site-mngmt/webinterface/ip
diff options
context:
space:
mode:
authorTarik Gasmi2007-05-14 10:03:48 +0200
committerTarik Gasmi2007-05-14 10:03:48 +0200
commit59cf91925ca8da43d2427331b23e4673b0e53095 (patch)
tree871f39414143192cb3e8bd6f4bd2b7462e7076b9 /ldap-site-mngmt/webinterface/ip
parentSome webinterface data. (diff)
downloadcore-59cf91925ca8da43d2427331b23e4673b0e53095.tar.gz
core-59cf91925ca8da43d2427331b23e4673b0e53095.tar.xz
core-59cf91925ca8da43d2427331b23e4673b0e53095.zip
Other webinterface data.
git-svn-id: http://svn.openslx.org/svn/openslx/trunk@1077 95ad53e4-c205-0410-b2fa-d234c58c8868
Diffstat (limited to 'ldap-site-mngmt/webinterface/ip')
-rw-r--r--ldap-site-mngmt/webinterface/ip/ip.dwt88
-rw-r--r--ldap-site-mngmt/webinterface/ip/ip.php29
-rw-r--r--ldap-site-mngmt/webinterface/ip/ip_blocks.inc.php68
-rw-r--r--ldap-site-mngmt/webinterface/ip/ip_deleg.dwt40
-rw-r--r--ldap-site-mngmt/webinterface/ip/ip_deleg.php102
-rw-r--r--ldap-site-mngmt/webinterface/ip/ip_deleg_change.php198
-rw-r--r--ldap-site-mngmt/webinterface/ip/ip_dhcp.dwt39
-rw-r--r--ldap-site-mngmt/webinterface/ip/ip_dhcp.php54
-rw-r--r--ldap-site-mngmt/webinterface/ip/ip_dhcp_change.php146
-rw-r--r--ldap-site-mngmt/webinterface/ip/ip_footer.inc.php19
-rw-r--r--ldap-site-mngmt/webinterface/ip/ip_header.inc.php22
-rw-r--r--ldap-site-mngmt/webinterface/ip/ip_menu.php69
-rw-r--r--ldap-site-mngmt/webinterface/ip/ip_rechner.dwt39
-rw-r--r--ldap-site-mngmt/webinterface/ip/ip_rechner.php65
-rw-r--r--ldap-site-mngmt/webinterface/ip/ip_rechner_change.php125
-rw-r--r--ldap-site-mngmt/webinterface/ip/ip_start.dwt36
-rw-r--r--ldap-site-mngmt/webinterface/ip/ipblocks.dwt11
-rw-r--r--ldap-site-mngmt/webinterface/ip/menu.dwt22
18 files changed, 1172 insertions, 0 deletions
diff --git a/ldap-site-mngmt/webinterface/ip/ip.dwt b/ldap-site-mngmt/webinterface/ip/ip.dwt
new file mode 100644
index 00000000..804c18ef
--- /dev/null
+++ b/ldap-site-mngmt/webinterface/ip/ip.dwt
@@ -0,0 +1,88 @@
+<html>
+
+<head>
+ <title>{SEITENTITEL}</title>
+ <link rel='stylesheet' href='../styles.css' type='text/css'></head>
+<body>
+
+<table cellpadding='0' cellspacing='0' border='0' width='95%' height='8%'>
+ <tr>
+ <td width='35%'>
+ <table cellpadding='5' cellspacing='0' border='0' width='100%'>
+ <tr valign='top'>
+ <td width='1'></td>
+ <td><h2>Rechner und IP Management</h2></td>
+ </tr>
+ </table>
+ </td>
+
+ <td width='40%'>
+ <table cellpadding='5' cellspacing='0' border='0' width='100%'>
+ <tr valign='top' align='left'>
+ <td>
+ <h4><a href='../start.php' class='headerlink'>Startseite</a>
+ &nbsp;>>&nbsp; <a href='../au/au.php' class='headerlink'>{AU}</a> &nbsp;[ {DOMAIN} ]</h4>
+ </td>
+ </tr>
+ </table>
+ </td>
+ <td width='25%'>
+ <table cellpadding='5' cellspacing='0' border='0' width='100%' align='right'>
+ <tr valign='top' align='right'>
+ <td>
+ {LOGIN}
+ </td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+</table>
+
+<table cellpadding='5' cellspacing='0' border='0' width='95%' height='7%'>
+<tr>
+ <td>{MAINMENU}</td>
+</tr>
+</table>
+
+<hr align='center' width='98%' noshade>
+
+
+
+<table cellpadding='5' cellspacing='0' border='0' width='100%' height='85%'>
+
+ <tr valign='top' height='100%'>
+ <td width='28%'>
+ <table cellpadding='5' cellspacing='0' border='0' width='100%'>
+ <tr>
+ <td>
+
+ {NAVIGATION}
+
+ </td>
+ </tr>
+ <tr>
+ <td>
+
+ {IPBLOCKS}
+
+ </td>
+ </tr>
+ </table>
+ </td>
+
+ <td width='72%'>
+ <table cellpadding='5' cellspacing='0' border='0' width='100%'>
+ <tr><td>
+
+ {HAUPTFENSTER}
+
+ </td></tr>
+ </table>
+ </td>
+
+ </tr>
+</table>
+
+</body>
+
+</html> \ No newline at end of file
diff --git a/ldap-site-mngmt/webinterface/ip/ip.php b/ldap-site-mngmt/webinterface/ip/ip.php
new file mode 100644
index 00000000..8a435442
--- /dev/null
+++ b/ldap-site-mngmt/webinterface/ip/ip.php
@@ -0,0 +1,29 @@
+<?php
+
+include('../standard_header.inc.php');
+
+# 1. Seitentitel - wird in der Titelleiste des Browser angezeigt.
+$titel = "IP Address Management";
+# 2. Nummer des zugehörigen Hauptmenus (Registerkarte) beginnend bei 0, siehe Dokumentation.doc.
+$mainnr = 2;
+$mnr = 0;
+# 3. Dateiname und evtl. Pfad des Templates für die Webseite
+$webseite = "ip_start.dwt";
+
+include("../class.FastTemplate.php");
+
+include("ip_header.inc.php");
+
+###################################################################################
+
+# Menuleiste erstellen
+createMainMenu($rollen, $mainnr);
+createIPMenu($rollen, $mnr);
+
+include("ip_blocks.inc.php");
+
+###################################################################################
+
+include("ip_footer.inc.php");
+
+?> \ No newline at end of file
diff --git a/ldap-site-mngmt/webinterface/ip/ip_blocks.inc.php b/ldap-site-mngmt/webinterface/ip/ip_blocks.inc.php
new file mode 100644
index 00000000..8530e079
--- /dev/null
+++ b/ldap-site-mngmt/webinterface/ip/ip_blocks.inc.php
@@ -0,0 +1,68 @@
+<?php
+
+# Max und Free IP Blocks
+$mipb_array = get_maxipblocks_au($auDN);
+$fipb_array = get_freeipblocks_au($auDN);
+#print_r(count($mipb_array)); echo "<br>";
+#print_r(count($fipb_array)); echo "<br>";
+$ipblocks = "";
+
+# print_r($mipb_array);
+if ($mipb_array[0] != "" ){
+ if (count($mipb_array) > 1 ){
+ $ipblocks .= "<table border='1' cellpadding='2' cellspacing='0' width='100%' style='border-width: 0 0 0 0;'>
+ <tr><td colspan='3' style='border-color: black; border-style: solid; border-width: 0 0 3 0;'>
+ <h4>Zugewiesene IP Bereiche:</h4></td></tr>";
+ foreach ($mipb_array as $mipb){
+ $exp = explode('_',$mipb);
+ $ipblocks .= "<tr><td width='45%' style='border-color: black; border-style: solid; border-width: 0 0 1 0;'>$exp[0]&nbsp;</td>
+ <td style='border-color: black; border-style: solid; border-width: 0 0 1 0;'> - </td>
+ <td width='45%' style='border-color: black; border-style: solid; border-width: 0 0 1 0;'>$exp[1]&nbsp;</td></td></tr>";
+ }
+ }
+ elseif (count($mipb_array) == 1){
+ $ipblocks .= "<table border='1' cellpadding='2' cellspacing='0' width='100%' style='border-width: 0 0 0 0;'>
+ <tr><td colspan='3' style='border-color: black; border-style: solid; border-width: 0 0 3 0;'>
+ <h4>Zugewiesener IP Bereich:</h4></td></tr>";
+ $exp = explode('_',$mipb_array[0]);
+ $ipblocks .= "<tr><td width='45%' style='border-color: black; border-style: solid; border-width: 0 0 1 0;'>$exp[0]&nbsp;</td>
+ <td style='border-color: black; border-style: solid; border-width: 0 0 1 0;'> - </td>
+ <td width='45%' style='border-color: black; border-style: solid; border-width: 0 0 1 0;'>$exp[1]&nbsp;</td></tr>";
+ }
+ elseif( $fipb_array[0] == "" ){
+ $ipblocks .= "<table border='0' cellpadding='2' cellspacing='0' width='100%' style='border-width: 0 0 0 0;'>
+ <tr><td><h4>Keine IP Adressen mehr verf&uuml;gbar</h4></td></tr>";
+ }
+ if (count($fipb_array) > 1 ){
+ $ipblocks .= "<table border='1' cellpadding='2' cellspacing='0' width='100%' style='border-width: 0 0 0 0;'>
+ <tr valign='bottom' height='50'>
+ <td colspan='3' style='border-color: black; border-style: solid; border-width: 0 0 3 0;'>
+ <h4>Davon noch frei verf&uuml;gbar:</h4></td></tr>";
+ foreach ($fipb_array as $fipb){
+ $exp = explode('_',$fipb);
+ $ipblocks .= "<tr><td width='45%' style='border-color: black; border-style: solid; border-width: 0 0 1 0;'>$exp[0]&nbsp;</td>
+ <td style='border-color: black; border-style: solid; border-width: 0 0 1 0;'> - </td>
+ <td width='45%' style='border-color: black; border-style: solid; border-width: 0 0 1 0;'>$exp[1]&nbsp;</td></tr>";
+ }
+ }
+ elseif (count($fipb_array) == 1){
+ $ipblocks .= "<table border='1' cellpadding='2' cellspacing='0' width='100%' style='border-width: 0 0 0 0;'>
+ <tr><td colspan='3' style='border-color: black; border-style: solid; border-width: 0 0 3 0;'>
+ <h4>Davon noch frei verf&uuml;gbar:</h4></td></tr>";
+ $exp = explode('_',$fipb_array[0]);
+ $ipblocks .= "<tr><td width='45%' style='border-color: black; border-style: solid; border-width: 0 0 1 0;'>$exp[0]&nbsp;</td>
+ <td style='border-color: black; border-style: solid; border-width: 0 0 1 0;'> - </td>
+ <td width='45%' style='border-color: black; border-style: solid; border-width: 0 0 1 0;'>$exp[1]&nbsp;</td></tr>";
+ }
+
+}
+
+if( $mipb_array[0] == "" ){
+ $ipblocks .= "<table border='0' cellpadding='2' cellspacing='0' width='100%' style='border-width: 0 0 0 0;'>
+ <tr><td><h4>Ihnen wurden keine IP Adressen zugewiesen</h4></td></tr>";
+}
+$ipblocks .= "</table>";
+
+$template->assign(array("IPBLOCKS" => $ipblocks));
+
+?> \ No newline at end of file
diff --git a/ldap-site-mngmt/webinterface/ip/ip_deleg.dwt b/ldap-site-mngmt/webinterface/ip/ip_deleg.dwt
new file mode 100644
index 00000000..3eb0ea74
--- /dev/null
+++ b/ldap-site-mngmt/webinterface/ip/ip_deleg.dwt
@@ -0,0 +1,40 @@
+<table border='0' cellpadding='5' cellspacing='0' width='100%'>
+ <tr>
+ <td colspan='2'><h3>Folgende IP Adressen haben Sie an untergeordnete Abteilungen delegiert: </h3></td>
+ </tr>
+ <tr>
+ <td height='10'></td>
+ </tr>
+ <tr><td>
+ <table cellpadding='7' cellspacing='0' border='1' align='left' width='90%' style='border-width: 0 0 0 0;'>
+ <tr>
+ <td width='35%' style='border-color: black; border-style: solid; border-width: 0 0 3 0;'><b>Untergeordnete Abteilung</b></td>
+ <td width='65%' style='border-color: black; border-style: solid; border-width: 0 0 3 0;'><b>Delegierte IP Bereiche</b></td>
+ </tr>
+
+ <form action='ip_deleg_change.php' method='post'>
+
+ <!-- BEGIN DYNAMIC BLOCK: AUs -->
+ <tr>
+ <td style='border-color: black; border-style: solid; border-width: 0 0 1 0;'>{CHILDOU} &nbsp;</td>
+ <td style='border-color: black; border-style: solid; border-width: 0 0 1 0;'>
+
+ <!-- BEGIN DYNAMIC BLOCK: Delegs -->
+ <input type='Text' name='range1[]' value='{RANGE1}' size='15' class='medium_form_field'>
+ &nbsp;&nbsp;- &nbsp;&nbsp;
+ <input type='Text' name='range2[]' value='{RANGE2}' size='15' class='medium_form_field'><br>
+ <input type='hidden' name='oldrange1[]' value='{RANGE1}'>
+ <input type='hidden' name='oldrange2[]' value='{RANGE2}'>
+ <input type='hidden' name='childaudn[]' value='{CHILDDN}'>
+ <input type='hidden' name='audn[]' value='{AUDN}'>
+ <!-- END DYNAMIC BLOCK: Delegs -->
+ </td>
+ </tr>
+ <!-- END DYNAMIC BLOCK: AUs -->
+
+ </table></td>
+ <tr>
+ <td><input type='Submit' name='apply' value='anwenden' class='small_loginform_button'>
+ </form></td>
+ </tr>
+</table> \ No newline at end of file
diff --git a/ldap-site-mngmt/webinterface/ip/ip_deleg.php b/ldap-site-mngmt/webinterface/ip/ip_deleg.php
new file mode 100644
index 00000000..dafdaff6
--- /dev/null
+++ b/ldap-site-mngmt/webinterface/ip/ip_deleg.php
@@ -0,0 +1,102 @@
+<?php
+
+include('../standard_header.inc.php');
+
+# 1. Seitentitel - wird in der Titelleiste des Browser angezeigt.
+$titel = "IP Address Management";
+# 2. Nummer des zugehörigen Hauptmenus (Registerkarte) beginnend bei 0, siehe Dokumentation.doc.
+$mainnr = 2;
+$mnr = 3;
+# 3. Dateiname und evtl. Pfad des Templates für die Webseite
+$webseite = "ip_deleg.dwt";
+
+include("../class.FastTemplate.php");
+
+include("ip_header.inc.php");
+
+#############################################################################
+
+# Menuleiste erstellen
+createMainMenu($rollen, $mainnr);
+createIPMenu($rollen, $mnr);
+
+include("ip_blocks.inc.php");
+
+
+#############################################################################
+
+$template->assign(array("CHILDOU" => "Noch keine untergeordnete AU angelegt",
+ "RANGE1" => "",
+ "RANGE2" => "",
+ "CHILDDN" => ""));
+
+$childau_array = get_childau($auDN,array("dn","ou","maxipblock"));
+# print_r ($childau_array);
+
+$template->define_dynamic("Delegs", "Webseite");
+$template->define_dynamic("AUs", "Webseite");
+
+foreach ($childau_array as $childau){
+
+ $template->clear_parse("DELEGS_LIST");
+ if ( count($childau['maxipblock']) > 1 ){
+ foreach ($childau['maxipblock'] as $j){
+ $exp = explode('_',$j);
+ $template->assign(array("CHILDOU" => $childau['ou'],
+ "RANGE1" => $exp[0],
+ "RANGE2" => $exp[1],
+ "CHILDDN" => $childau['dn'],
+ "AUDN" => $auDN));
+ $template->parse("DELEGS_LIST", ".Delegs");
+ $template->clear_dynamic("Delegs");
+ }
+ $template->assign(array("CHILDOU" => $childau['ou'],
+ "RANGE1" => "",
+ "RANGE2" => "",
+ "CHILDDN" => $childau['dn'],
+ "AUDN" => $auDN));
+ $template->parse("DELEGS_LIST", ".Delegs");
+ $template->clear_dynamic("Delegs");
+ $template->assign(array("OU" => $childau['ou']));
+ $template->parse("AUS_LIST", ".AUs");
+
+ }elseif ( count($childau['maxipblock']) == 1 ){
+
+ $exp = explode('_',$childau['maxipblock']);
+ $template->assign(array("CHILDOU" => $childau['ou'],
+ "RANGE1" => $exp[0],
+ "RANGE2" => $exp[1],
+ "CHILDDN" => $childau['dn'],
+ "AUDN" => $auDN));
+ $template->parse("DELEGS_LIST", ".Delegs");
+ $template->clear_dynamic("Delegs");
+ $template->assign(array("CHILDOU" => $childau['ou'],
+ "RANGE1" => "",
+ "RANGE2" => "",
+ "CHILDDN" => $childau['dn'],
+ "AUDN" => $auDN));
+ $template->parse("DELEGS_LIST", ".Delegs");
+ $template->clear_dynamic("Delegs");
+ $template->assign(array("OU" => $childau['ou']));
+ $template->parse("AUS_LIST", ".AUs");
+
+ }else{
+ $template->assign(array("CHILDOU" => $childau['ou'],
+ "RANGE1" => "",
+ "RANGE2" => "",
+ "CHILDDN" => $childau['dn'],
+ "AUDN" => $auDN));
+ $template->parse("DELEGS_LIST", ".Delegs");
+ $template->clear_dynamic("Delegs");
+ $template->assign(array("OU" => $childau['ou']));
+ $template->parse("AUS_LIST", ".AUs");
+ }
+
+}
+
+
+#####################################################################################
+
+include("ip_footer.inc.php");
+
+?>
diff --git a/ldap-site-mngmt/webinterface/ip/ip_deleg_change.php b/ldap-site-mngmt/webinterface/ip/ip_deleg_change.php
new file mode 100644
index 00000000..d3fddc03
--- /dev/null
+++ b/ldap-site-mngmt/webinterface/ip/ip_deleg_change.php
@@ -0,0 +1,198 @@
+<?php
+
+include('../standard_header.inc.php');
+
+$auDN = $_POST['audn'];
+$childauDN = $_POST['childaudn'];
+$oldrange1 = $_POST['oldrange1'];
+$oldrange2 = $_POST['oldrange2'];
+$newrange1 = $_POST['range1'];
+$newrange2 = $_POST['range2'];
+
+/*
+print_r($oldrange1);echo "<br>";
+print_r($newrange1);echo "<br><br>";
+print_r($oldrange2);echo "<br>";
+print_r($newrange2);echo "<br>";
+print_r($childauDN);echo "<br>";
+print_r($auDN);echo "<br><br>";
+*/
+
+$syntax = new Syntaxcheck;
+$url = "ip_deleg.php";
+
+echo "
+<html>
+<head>
+ <title>IP Address Management</title>
+ <link rel='stylesheet' href='../styles.css' type='text/css'>
+</head>
+<body>
+<table border='0' cellpadding='30' cellspacing='0'>
+<tr><td>";
+
+
+$diff1 = array_keys(array_diff_assoc($oldrange1,$newrange1));
+$diff2 = array_keys(array_diff_assoc($newrange1,$oldrange1));
+$tochange1 = array_unique(array_merge($diff1,$diff2));
+
+$diff3 = array_keys(array_diff_assoc($oldrange2,$newrange2));
+$diff4 = array_keys(array_diff_assoc($newrange2,$oldrange2));
+$tochange2 = array_unique(array_merge($diff3,$diff4));
+
+# print_r($tochange1);echo "<br><br>";
+# print_r($tochange2);echo "<br><br>";
+
+$tochange = array_unique(array_merge($tochange1,$tochange2));
+print_r($tochange);echo "<br><br>";
+
+
+foreach ($tochange as $i){
+
+ if ( $oldrange1[$i] == "" && $oldrange2[$i] == "" && $newrange1[$i] != "" && $newrange2[$i] != "" ){
+ echo "neuer IP Bereich delegieren ...";echo "<br>";echo "<br>";
+ print_r($auDN[$i]);echo "<br>";
+ print_r($childauDN[$i]);echo "<br>";
+ echo "<br>";
+ # echo "alte IP Range: ";print_r($oldrange1[$i]);echo " - ";print_r($oldrange2[$i]);echo "<br>";
+ echo "neue IP Range: ";print_r($newrange1[$i]);echo " - ";print_r($newrange2[$i]);echo "<br>";
+
+ if ($syntax->check_ip_syntax($newrange1[$i]) && $syntax->check_ip_syntax($newrange2[$i])){
+ echo "korrekte IP Syntax<br>";
+ $newrange1[$i] = htmlentities($newrange1[$i]);
+ $newrange2[$i] = htmlentities($newrange2[$i]);
+ $newrange_array = array($newrange1[$i],$newrange2[$i]);
+ print_r($newrange_array);
+ $newrange = implode('_',$newrange_array);
+ print_r($newrange);
+ # $oldip[$i] = htmlentities($oldip[$i]);
+ if (new_ip_delegation($newrange,$childauDN[$i],$auDN[$i])){
+ echo "Neuer IP Bereich delegiert eingetragen<br>";
+ }else{echo "Fehler beim delegieren des neuen IP Bereichs<br>";}
+ }else{echo "falsche IP Syntax<br>";}
+
+ $mesg .= "<br>Sie werden automatisch auf die vorherige Seite zur&uuml;ckgeleitet. <br>
+ Falls nicht, klicken Sie hier <a href='ip_deleg.php' style='publink'>back</a>";
+ redirect(2, $url, $mesg, $addSessionId = TRUE);
+ }
+
+ elseif ( $oldrange1[$i] != "" && $oldrange2[$i] != "" && $newrange1[$i] == "" && $newrange2[$i] == "" ){
+ echo "loeschen IP Delegierung ...";echo "<br>";echo "<br>";
+ print_r($auDN[$i]);echo "<br>";
+ print_r($childauDN[$i]);echo "<br>";
+ echo "<br>";
+ echo "alte IP Range: ";print_r($oldrange1[$i]);echo " - ";print_r($oldrange2[$i]);echo "<br>";
+ echo "neue IP Range: ";print_r($newrange1[$i]);echo " - ";print_r($newrange2[$i]);echo "<br>";
+
+ $oldrange1[$i] = htmlentities($oldrange1[$i]);
+ $oldrange2[$i] = htmlentities($oldrange2[$i]);
+ $oldip_array = array($oldrange1[$i],$oldrange2[$i]);
+ $oldrange = implode('_',$oldip_array);
+ if (delete_ip_delegation($oldrange,$childauDN[$i],$auDN[$i])){
+ $mesg = "IP Delegierung geloescht<br>";
+ }else{
+ $mesg = "Fehler beim loeschen der IP Delegierung<br>";
+ }
+
+ $mesg .= "<br>Sie werden automatisch auf die vorherige Seite zur&uuml;ckgeleitet. <br>
+ Falls nicht, klicken Sie hier <a href='ip_deleg.php' style='publink'>back</a>";
+ redirect(2, $url, $mesg, $addSessionId = TRUE);
+ }
+
+ elseif ( $oldrange1[$i] != "" && $oldrange2[$i] != "" && $newrange1[$i] != "" && $newrange2[$i] != "" ){
+ $or1 = ip2long($oldrange1[$i]);
+ $or2 = ip2long($oldrange2[$i]);
+ $nr1 = ip2long($newrange1[$i]);
+ $nr2 = ip2long($newrange2[$i]);
+
+ if ( ($nr1 > $or1 || $nr2 < $or2) && !($nr1 < $or1 || $nr2 > $or2) ){
+
+ echo "reduzieren IP Delegierung";echo "<br>";echo "<br>";
+ print_r($auDN[$i]);echo "<br>";
+ print_r($childauDN[$i]);echo "<br>";
+ echo "alte IP Range: ";print_r($oldrange1[$i]);echo " - ";print_r($oldrange2[$i]);echo "<br>";
+ echo "neue IP Range: ";print_r($newrange1[$i]);echo " - ";print_r($newrange2[$i]);echo "<br>";
+
+ if ($syntax->check_ip_syntax($newrange1[$i]) && $syntax->check_ip_syntax($newrange2[$i])){
+ echo "korrekte IP Syntax<br>";
+
+ $newrange1[$i] = htmlentities($newrange1[$i]);
+ $newrange2[$i] = htmlentities($newrange2[$i]);
+ $newrange_array = array($newrange1[$i],$newrange2[$i]);
+ $newrange = implode('_',$newrange_array);
+ print_r($newrange);
+
+ $oldrange1[$i] = htmlentities($oldrange1[$i]);
+ $oldrange2[$i] = htmlentities($oldrange2[$i]);
+ $oldip_array = array($oldrange1[$i],$oldrange2[$i]);
+ $oldrange = implode('_',$oldip_array);
+ print_r($oldrange);
+
+ if (reduce_ip_delegation($oldrange,$newrange,$childauDN[$i],$auDN[$i])){
+ $mesg = "IP Range verkleinert<br>";
+ }else{
+ $mesg = "Fehler beim verkleinern der IP Range<br>";
+ }
+ }else{echo "falsche IP Syntax<br>";}
+
+ $mesg .= "<br>Sie werden automatisch auf die vorherige Seite zur&uuml;ckgeleitet. <br>
+ Falls nicht, klicken Sie hier <a href='ip_deleg.php' style='publink'>back</a>";
+ redirect(2, $url, $mesg, $addSessionId = TRUE);
+
+
+ }elseif( ($nr1 < $or1 || $nr2 > $or2) && !($nr1 > $or1 || $nr2 < $or2) ){
+
+ echo "vergroessern IP Delegierung";echo "<br>";echo "<br>";
+ print_r($auDN[$i]);echo "<br>";
+ print_r($childauDN[$i]);echo "<br>";
+ echo "<br>";
+ echo "alte IP Range: ";print_r($oldrange1[$i]);echo " - ";print_r($oldrange2[$i]);echo "<br>";
+ echo "neue IP Range: ";print_r($newrange1[$i]);echo " - ";print_r($newrange2[$i]);echo "<br>";
+
+ if ($syntax->check_ip_syntax($newrange1[$i]) && $syntax->check_ip_syntax($newrange2[$i])){
+ echo "korrekte IP Syntax<br>";
+ $newrange1[$i] = htmlentities($newrange1[$i]);
+ $newrange2[$i] = htmlentities($newrange2[$i]);
+ $newrange_array = array($newrange1[$i],$newrange2[$i]);
+ $newrange = implode('_',$newrange_array);
+ print_r($newrange);
+
+ $oldrange1[$i] = htmlentities($oldrange1[$i]);
+ $oldrange2[$i] = htmlentities($oldrange2[$i]);
+ $oldip_array = array($oldrange1[$i],$oldrange2[$i]);
+ $oldrange = implode('_',$oldip_array);
+ print_r($oldrange);
+
+ if (expand_ip_delegation($oldrange,$newrange,$childauDN[$i],$auDN[$i])){
+ $mesg = "IP Range erweitert<br>";
+ }else{
+ $mesg = "Fehler beim erweitern der IP Range<br>";
+ }
+ }else{
+ echo "falsche IP Syntax<br>";
+ }
+ $mesg .= "<br>Sie werden automatisch auf die vorherige Seite zur&uuml;ckgeleitet. <br>
+ Falls nicht, klicken Sie hier <a href='ip_deleg.php' style='publink'>back</a>";
+ redirect(2, $url, $mesg, $addSessionId = TRUE);
+ }
+ else{
+ $mesg = "<br>Verschieben (Shiften) der Delegierung nicht moeglich!<br>
+ Nur Vergroessern und Verkleinern moeglich!<br>";
+ $mesg .= "<br>Sie werden automatisch auf die vorherige Seite zur&uuml;ckgeleitet. <br>
+ Falls nicht, klicken Sie hier <a href='ip_deleg.php' style='publink'>back</a>";
+ redirect(2, $url, $mesg, $addSessionId = TRUE);
+ }
+ }
+ else{
+ $mesg = "keine Aenderung<br>";
+ $mesg .= "<br>Sie werden automatisch auf die vorherige Seite zur&uuml;ckgeleitet. <br>
+ Falls nicht, klicken Sie hier <a href='ip_deleg.php' style='publink'>back</a>";
+ redirect(2, $url, $mesg, $addSessionId = TRUE);
+ }
+}
+
+echo "
+</td></tr></table>
+</head>
+</html>";
+?>
diff --git a/ldap-site-mngmt/webinterface/ip/ip_dhcp.dwt b/ldap-site-mngmt/webinterface/ip/ip_dhcp.dwt
new file mode 100644
index 00000000..b2739df1
--- /dev/null
+++ b/ldap-site-mngmt/webinterface/ip/ip_dhcp.dwt
@@ -0,0 +1,39 @@
+<table border='0' cellpadding='5' cellspacing='0' width='100%'>
+ <tr>
+ <td colspan='2'><h3>Folgende IP Adressen haben Sie in DHCP Ranges vergeben: </h3></td>
+ </tr>
+ <tr>
+ <td height='10'></td>
+ </tr>
+ <tr><td>
+ <table cellpadding='7' cellspacing='0' border='1' align='left' width='90%' style='border-width: 0 0 0 0;'>
+ <tr>
+ <td width='35%' style='border-color: black; border-style: solid; border-width: 0 0 3 0;'><b>DHCP Subnet</b></td>
+ <td width='65%' style='border-color: black; border-style: solid; border-width: 0 0 3 0;'><b>Dynamisch zuweisbare IP Adressen (range)</b></td>
+ </tr>
+
+ <form action='ip_dhcp_change.php' method='post'>
+
+ <!-- BEGIN DYNAMIC BLOCK: Subnets -->
+ <tr>
+ <td style='border-color: black; border-style: solid; border-width: 0 0 1 0;'>{SUBNET} &nbsp;</td>
+ <td style='border-color: black; border-style: solid; border-width: 0 0 1 0;'>
+ <input type='Text' name='range1[]' value='{RANGE1}' size='15' class='medium_form_field'>
+ &nbsp;&nbsp; - &nbsp;&nbsp;
+ <input type='Text' name='range2[]' value='{RANGE2}' size='15' class='medium_form_field'>
+
+ <input type='hidden' name='oldrange1[]' value='{RANGE1}'>
+ <input type='hidden' name='oldrange2[]' value='{RANGE2}'>
+ <input type='hidden' name='dhcpdn[]' value='{DHCPDN}'>
+ <input type='hidden' name='audn[]' value='{AUDN}'>
+ &nbsp;
+ </td>
+ </tr>
+ <!-- END DYNAMIC BLOCK: Subnets -->
+
+ </table></td>
+ <tr>
+ <td><input type='Submit' name='apply' value='anwenden' class='small_loginform_button'>
+ </form></td>
+ </tr>
+</table> \ No newline at end of file
diff --git a/ldap-site-mngmt/webinterface/ip/ip_dhcp.php b/ldap-site-mngmt/webinterface/ip/ip_dhcp.php
new file mode 100644
index 00000000..b89d6506
--- /dev/null
+++ b/ldap-site-mngmt/webinterface/ip/ip_dhcp.php
@@ -0,0 +1,54 @@
+<?php
+
+include('../standard_header.inc.php');
+
+# 1. Seitentitel - wird in der Titelleiste des Browser angezeigt.
+$titel = "IP Address Management";
+# 2. Nummer des zugehörigen Hauptmenus (Registerkarte) beginnend bei 0, siehe Dokumentation.doc.
+$mainnr = 2;
+$mnr = 2;
+# 3. Dateiname und evtl. Pfad des Templates für die Webseite
+$webseite = "ip_dhcp.dwt";
+
+include("../class.FastTemplate.php");
+
+include("ip_header.inc.php");
+
+#############################################################################
+
+# Menuleiste erstellen
+createMainMenu($rollen, $mainnr);
+createIPMenu($rollen, $mnr);
+
+include("ip_blocks.inc.php");
+
+
+#############################################################################
+
+$template->assign(array("SUBNET" => "Noch kein DHCP Objekt angelegt",
+ "RANGE1" => "",
+ "RANGE2" => "",
+ "DHCPDN" => ""));
+
+$subnet_array = get_subnets($auDN,array("dn","cn","dhcprange"));
+# print_r ($subnet_array);
+
+$template->define_dynamic("Subnets", "Webseite");
+
+foreach ($subnet_array as $subnet){
+ $exp = explode('_',$subnet['dhcprange']);
+
+ $template->assign(array("SUBNET" => $subnet['cn'],
+ "RANGE1" => $exp[0],
+ "RANGE2" => $exp[1],
+ "DHCPDN" => $subnet['dn'],
+ "AUDN" => $auDN ));
+ $template->parse("SUBNETS_LIST", ".Subnets");
+}
+
+
+#####################################################################################
+
+include("ip_footer.inc.php");
+
+?> \ No newline at end of file
diff --git a/ldap-site-mngmt/webinterface/ip/ip_dhcp_change.php b/ldap-site-mngmt/webinterface/ip/ip_dhcp_change.php
new file mode 100644
index 00000000..43474eec
--- /dev/null
+++ b/ldap-site-mngmt/webinterface/ip/ip_dhcp_change.php
@@ -0,0 +1,146 @@
+<?php
+
+include('../standard_header.inc.php');
+
+$auDN = $_POST['audn'];
+$dhcpDN = $_POST['dhcpdn'];
+$oldrange1 = $_POST['oldrange1'];
+$oldrange2 = $_POST['oldrange2'];
+$newrange1 = $_POST['range1'];
+$newrange2 = $_POST['range2'];
+
+/*
+print_r($oldrange1);echo "<br>";
+print_r($newrange1);echo "<br><br>";
+print_r($oldrange2);echo "<br>";
+print_r($newrange2);echo "<br>";
+*/
+
+$syntax = new Syntaxcheck;
+$url = "ip_dhcp.php";
+
+echo "
+<html>
+<head>
+ <title>IP Address Management</title>
+ <link rel='stylesheet' href='../styles.css' type='text/css'>
+</head>
+<body>
+<table border='0' cellpadding='30' cellspacing='0'>
+<tr><td>";
+
+
+$diff1 = array_keys(array_diff_assoc($oldrange1,$newrange1));
+$diff2 = array_keys(array_diff_assoc($newrange1,$oldrange1));
+$tochange1 = array_unique(array_merge($diff1,$diff2));
+
+$diff3 = array_keys(array_diff_assoc($oldrange2,$newrange2));
+$diff4 = array_keys(array_diff_assoc($newrange2,$oldrange2));
+$tochange2 = array_unique(array_merge($diff3,$diff4));
+
+# print_r($tochange1);echo "<br><br>";
+# print_r($tochange2);echo "<br><br>";
+
+$tochange = array_unique(array_merge($tochange1,$tochange2));
+# print_r($tochange);echo "<br><br>";
+
+
+foreach ($tochange as $i){
+
+ if ( $oldrange1[$i] == "" && $oldrange2[$i] == "" && $newrange1[$i] != "" && $newrange2[$i] != "" ){
+ echo "neue IP Range";echo "<br>";echo "<br>";
+ print_r($auDN[$i]);echo "<br>";
+ print_r($dhcpDN[$i]);echo "<br>";
+ echo "<br>";
+ echo "alte IP Range: ";print_r($oldrange1[$i]);echo " - ";print_r($oldrange2[$i]);echo "<br>";
+ echo "neue IP Range: ";print_r($newrange1[$i]);echo " - ";print_r($newrange2[$i]);echo "<br>";
+
+ if ($syntax->check_ip_syntax($newrange1[$i]) && $syntax->check_ip_syntax($newrange2[$i])){
+ echo "korrekte IP Syntax<br>";
+ $newrange1[$i] = htmlentities($newrange1[$i]);
+ $newrange2[$i] = htmlentities($newrange2[$i]);
+ $newrange_array = array($newrange1[$i],$newrange2[$i]);
+ print_r($newrange_array);
+ $newrange = implode('_',$newrange_array);
+ print_r($newrange);
+ # $oldip[$i] = htmlentities($oldip[$i]);
+ if (new_ip_dhcprange($newrange,$dhcpDN[$i],$auDN[$i])){
+ $mesg = "Neue IP Range eingetragen<br>";
+ }else{
+ $mesg = "Fehler beim eintragen der neuen IP Range<br>";
+ }
+ }else{echo "falsche IP Syntax<br>";}
+
+ $mesg .= "<br>Sie werden automatisch auf die vorherige Seite zur&uuml;ckgeleitet. <br>
+ Falls nicht, klicken Sie hier <a href='ip_dhcp.php' style='publink'>back</a>";
+ redirect(4, $url, $mesg, $addSessionId = TRUE);
+ }
+
+ elseif ( $oldrange1[$i] != "" && $oldrange2[$i] != "" && $newrange1[$i] == "" && $newrange2[$i] == "" ){
+ echo "loeschen IP Range";echo "<br>";echo "<br>";
+ print_r($auDN[$i]);echo "<br>";
+ print_r($dhcpDN[$i]);echo "<br>";
+ echo "<br>";
+ echo "alte IP Range: ";print_r($oldrange1[$i]);echo " - ";print_r($oldrange2[$i]);echo "<br>";
+ echo "neue IP Range: ";print_r($newrange1[$i]);echo " - ";print_r($newrange2[$i]);echo "<br>";
+
+ $newrange1[$i] = htmlentities($newrange1[$i]);
+ $newrange2[$i] = htmlentities($newrange2[$i]);
+ if (delete_ip_dhcprange($dhcpDN[$i],$auDN[$i])){
+ $mesg = "IP Range geloescht<br>";
+ }else{
+ $mesg = "Fehler beim loeschen der IP Range<br>";
+ }
+
+ $mesg .= "<br>Sie werden automatisch auf die vorherige Seite zur&uuml;ckgeleitet. <br>
+ Falls nicht, klicken Sie hier <a href='ip_dhcp.php' style='publink'>back</a>";
+ redirect(4, $url, $mesg, $addSessionId = TRUE);
+ }
+
+ elseif ( $oldrange1[$i] != "" && $oldrange2[$i] != "" && $newrange1[$i] != "" && $newrange2[$i] != "" ){
+ echo "aendern IP Range";echo "<br>";echo "<br>";
+ print_r($auDN[$i]);echo "<br>";
+ print_r($dhcpDN[$i]);echo "<br>";
+ echo "<br>";
+ echo "alte IP Range: ";print_r($oldrange1[$i]);echo " - ";print_r($oldrange2[$i]);echo "<br>";
+ echo "neue IP Range: ";print_r($newrange1[$i]);echo " - ";print_r($newrange2[$i]);echo "<br>";
+
+ if ($syntax->check_ip_syntax($newrange1[$i]) && $syntax->check_ip_syntax($newrange2[$i])){
+ echo "korrekte IP Syntax<br>";
+ $newrange1[$i] = htmlentities($newrange1[$i]);
+ $newrange2[$i] = htmlentities($newrange2[$i]);
+ $newrange_array = array($newrange1[$i],$newrange2[$i]);
+ $newrange = implode('_',$newrange_array);
+ print_r($newrange);
+ $oldrange1[$i] = htmlentities($oldrange1[$i]);
+ $oldrange2[$i] = htmlentities($oldrange2[$i]);
+ $oldrange_array = array($oldrange1[$i],$oldrange2[$i]);
+ $oldrange = implode('_',$oldrange_array);
+ if (modify_ip_dhcprange($newrange,$dhcpDN[$i],$auDN[$i])){
+ $mesg = "IP Range geaendert<br>";
+ }else{
+ $mesg = "Fehler beim aendern der IP Range<br>";
+ # alte Range wiederherstellen
+ new_ip_dhcprange($oldrange,$dhcpDN[$i],$auDN[$i]);
+ }
+ }else{echo "falsche IP Syntax<br>";}
+
+ $mesg .= "<br>Sie werden automatisch auf die vorherige Seite zur&uuml;ckgeleitet. <br>
+ Falls nicht, klicken Sie hier <a href='ip_dhcp.php' style='publink'>back</a>";
+ redirect(4, $url, $mesg, $addSessionId = TRUE);
+ }
+
+ else{
+ $mesg = "keine Aenderung<br>";
+ $mesg .= "<br>Sie werden automatisch auf die vorherige Seite zur&uuml;ckgeleitet. <br>
+ Falls nicht, klicken Sie hier <a href='ip_dhcp.php' style='publink'>back</a>";
+ redirect(4, $url, $mesg, $addSessionId = TRUE);
+ }
+
+}
+
+echo "
+</td></tr></table>
+</head>
+</html>";
+?> \ No newline at end of file
diff --git a/ldap-site-mngmt/webinterface/ip/ip_footer.inc.php b/ldap-site-mngmt/webinterface/ip/ip_footer.inc.php
new file mode 100644
index 00000000..7849823e
--- /dev/null
+++ b/ldap-site-mngmt/webinterface/ip/ip_footer.inc.php
@@ -0,0 +1,19 @@
+<?php
+
+$template->assign(array("PFAD" => $START_PATH));
+
+# Daten in die Vorlage parsen
+$template->parse("LOGIN", "Login");
+$template->parse("MAINMENU", "Mmenu");
+$template->parse("NAVIGATION", "Menu");
+$template->parse("IPBLOCKS", "IPBlocks");
+$template->parse("HAUPTFENSTER", "Webseite");
+$template->parse("PAGE", "Vorlage");
+
+# Fertige Seite an den Browser senden
+$template->FastPrint("PAGE");
+
+# Abmelden vom LDAP
+ldap_unbind($ds);
+
+?> \ No newline at end of file
diff --git a/ldap-site-mngmt/webinterface/ip/ip_header.inc.php b/ldap-site-mngmt/webinterface/ip/ip_header.inc.php
new file mode 100644
index 00000000..96029f43
--- /dev/null
+++ b/ldap-site-mngmt/webinterface/ip/ip_header.inc.php
@@ -0,0 +1,22 @@
+<?php
+include("ip_menu.php");
+
+$template = new FastTemplate(".");
+
+# dem erstellten Template-Objekt eine Vorlage zuweisen
+$definedTemplates = array("Vorlage" => "ip.dwt",
+ "Login" => "../logout_form.inc.dwt",
+ "Mmenu" => "../hauptmenue.dwt",
+ "Menu" => "menu.dwt",
+ "IPBlocks" => "ipblocks.dwt",
+ "Webseite" => $webseite);
+if (isset($additionalTemplates)) {
+ foreach ($additionalTemplates as $templateKey => $templateFile) {
+ $definedTemplates[$templateKey] = $templateFile;
+ }
+}
+$template->define($definedTemplates);
+
+$template->assign(array("SEITENTITEL" => $titel, "ROLLE" => "mainadmin", "AU" => $au_ou, "DOMAIN" => $assocdom, "USERCN" => $usercn));
+
+?> \ No newline at end of file
diff --git a/ldap-site-mngmt/webinterface/ip/ip_menu.php b/ldap-site-mngmt/webinterface/ip/ip_menu.php
new file mode 100644
index 00000000..528a4066
--- /dev/null
+++ b/ldap-site-mngmt/webinterface/ip/ip_menu.php
@@ -0,0 +1,69 @@
+<?php
+
+function createIPMenu($rollen , $mnr) {
+ global $template;
+ global $START_PATH;
+ # Struktur der Registerkartenleiste
+ $hauptmenu = array(array("link" => "ip.php",
+ "text" => "&Uuml;bersicht",
+ "zugriff" => "alle"),
+ array("link" => "ip_rechner.php",
+ "text" => "IP Adressen Rechner",
+ "zugriff" => array("MainAdmin","HostAdmin")),
+ array("link" => "ip_dhcp.php",
+ "text" => "IP Adressen DHCP",
+ "zugriff" => array("MainAdmin","HostAdmin","DhcpAdmin")),
+ array("link" => "ip_deleg.php",
+ "text" => "Delegierte IP Bereiche",
+ "zugriff" => array("MainAdmin")));
+
+ # $rollen = array_keys($roles);
+
+ # Zusammenstellen der Menuleiste
+ $template->define_dynamic("Hauptmenu", "Menu");
+ $i=0;
+ foreach($hauptmenu as $item) {
+ if($item['zugriff'] === "alle" || vergleicheArrays($rollen , $item['zugriff'])) {
+ if ($i==0) {
+ if ($mnr==0) {
+ $zwisch="";
+ $lastaktive=true;
+ $farb="#505050";
+ }
+ else {
+ $zwisch="";
+ $farb="#A0A0A0";
+ $lastaktive=false;
+ }
+ }
+ else {
+ if ($mnr==$i) {
+ $zwisch="";
+ $lastaktive=true;
+ $farb="#505050";
+ }
+ else {
+ $farb="#A0A0A0";
+ if ($lastaktive) {$zwisch="";}
+ else {$zwisch="";}
+ $lastaktive=false;
+ }
+ }
+ $template->assign(array("ZWISCHEN" => $zwisch,
+ "FARBE" => $farb,
+ "LINK_M" => $item["link"],
+ "TEXT_M" => $item["text"]));
+ $template->parse("HAUPTMENU_LIST", ".Hauptmenu");
+
+ }
+ $i=$i+1;
+ }
+ if ($lastaktive) {$template->assign(array("ENDE" => ""));}
+ else {
+ $template->assign(array("ENDE" => ""));
+ }
+
+}
+
+
+?> \ No newline at end of file
diff --git a/ldap-site-mngmt/webinterface/ip/ip_rechner.dwt b/ldap-site-mngmt/webinterface/ip/ip_rechner.dwt
new file mode 100644
index 00000000..ecadf98a
--- /dev/null
+++ b/ldap-site-mngmt/webinterface/ip/ip_rechner.dwt
@@ -0,0 +1,39 @@
+<table border='0' cellpadding='5' cellspacing='0' width='100%'>
+ <tr>
+ <td colspan='2'><h3>Folgende IP Adressen haben Sie an Rechner vergeben: </h3></td>
+ </tr>
+ <tr>
+ <td height='10'></td>
+ </tr>
+ <tr><td>
+ <table cellpadding='7' cellspacing='0' border='1' align='left' width='90%' style='border-width: 0 0 0 0;'>
+ <tr>
+ <td width='30%' style='border-color: black; border-style: solid; border-width: 0 0 3 0;'><b>Rechner Name</b></td>
+ <td width='70%' style='border-color: black; border-style: solid; border-width: 0 0 3 0;'><b>IP Adresse</b></td>
+ </tr>
+
+ <form action='ip_rechner_change.php' method='post'>
+
+ <!-- BEGIN DYNAMIC BLOCK: Hosts -->
+
+ <tr>
+ <td style='border-color: black; border-style: solid; border-width: 0 0 1 0;'>{HOSTNAME} &nbsp;</td>
+ <td style='border-color: black; border-style: solid; border-width: 0 0 1 0;'>
+ <input type='Text' name='newip[]' value='{IP}' size='15' class='medium_form_field'> &nbsp;&nbsp;{DHCPCONT}
+ <input type='hidden' name='oldip[]' value='{OLDIP}'>
+ <input type='hidden' name='hostdn[]' value='{HOSTDN}'>
+ <input type='hidden' name='audn[]' value='{AUDN}'>
+ &nbsp;
+ </td>
+ </tr>
+
+ <!-- END DYNAMIC BLOCK: Hosts -->
+
+ </table></td>
+ </tr>
+ <tr>
+ <td>
+ <input type='Submit' name='apply' value='anwenden' class='small_loginform_button'></form>
+ </td>
+ </tr>
+</table> \ No newline at end of file
diff --git a/ldap-site-mngmt/webinterface/ip/ip_rechner.php b/ldap-site-mngmt/webinterface/ip/ip_rechner.php
new file mode 100644
index 00000000..66ea23ee
--- /dev/null
+++ b/ldap-site-mngmt/webinterface/ip/ip_rechner.php
@@ -0,0 +1,65 @@
+<?php
+
+include('../standard_header.inc.php');
+
+# 1. Seitentitel - wird in der Titelleiste des Browser angezeigt.
+$titel = "IP Address Management";
+# 2. Nummer des zugehörigen Hauptmenus (Registerkarte) beginnend bei 0, siehe Dokumentation.doc.
+$mainnr = 2;
+$mnr = 1;
+# 3. Dateiname und evtl. Pfad des Templates für die Webseite
+$webseite = "ip_rechner.dwt";
+
+include("../class.FastTemplate.php");
+
+include("ip_header.inc.php");
+
+#############################################################################
+
+# Menuleiste erstellen
+createMainMenu($rollen, $mainnr);
+createIPMenu($rollen, $mnr);
+
+include("ip_blocks.inc.php");
+
+#############################################################################
+
+$template->assign(array("IP" => "",
+ "OLDIP" => "",
+ "DHCPCONT" => "",
+ "HOSTNAME" => "Noch keine Rechner angelegt",
+ "HOSTDN" => ""));
+
+$host_array = get_hosts($auDN,array("dn","hostname","ipaddress","dhcphlpcont"));
+# print_r ($host_array);
+
+$template->define_dynamic("Hosts", "Webseite");
+
+foreach ($host_array as $host){
+ $hostip = explode('_',$host['ipaddress']);
+
+ if ( count($host['dhcphlpcont']) != 0 && $host['ipaddress'] == "" ){
+ $subnetCN = explode('cn=',$host['dhcphlpcont']);
+ $dynsubnet = explode(',', $subnetCN[1]);
+ $dhcpcont = " DYNAMISCH &nbsp;&nbsp;(DHCP, Subnet $dynsubnet[0])";
+ }elseif( count($host['dhcphlpcont']) != 0 && $host['ipaddress'] != "" ){
+ $subnetCN = explode('cn=',$host['dhcphlpcont']);
+ $dynsubnet = explode(',', $subnetCN[1]);
+ $dhcpcont = " STATISCH &nbsp;&nbsp;(DHCP, Subnet $dynsubnet[0])";
+ }else{$dhcpcont = "";}
+
+ $template->assign(array("IP" => $hostip[0],
+ "OLDIP" => $hostip[0],
+ "DHCPCONT" => $dhcpcont,
+ "HOSTNAME" => $host['hostname'],
+ "HOSTDN" => $host['dn'],
+ "AUDN" => $auDN ));
+ $template->parse("HOSTS_LIST", ".Hosts");
+}
+
+
+#####################################################################################
+
+include("ip_footer.inc.php");
+
+?>
diff --git a/ldap-site-mngmt/webinterface/ip/ip_rechner_change.php b/ldap-site-mngmt/webinterface/ip/ip_rechner_change.php
new file mode 100644
index 00000000..68023cb0
--- /dev/null
+++ b/ldap-site-mngmt/webinterface/ip/ip_rechner_change.php
@@ -0,0 +1,125 @@
+<?php
+
+include('../standard_header.inc.php');
+
+$auDN = $_POST['audn'];
+$hostDN = $_POST['hostdn'];
+$oldip = $_POST['oldip'];
+$newip = $_POST['newip'];
+# print_r($newip);echo "<br>";
+# print_r($oldip);echo "<br>";
+
+$syntax = new Syntaxcheck;
+$url = "ip_rechner.php";
+
+echo "
+<html>
+<head>
+ <title>IP Address Management</title>
+ <link rel='stylesheet' href='../styles.css' type='text/css'>
+</head>
+<body>
+<table border='0' cellpadding='30' cellspacing='0'>
+<tr><td>";
+
+
+$diff1 = array_keys(array_diff_assoc($oldip,$newip));
+$diff2 = array_keys(array_diff_assoc($newip,$oldip));
+$tochange = array_unique(array_merge($diff1,$diff2));
+# print_r($diff1);echo "<br>";
+# print_r($diff2);echo "<br>";
+# print_r($tochange);echo "<br><br>";
+
+foreach ($tochange as $i){
+
+ if ( $oldip[$i] == "" && $newip[$i] != "" ){
+ echo "neue IP";echo "<br>";echo "<br>";
+ #print_r($auDN[$i]);echo "<br>";
+ #print_r($hostDN[$i]);echo "<br>";
+ echo "<br>";
+ echo "alte IP: ";print_r($oldip[$i]);echo "<br>";
+ echo "neue IP: ";print_r($newip[$i]);echo "<br>";
+
+ if ($syntax->check_ip_syntax($newip[$i])){
+ echo "korrekte IP Syntax";
+ $newip[$i] = htmlentities($newip[$i]);
+ $newip_array = array($newip[$i],$newip[$i]);
+ #print_r($newip_array);
+ $newipp = implode('_',$newip_array);
+ #print_r($newipp);
+ $oldip[$i] = htmlentities($oldip[$i]);
+ if (new_ip_host($newipp,$hostDN[$i],$auDN[$i])){
+ $mesg = "Neue IP Adresse eingetragen<br>";
+ }else{$mesg = "Fehler beim eintragen der neuen IP Adresse<br>";}
+ }else{echo "falsche IP Syntax";}
+
+ $mesg .= "<br>Sie werden automatisch auf die vorherige Seite zur&uuml;ckgeleitet. <br>
+ Falls nicht, klicken Sie hier <a href='ip_rechner.php' style='publink'>back</a>";
+ redirect(4, $url, $mesg, $addSessionId = TRUE);
+ }
+
+ elseif ( $oldip[$i] != "" && $newip[$i] != "" ){
+ echo "aendern IP";echo "<br>";echo "<br>";
+ #print_r($auDN[$i]);echo "<br>";
+ #print_r($hostDN[$i]);echo "<br>";
+ echo "<br>";
+ echo "alte IP: ";print_r($oldip[$i]);echo "<br>";
+ echo "neue IP: ";print_r($newip[$i]);echo "<br>";
+
+ if ($syntax->check_ip_syntax($newip[$i])){
+ echo "korrekte IP Syntax";
+ $newip[$i] = htmlentities($newip[$i]);
+ $newip_array = array($newip[$i],$newip[$i]);
+ #print_r($newip_array);
+ $newipp = implode('_',$newip_array);
+ #print_r($newipp);
+ $oldip[$i] = htmlentities($oldip[$i]);
+ $oldip_array = array($oldip[$i],$oldip[$i]);
+ $oldipp = implode('_',$oldip_array);
+ if (modify_ip_host($newipp,$hostDN[$i],$auDN[$i])){
+ $mesg = "IP Adresse geaendert<br>";
+ }else{
+ $mesg = "Fehler beim aendern der IP Adresse<br>";
+ # oldip die schon gelöscht wurde wieder einfügen
+ new_ip_host($oldipp,$hostDN[$i],$auDN[$i]);}
+ }else{echo "falsche IP Syntax";}
+
+ $mesg .= "<br>Sie werden automatisch auf die vorherige Seite zur&uuml;ckgeleitet. <br>
+ Falls nicht, klicken Sie hier <a href='ip_rechner.php' style='publink'>back</a>";
+ redirect(4, $url, $mesg, $addSessionId = TRUE);
+ }
+
+ elseif ( $oldip[$i] != "" && $newip[$i] == "" ){
+ echo "loeschen IP";echo "<br>";echo "<br>";
+ #print_r($auDN[$i]);echo "<br>";
+ #print_r($hostDN[$i]);echo "<br>";
+ echo "<br>";
+ echo "alte IP: ";print_r($oldip[$i]);echo "<br>";
+ echo "neue IP: ";print_r($newip[$i]);echo "<br>";
+
+ echo "korrekte IP Syntax";
+ $newip[$i] = htmlentities($newip[$i]);
+ $oldip[$i] = htmlentities($oldip[$i]);
+ if (delete_ip_host($hostDN[$i],$auDN[$i])){
+ $mesg = "IP Adresse geloescht<br>";
+ }else{$mesg = "Fehler beim loeschen der IP Adresse<br>";}
+
+ $mesg .= "<br>Sie werden automatisch auf die vorherige Seite zur&uuml;ckgeleitet. <br>
+ Falls nicht, klicken Sie hier <a href='ip_rechner.php' style='publink'>back</a>";
+ redirect(4, $url, $mesg, $addSessionId = TRUE);
+ }
+
+ else{
+ $mesg = "keine Aenderung<br>";
+ $mesg .= "<br>Sie werden automatisch auf die vorherige Seite zur&uuml;ckgeleitet. <br>
+ Falls nicht, klicken Sie hier <a href='ip_rechner.php' style='publink'>back</a>";
+ redirect(3, $url, $mesg, $addSessionId = TRUE);
+ }
+
+}
+
+echo "
+</td></tr></table>
+</head>
+</html>";
+?>
diff --git a/ldap-site-mngmt/webinterface/ip/ip_start.dwt b/ldap-site-mngmt/webinterface/ip/ip_start.dwt
new file mode 100644
index 00000000..b5e4931f
--- /dev/null
+++ b/ldap-site-mngmt/webinterface/ip/ip_start.dwt
@@ -0,0 +1,36 @@
+<table border='0' cellpadding='5' cellspacing='0' width='90%'>
+ <tr>
+ <td colspan='2'><h3>Modul - IP Adress Management: </h3></td>
+ </tr>
+ <tr>
+ <td height='10'></td>
+ </tr>
+ <tr>
+ <td>
+ <p>Dieses Modul dient der Verwaltung von IP Adressen in ihrer Abteilung.
+ Benutzen Sie die Navigation links, um die einzelnen Bereiche anzusteuern. <br>
+ Unterhalb des Navigations-Menue haben Sie stets einen Ueberblick ueber die Ihnen
+ zugewiesenen IP Bereiche sowie ueber die davon noch frei verfuegbaren IP Adressen.</p>
+ <p> Folgende Bereiche stehen Ihnen zur Verfuegung:</p>
+
+ <ul>
+ <li><p><b>IP Adressen Rechner</b></p>
+ Hier koennen Sie die IP Adressen ihrer Rechner verwalten. Sie koennen IP Adressen neu zuweisen,
+ aendern oder loeschen.
+ </li>
+ <li><p><b>IP Adressen DHCP</b></p>
+ In diesem Bereich koennen Sie die IP Adressen verwalten, die Sie fuer den DHCP Dienst reservieren.
+ D.h. die IP Adress Ranges, welche Sie DHCP Subnetzen oder Pools zugewiesen haben zur dynamischen
+ IP Adresszuweisung.
+ </li>
+ <li><p><b>Delegierte IP Adressen</b></p>
+ In diesem Bereich verwalten Sie ihre an untergeordnete Abteilungen delegierten
+ IP Adressbereiche. Sie koennen neue IP Bereiche delegieren, Delegierungen aendern oder
+ ganz zureucknehmen (loeschen).
+ </li>
+ </ul>
+
+ </td>
+ </tr>
+
+</table> \ No newline at end of file
diff --git a/ldap-site-mngmt/webinterface/ip/ipblocks.dwt b/ldap-site-mngmt/webinterface/ip/ipblocks.dwt
new file mode 100644
index 00000000..b77f53b3
--- /dev/null
+++ b/ldap-site-mngmt/webinterface/ip/ipblocks.dwt
@@ -0,0 +1,11 @@
+<table cellpadding='5' cellspacing='0' border='1' width='100%' style='border-width: 0 0 0 0;'>
+
+ <tr align='left'>
+ <td width='8%'></td>
+ <td width='82%' style='border-color: black; border-style: solid; border-width: 1 1 1 1;'>{IPBLOCKS}</td>
+ <td width='10%'></td>
+
+ </tr>
+ <tr height='5'></tr>
+
+</table> \ No newline at end of file
diff --git a/ldap-site-mngmt/webinterface/ip/menu.dwt b/ldap-site-mngmt/webinterface/ip/menu.dwt
new file mode 100644
index 00000000..34b227c1
--- /dev/null
+++ b/ldap-site-mngmt/webinterface/ip/menu.dwt
@@ -0,0 +1,22 @@
+
+<table cellpadding='0' cellspacing='0' border='0' width='100%'>
+
+
+ <!-- BEGIN DYNAMIC BLOCK: Hauptmenu -->
+
+ <tr valign='middle' align='left'>
+
+ <td width='8%' align='right' style="border-style=none;"></td>
+ <td width="8%" align="left" style="border-width:1 0 1 1;border-color:#000000;border-style:solid;padding:5;background-color:{FARBE}">&nbsp;</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>
+ <td width='10%'>&nbsp;</td>
+
+ </tr>
+
+ <tr height='5'>
+ </tr>
+
+<!-- END DYNAMIC BLOCK: Hauptmenu -->
+
+</table>