From 493c1dd8260f24f8bfaf9271418529011b0f2a80 Mon Sep 17 00:00:00 2001
From: Tarik Gasmi
Date: Fri, 6 Jul 2007 10:29:06 +0000
Subject: Actualised LDAP SiteManagement Webinterface and Perl-Config-Skripts
git-svn-id: http://svn.openslx.org/svn/openslx/trunk@1225 95ad53e4-c205-0410-b2fa-d234c58c8868
---
.../generation-scripts/dhcp_generate.pl | 215 +++++++++++++++++++++
ldap-site-mngmt/generation-scripts/dhcpgen.conf.pl | 11 ++
.../webinterface/computers/computers_menu.php | 6 +-
.../webinterface/computers/dhcphost.dwt | 3 -
.../webinterface/computers/dhcphost_change.php | 4 +
.../webinterface/computers/hostoverview.dwt | 6 +-
.../webinterface/computers/menuentry_add.php | 10 +-
.../webinterface/computers/new_menuentry.dwt | 2 +-
.../webinterface/computers/pxe_bootmenue.dwt | 4 +-
.../webinterface/computers/pxe_bootmenue.php | 2 +-
.../webinterface/computers/pxe_wochenplan.php | 12 +-
ldap-site-mngmt/webinterface/computers/rbshost.dwt | 5 +-
ldap-site-mngmt/webinterface/computers/rbshost.php | 125 ++++++------
ldap-site-mngmt/webinterface/dhcp/dhcp_menu.php | 2 +-
ldap-site-mngmt/webinterface/dhcp/dhcpservice.dwt | 95 ++++-----
ldap-site-mngmt/webinterface/dhcp/dhcpservice.php | 38 +++-
.../webinterface/dhcp/dhcpservice_change.php | 30 ++-
ldap-site-mngmt/webinterface/dhcp/dhcpsubnet.dwt | 92 +++++----
ldap-site-mngmt/webinterface/rbs/gbm.dwt | 100 ++++++++--
ldap-site-mngmt/webinterface/rbs/gbm.php | 38 +++-
ldap-site-mngmt/webinterface/rbs/gbm_change.php | 96 +++++----
ldap-site-mngmt/webinterface/rbs/gbm_overview.php | 22 ++-
ldap-site-mngmt/webinterface/rbs/new_gbm.dwt | 2 +-
ldap-site-mngmt/webinterface/rbs/new_gbm.php | 6 +-
ldap-site-mngmt/webinterface/rbs/new_pxe.dwt | 17 +-
ldap-site-mngmt/webinterface/rbs/new_pxe.php | 28 +--
ldap-site-mngmt/webinterface/rbs/new_rbservice.php | 10 +-
ldap-site-mngmt/webinterface/rbs/pxe.dwt | 8 +
ldap-site-mngmt/webinterface/rbs/pxe.php | 2 +
ldap-site-mngmt/webinterface/rbs/pxe_add.php | 2 +-
.../webinterface/rbs/pxeconfig_default.php | 19 +-
ldap-site-mngmt/webinterface/rbs/rbs_menu.php | 91 ++++-----
ldap-site-mngmt/webinterface/rbs/rbservice.dwt | 158 +++++++--------
ldap-site-mngmt/webinterface/rbs/rbservice.php | 25 ++-
ldap-site-mngmt/webinterface/rbs/rbservice_add.php | 1 +
.../webinterface/rbs/rbservice_change.php | 56 +++++-
ldap-site-mngmt/webinterface/styles.css | 12 +-
37 files changed, 893 insertions(+), 462 deletions(-)
create mode 100644 ldap-site-mngmt/generation-scripts/dhcp_generate.pl
create mode 100644 ldap-site-mngmt/generation-scripts/dhcpgen.conf.pl
(limited to 'ldap-site-mngmt')
diff --git a/ldap-site-mngmt/generation-scripts/dhcp_generate.pl b/ldap-site-mngmt/generation-scripts/dhcp_generate.pl
new file mode 100644
index 00000000..13969f34
--- /dev/null
+++ b/ldap-site-mngmt/generation-scripts/dhcp_generate.pl
@@ -0,0 +1,215 @@
+#!/usr/bin/perl
+
+# Generate ISC DHCP Configuration File
+#
+# generates an include file "dhcp.master.inc" included in dhcpd.conf
+# with:
+# - Definitions of User-defined DHCP Options
+# - DHCP Service Global Options
+# - DHCP Subnet Deklarations and Options
+# - DHCP Host Deklarations and Options
+
+
+use strict;
+use warnings;
+#use diagnostics;
+
+use Net::LDAP;
+use Net::LDAP::LDIF;
+
+our ( $ldaphost, $basedn, $userdn, $passwd, $dhcpdn, $dhcpdconfpath, $dhcpdconffile );
+my ( $ldap, $mesg );
+
+# Read Configuration Variables for LDAP/
+require "dhcpgen.conf.pl";
+#use dhcpgenconfig;
+
+
+# Bind with LDAP Server
+$ldap = Net::LDAP->new( $ldaphost ) or die "$@";
+$mesg = $ldap->bind( $userdn, password => $passwd );
+$mesg->code && die $mesg->error;
+
+
+mkdir "$dhcpdconfpath/includes";
+open DATEI, "> $dhcpdconfpath/includes/dhcp.master.inc";
+
+my @dhcpdnarray = split /,/,$dhcpdn;
+my $aurdn = $dhcpdnarray[2];
+my @auarray = split /=/,$aurdn;
+my $au = $auarray[1];
+my $srvrdn = $dhcpdnarray[0];
+my @srvarray = split /=/,$srvrdn;
+my $srv = $srvarray[1];
+
+# File Header (general Informations)
+printf DATEI "##################### DHCP SERVICE CONFIG ############################################ \n#\n";
+printf DATEI "# DHCP Service: \t\t %s \n", $srv;
+printf DATEI "# Administrative Unit: \t\t %s \n#\n", $au;
+printf DATEI "# [ %s ]\n#\n", $dhcpdn;
+printf DATEI "######################################################################################## \n\n\n";
+
+
+# Ldapsearch on DHCP Service Object
+$mesg = $ldap->search(base => $dhcpdn,
+ scope => 'base',
+ filter => '(objectclass=dhcpService)');
+#Net::LDAP::LDIF->new( \*STDOUT,"w" )->write( $mesg->entries );
+$mesg->code && die $mesg->error;
+my $dhcpservice = $mesg->count or die "DHCP Service Object does not exist in the System";
+my $dhcpsrventry = $mesg->entry(0);
+
+printf DATEI "######################\n# Option Definitions\n######################\n\n";
+# write Definitions of user/self-defined DHCP Options
+if ($dhcpsrventry->exists( 'OptionDefinition' )) {
+ my @optdefinitions = $dhcpsrventry->get_value( 'OptionDefinition' );
+ foreach my $optdef ( @optdefinitions) {
+ printf DATEI "%s\n", $optdef;
+ }
+}
+
+printf DATEI "\n\n######################\n# Global Options\n######################\n\n";
+# write DHCP Options in global Scope
+dhcpoptions( $dhcpsrventry );
+printf DATEI "\n";
+
+
+
+####################################
+# DHCP SUBNETS
+
+# ldapsearch on Subnet Objects referencing to DHCP Service Object
+$mesg = $ldap->search(base=>$basedn,
+ scope => 'sub',
+ filter => '(&(objectclass=dhcpSubnet)(dhcphlpcont:dn:='.$dhcpdn.'))');
+#Net::LDAP::LDIF->new( \*STDOUT,"w" )->write( $mesg->entries );
+$mesg->code && die $mesg->error;
+my @subnets = $mesg->sorted('cn');
+
+# write Subnet Declarations
+printf DATEI "\n\n######################\n# DHCP Subnets\n######################\n\n";
+
+foreach my $subnetentry ( @subnets ) {
+ my $subnetdn = $subnetentry->dn;
+ my $subnet = $subnetentry->get_value( 'cn' );
+ my $netmask = $subnetentry->get_value( 'dhcpoptnetmask' );
+ printf DATEI "subnet %s netmask %s {\n", $subnet, $netmask;
+ # write DHCP Options in Subnet Scope
+ dhcpoptions($subnetentry);
+ # Range
+ if ($subnetentry->exists( 'dhcpRange' )) {
+ my @range = split /_/,$subnetentry->get_value( 'dhcpRange' );
+ printf DATEI " range %s %s;\n", $range[0], $range[1];
+ }
+
+ printf DATEI "}\n\n";
+}
+
+
+####################################
+# DHCP HOSTS
+
+# ldapsearch on DHCP Host Objects referencing to DHCP Service Object
+$mesg = $ldap->search(base=>$basedn,
+ scope => 'sub',
+ filter => '(&(objectclass=dhcpHost)(dhcphlpcont:dn:='.$dhcpdn.'))');
+ #Net::LDAP::LDIF->new( \*STDOUT,"w" )->write( $mesg->entries );
+ $mesg->code && die $mesg->error;
+my @hosts = $mesg->sorted('dn');
+
+# write Host Declarations
+printf DATEI "\n\n######################\n# DHCP Hosts\n######################\n";
+
+# grouping Hosts by Administrative Units (AU)
+my $hostau = "";
+foreach my $hostentry ( @hosts ) {
+
+ # für jede AU eigener Abschnitt (oder abzweigung in eigene includedatei ...)
+ my $hostdn = $hostentry->dn();
+ my @dnarray = split /,/,$hostdn;
+ my @auarray = split /=/,$dnarray[2];
+ my $hostauactual = $auarray[1];
+ if ( $hostau ne $hostauactual) {
+ # hier neues handle und pfad falls eigene includedatei ...
+ printf DATEI "\n################################################\n# AU: %s \n", $hostauactual;
+ $hostau = $hostauactual;
+ }
+ # DHCP Options in Host Scope
+ dhcphost($hostentry);
+}
+
+close DATEI;
+
+# LDAP unbind
+$mesg = $ldap->unbind;
+
+exit (0);
+
+
+###################################################################################################
+# Subroutines
+###############
+
+# write DHCP Options, Parameter: DHCP Object LDAP Entry
+sub dhcpoptions {
+ my $entry = shift;
+ my @atts = $entry->attributes;
+
+ # DHCP Optionen mit 'option' vorne dran
+ my @options1 = grep /dhcpopt/, @atts;
+ #printf "options: @options1\n";
+ foreach my $option ( @options1 ){
+ if ( $option ne "dhcpoptNetmask" ){
+ my $value = $entry->get_value( $option );
+ $option =~ s/dhcpopt//;
+ if ( $option eq "Domain-name"){
+ printf DATEI " option %s \"%s\";\n", lc($option), $value;
+ }else{
+ printf DATEI " option %s %s;\n", lc($option), $value;
+ }
+ }
+ }
+ # DHCP Optionen
+ my @options2 = grep /dhcpOpt/, @atts;
+ #printf "Options: @options2\n";
+ foreach my $option ( @options2 ){
+ if ( $option ne "dhcpOptFixed-address" ){
+ my $value = $entry->get_value( $option );
+ $option =~ s/dhcpOpt//;
+ if ( $option eq "Filename"){
+ printf DATEI " %s \"%s\";\n", lc($option), $value;
+ }else{
+ printf DATEI " %s %s;\n", lc($option), $value;
+ }
+ }
+ }
+}
+
+
+# write DHCP Host specific Options, Parameter: DHCP Object LDAP Entry
+sub dhcphost {
+ my $entry = shift;
+ my @atts = $entry->attributes;
+
+ printf DATEI "\nhost %s {\n", lc $entry->get_value( 'hostname' );
+ # Host specific DHCP Options
+ if ($entry->exists( 'hwaddress' )) {
+ printf DATEI " hardware ethernet %s;\n", $entry->get_value( 'hwaddress' );
+ }
+ if ($entry->exists( 'dhcpoptfixed-address' )) {
+ if ( $entry->get_value('dhcpoptfixed-address') eq "ip" ){
+ my @ip = split /_/, $entry->get_value( 'ipaddress' );
+ printf DATEI " fixed-address %s;\n", lc $ip[0];
+ }
+ if ( $entry->get_value('dhcpoptfixed-address') eq "hostname" ){
+ printf DATEI " fixed-address %s.%s;\n", lc $entry->get_value( 'hostname' ), lc $entry->get_value( 'domainname' );
+ }
+ }
+ my @hwoptions = grep /Hw-/, @atts;
+ foreach my $hwoption ( @hwoptions ){
+ printf DATEI " option %s \"%s\";\n", lc($hwoption), $entry->get_value($hwoption);
+ }
+ # remaining DHCP Options
+ dhcpoptions ($entry);
+ printf DATEI "}\n";
+}
\ No newline at end of file
diff --git a/ldap-site-mngmt/generation-scripts/dhcpgen.conf.pl b/ldap-site-mngmt/generation-scripts/dhcpgen.conf.pl
new file mode 100644
index 00000000..0df08379
--- /dev/null
+++ b/ldap-site-mngmt/generation-scripts/dhcpgen.conf.pl
@@ -0,0 +1,11 @@
+# Beispiel einer Konfiguration der dhcp_generator.pl
+# Zentraler DHCP Dienst DHCP_UniFR des Rechenzentrums
+# verantwortlicher Administrator ist admin01
+
+$ldaphost = "ldap://foo.ruf.uni-freiburg.de"; # aus config.php
+$basedn = "ou=UniFreiburg,ou=RIPM,dc=uni-freiburg,dc=de";
+$userdn = "uid=admin01,ou=people,dc=uni-freiburg,dc=de"; # aus Session
+$passwd = "dipman02"; # aus Session
+$dhcpdn = "cn=DHCP_RZ01,cn=dhcp,ou=Rechenzentrum,ou=UniFreiburg,ou=RIPM,dc=uni-freiburg,dc=de";
+$dhcpdconfpath = "/home/lsm/new_dhcpconfigs";
+#$dhcpdconffile = "dhcpd.conf.new";
diff --git a/ldap-site-mngmt/webinterface/computers/computers_menu.php b/ldap-site-mngmt/webinterface/computers/computers_menu.php
index 977c8492..564f9b28 100644
--- a/ldap-site-mngmt/webinterface/computers/computers_menu.php
+++ b/ldap-site-mngmt/webinterface/computers/computers_menu.php
@@ -140,14 +140,14 @@ function createComputersMenu($rollen , $mnr, $auDN, $sbmnr, $mcnr) {
}
}
$htmlcode= "
-
+
".$zwisch2."
-
-
+
+
".$item2['text']."
diff --git a/ldap-site-mngmt/webinterface/computers/dhcphost.dwt b/ldap-site-mngmt/webinterface/computers/dhcphost.dwt
index a9d18707..2f381850 100644
--- a/ldap-site-mngmt/webinterface/computers/dhcphost.dwt
+++ b/ldap-site-mngmt/webinterface/computers/dhcphost.dwt
@@ -35,9 +35,6 @@
-
-
-
diff --git a/ldap-site-mngmt/webinterface/computers/dhcphost_change.php b/ldap-site-mngmt/webinterface/computers/dhcphost_change.php
index 2a78f109..96bbb715 100644
--- a/ldap-site-mngmt/webinterface/computers/dhcphost_change.php
+++ b/ldap-site-mngmt/webinterface/computers/dhcphost_change.php
@@ -9,6 +9,7 @@ $olddhcp = $_POST['olddhcp'];
$hostip = $_POST['hostip'];
$fixedaddress = $_POST['fixadd'];
$oldfixedaddress = $_POST['oldfixadd'];
+$oldrbs = $_POST['oldrbs'];
$hostDN = $_POST['hostdn'];
$sbmnr = $_POST['sbmnr'];
@@ -72,6 +73,9 @@ if ($dhcp != "none" && $dhcp != $olddhcp){
if ( $oldfixedaddress != "" ){
$entrydhcp ['dhcpoptfixed-address'] = array();
}
+ #if ( $oldrbs != "" ){
+ # $entrydhcp ['hlprbservice'] = array();
+ #}
echo "DHCP delete "; echo " ";
if ($result = ldap_mod_del($ds,$hostDN,$entrydhcp)){
$mesg = "Rechner erfolgreich aus DHCP gelöscht ";
diff --git a/ldap-site-mngmt/webinterface/computers/hostoverview.dwt b/ldap-site-mngmt/webinterface/computers/hostoverview.dwt
index 87ed24a6..51065a56 100644
--- a/ldap-site-mngmt/webinterface/computers/hostoverview.dwt
+++ b/ldap-site-mngmt/webinterface/computers/hostoverview.dwt
@@ -9,17 +9,17 @@
Rechnername
- MAC Adresse
IP Adresse
+ MAC Adresse
DHCP
RBS
- {HOSTNAME}
- {HWADDRESS}
+ {HOSTNAME}
{IPADDRESS}
+ {HWADDRESS}
{DHCPCONT}
{RBSCONT}
diff --git a/ldap-site-mngmt/webinterface/computers/menuentry_add.php b/ldap-site-mngmt/webinterface/computers/menuentry_add.php
index dd10e7c2..4f02d2a6 100644
--- a/ldap-site-mngmt/webinterface/computers/menuentry_add.php
+++ b/ldap-site-mngmt/webinterface/computers/menuentry_add.php
@@ -27,7 +27,7 @@ $pxetype = $pxearray[2];
$seconds = 2;
$get_mecn = str_replace ( " ", "_", $mecn );
-$url = "pxe.php?dn=".$pxeDN."&mecn=".$get_mecn."&mnr=".$mnr."&sbmnr=".$sbmnr."&mcnr=".$mcnr;
+$url = "pxe_bootmenue.php?dn=".$pxeDN."&mecn=".$get_mecn."&mnr=".$mnr."&sbmnr=".$sbmnr."&mcnr=".$mcnr;
echo "
@@ -68,7 +68,7 @@ if ($typ == "newme" && $typ != "local" && $typ != "text" && $typ != "leer" && $t
if (add_me($meDN,$mecn,$gbmDN,$menpos,$meatts,$pxeDN)){
$mesg .= " Neuen Menü Eintrag erfolgreich angelegt ";
- $url = "pxe.php?dn=".$pxeDN."&mnr=".$mnr."&sbmnr=".$sbmnr."&mcnr=".$mcnr;;
+ $url = "pxe_bootmenue.php?dn=".$pxeDN."&mnr=".$mnr."&sbmnr=".$sbmnr."&mcnr=".$mcnr;;
}
else{
$mesg .= " Fehler beim anlegen des Menü Eintrags! ";
@@ -134,7 +134,7 @@ elseif ($typ == "local" && $typ != "newme" && $typ != "text" && $typ != "leer" &
}else{
$mesg .= "Fehler beim eintragen der Localboot Zeile!";
}
- $url = "pxe.php?dn=".$pxeDN."&mnr=".$mnr."&sbmnr=".$sbmnr."&mcnr=".$mcnr;
+ $url = "pxe_bootmenue.php?dn=".$pxeDN."&mnr=".$mnr."&sbmnr=".$sbmnr."&mcnr=".$mcnr;
}
@@ -191,7 +191,7 @@ elseif ($typ == "text" && $typ != "newme" && $typ != "local" && $typ != "leer" &
}else{
$mesg .= "Fehler beim eintragen der Textzeile!";
}
- $url = "pxe.php?dn=".$pxeDN."&mnr=".$mnr."&sbmnr=".$sbmnr."&mcnr=".$mcnr;
+ $url = "pxe_bootmenue.php?dn=".$pxeDN."&mnr=".$mnr."&sbmnr=".$sbmnr."&mcnr=".$mcnr;
}
}
@@ -247,7 +247,7 @@ elseif ($typ == "leer" && $typ != "newme" && $typ != "local" && $typ != "text" &
}else{
$mesg .= "Fehler beim eintragen der Leerzeile!";
}
- $url = "pxe.php?dn=".$pxeDN."&mnr=".$mnr."&sbmnr=".$sbmnr."&mcnr=".$mcnr;
+ $url = "pxe_bootmenue.php?dn=".$pxeDN."&mnr=".$mnr."&sbmnr=".$sbmnr."&mcnr=".$mcnr;
}
diff --git a/ldap-site-mngmt/webinterface/computers/new_menuentry.dwt b/ldap-site-mngmt/webinterface/computers/new_menuentry.dwt
index 9ccaa5ff..40baf438 100644
--- a/ldap-site-mngmt/webinterface/computers/new_menuentry.dwt
+++ b/ldap-site-mngmt/webinterface/computers/new_menuentry.dwt
@@ -1,6 +1,6 @@
- Zurück zu
+ Zurück zu
diff --git a/ldap-site-mngmt/webinterface/computers/pxe_bootmenue.dwt b/ldap-site-mngmt/webinterface/computers/pxe_bootmenue.dwt
index 305baf9f..ac6261b6 100644
--- a/ldap-site-mngmt/webinterface/computers/pxe_bootmenue.dwt
+++ b/ldap-site-mngmt/webinterface/computers/pxe_bootmenue.dwt
@@ -53,8 +53,8 @@
-
-
+
+
diff --git a/ldap-site-mngmt/webinterface/computers/pxe_bootmenue.php b/ldap-site-mngmt/webinterface/computers/pxe_bootmenue.php
index c6b62011..3bd34305 100644
--- a/ldap-site-mngmt/webinterface/computers/pxe_bootmenue.php
+++ b/ldap-site-mngmt/webinterface/computers/pxe_bootmenue.php
@@ -131,7 +131,7 @@ $template->assign(array("MENDN" => "",
"BGCDEF" => "",
"POSITION" => ""));
foreach ($menuentries as $me){
- $anzeige = "";
+ $anzeige = ""; $medef = ""; $mepwd = ""; $mehide = "";
if ($me['label'] != "" && $me['menulabel'] == ""){$anzeige .= $me['label'];}
if ($me['menulabel'] != ""){$anzeige .= $me['menulabel'];}
if ($me['menudefault'] == 1){$medef = "D "; $bgcdef = "background-color:#EEDD82;";}
diff --git a/ldap-site-mngmt/webinterface/computers/pxe_wochenplan.php b/ldap-site-mngmt/webinterface/computers/pxe_wochenplan.php
index 2e73db85..8296762a 100644
--- a/ldap-site-mngmt/webinterface/computers/pxe_wochenplan.php
+++ b/ldap-site-mngmt/webinterface/computers/pxe_wochenplan.php
@@ -78,10 +78,10 @@ foreach ($wopldeftranges as $tr){
#print_r($allx); echo " ";
$daycode = array("MO" => "A", "DI" => "B", "MI" => "C", "DO" => "D", "FR" => "E", "SA" => "F", "SO" => "G");
-$allxcolors = array("#BEBEBE","A0A0A0","#696969","#EEDFCC","#D8BFD8","#505050");
-$dayxcolors = array("#483D8B","#7B68EE","#191970","#8470FF","#708090","#6A5ACD");
-$timexcolors = array("#CDC673","#A2CD5A","#BDB76B","#8B864E","#6B8E23","#CDBE70");
-$daytimecolors = array("880000","#CD6839","#CC3300","#CC6600","#993300","#8B4C39");
+$daytimexcolors = array("#BEBEBE","A0A0A0","#696969","#EEDFCC","#D8BFD8","#505050");
+$allxcolors = array("#483D8B","#7B68EE","#191970","#8470FF","#708090","#6A5ACD");
+$dayxcolors = array("#CDC673","#A2CD5A","#BDB76B","#8B864E","#6B8E23","#CDBE70");
+$timecolors = array("880000","#CD6839","#CC3300","#CC6600","#993300","#8B4C39");
if (count($allx) != 0){
@@ -242,7 +242,7 @@ if (count($daytime) != 0){
}
-$template->assign(array("PXEDESC" => ""));
+$template->assign(array("PXEPLANDESC" => ""));
#print_r($legend);
if (count($legend) != 0){
$template->define_dynamic("Legende", "Webseite");
@@ -252,7 +252,7 @@ if (count($legend) != 0){
$template->assign(array("TR1" => $item[0][0],
"TR2" => $item[0][1],
"TR3" => $item[0][2],
- "PXEDESC" => $item[0][3],
+ "PXEPLANDESC" => $item[0][3],
"COLOR" => $color));
$template->parse("LEGENDE_LIST", ".Legende");
}
diff --git a/ldap-site-mngmt/webinterface/computers/rbshost.dwt b/ldap-site-mngmt/webinterface/computers/rbshost.dwt
index 6fd774cd..59baf810 100644
--- a/ldap-site-mngmt/webinterface/computers/rbshost.dwt
+++ b/ldap-site-mngmt/webinterface/computers/rbshost.dwt
@@ -13,6 +13,9 @@
RBS/PXE Setup - Rechner {HOSTNAME}
+
+ {NODHCP}
+
@@ -370,7 +373,7 @@
- {PXEDESC}
+ {PXEPLANDESC}
diff --git a/ldap-site-mngmt/webinterface/computers/rbshost.php b/ldap-site-mngmt/webinterface/computers/rbshost.php
index 83c2056d..438009ed 100644
--- a/ldap-site-mngmt/webinterface/computers/rbshost.php
+++ b/ldap-site-mngmt/webinterface/computers/rbshost.php
@@ -43,75 +43,75 @@ $rbs_dhcpopt = "";
$host_dhcpopt = "";
$dhcp_selectbox = "";
+$rbs = "";
+$nodhcptext = "";
-# Falls nicht DHCP Dienst dann kein RBS Setup
+# Falls nicht DHCP Dienst dann Erklärung ...
if ($dhcphlpcont == ""){
- $rbs = "
- Sie müssen den Rechner zuerst in einem DHCP Dienst anmelden, bevor Sie ihn
- einem Remote Boot Dienst zuordnen können (DHCP Optionen!!).
-
- ";
-}else{
-
- ###########################################################
- # RBS Setup # Nur wenn angezeigt wenn Host in DHCP
- $rbs_selectbox = "";
- $rbs_dhcpopt = "";
- $altrbs = alternative_rbservices($rbsDN);
-
-
- $rbs_selectbox .= "
-
- ---------- ";
- if (count($altrbs) != 0){
- foreach ($altrbs as $item){
- $rbs_selectbox .= "
- ".$item['cn']." ".$item['au']." ";
- }
- }
- $rbs_selectbox .= "Kein RBS
- ";
+ $nodhcptext .= "Der Rechner ist in keinem DHCP Dienst eingetragen. Dies ist jedoch Voraussetzung,
+ um einen Remote Boot Dienst nutzen zu können.
+ D.h. die hier verwalteten RBS-relevanten DHCP Optionen werden bzw. sind für den Client zentral gespeichert,
+ werden jedoch in keine DHCP Dienst Konfiguration ünernommen.
+ ";
+}
+#
+###########################################################
+# RBS Setup
+$rbs_selectbox = "";
+$rbs_dhcpopt = "";
+$altrbs = alternative_rbservices($rbsDN);
- # RBS Daten
- if ($rbsDN == ""){
-
- $rbs = "Remote Boot Dienst:
-
- Rechner ist in keinem Remote Boot Dienst angemeldet
-
- RBS auswählen: ".$rbs_selectbox;
- }else{
-
- $rbs = "";
- $rbsdata = get_node_data($rbsDN,array("tftpserverip"));
- #print_r($rbsdata); echo " ";
- $exp2 = explode(',',$host['hlprbservice']);
- $exprbs = explode('=',$exp2[0]); $rbserv = $exprbs[1];
- $exprbsau = explode('=',$exp2[2]); $rbsau = $exprbsau[1];
- $rbs .= "
- Remote Boot Dienst:
-
- Remote Boot Service ".$rbserv." / AU ".$rbsau."
-
-
- DHCP Option next-server (TFTP Boot Server IP):
- ".$host['dhcpoptnext-server']."
-
-
- DHCP Option filename (initiale remote Bootdatei):
- ".$host['dhcpoptfilename']."
-
-
- RBS Einbindung ändern: ".$rbs_selectbox."
- ";
-
- $rbs_dhcpopt = "
- ";
+
+ $rbs_selectbox .= "
+
+ ---------- ";
+if (count($altrbs) != 0){
+ foreach ($altrbs as $item){
+ $rbs_selectbox .= "
+ ".$item['cn']." ".$item['au']." ";
}
+}
+$rbs_selectbox .= "Kein RBS
+ ";
+# RBS Daten
+if ($rbsDN == ""){
+
+ $rbs .= "Remote Boot Dienst:
+
+ Rechner ist in keinem Remote Boot Dienst angemeldet
+
+ RBS auswählen: ".$rbs_selectbox;
+}else{
+
+ $rbsdata = get_node_data($rbsDN,array("tftpserverip"));
+ #print_r($rbsdata); echo " ";
+ $exp2 = explode(',',$host['hlprbservice']);
+ $exprbs = explode('=',$exp2[0]); $rbserv = $exprbs[1];
+ $exprbsau = explode('=',$exp2[2]); $rbsau = $exprbsau[1];
+ $rbs .= "
+ Remote Boot Dienst:
+
+ Remote Boot Service ".$rbserv." / AU ".$rbsau."
+
+
+ DHCP Option next-server (TFTP Boot Server IP):
+ ".$host['dhcpoptnext-server']."
+
+
+ DHCP Option filename (initiale remote Bootdatei):
+ ".$host['dhcpoptfilename']."
+
+
+ RBS Einbindung ändern: ".$rbs_selectbox."
+ ";
+
+ $rbs_dhcpopt = "";
}
+
+
$template->assign(array("HOSTDN" => $hostDN,
"HOSTNAME" => $host['hostname'],
"DOMAINNAME" => $host['domainname'],
@@ -120,6 +120,7 @@ $template->assign(array("HOSTDN" => $hostDN,
"DESCRIPTION" => $host['description'],
"OLDDHCP" => $objectDN,
"OLDFIXADD" => $host['dhcpoptfixed-address'],
+ "NODHCP" => $nodhcptext,
"OLDRBS" => $rbsDN,
"RBS" => $rbs,
"HOSTLINK" => "
@@ -74,87 +76,90 @@
- Option
- Wert(e)
-
-
-
- Server Identifier:
-
-
-
-
+ Option
+ Wert(e)
-
- Default Lease Time:
-
-
+
+
+ Default Lease Time:
+
+
-
+
Max Lease Time:
-
+
-
- Use Host DCL Names:
-
-
+
+ Use Host DCL Names:
+
+
-
- DHCP Max Message Size:
-
-
+
+ DHCP Max Message Size:
+
+
-
+
DDNS Update Style:
-
+
-
- Domain Name:
-
-
-
+
+ Domain Name:
+
+
+
-
- Domain Name Servers:
-
-
+
+ Domain Name Servers:
+
+
-
+
NTP Servers:
-
- Allow:
-
+
+ Allow:
+
-
+
Deny:
+
+ Self-definierte Optionen:
+
+ {OPTDEF}
+
+ Option hinzufügen:
+
+
+
+
diff --git a/ldap-site-mngmt/webinterface/dhcp/dhcpservice.php b/ldap-site-mngmt/webinterface/dhcp/dhcpservice.php
index 59d77bbe..144ae183 100644
--- a/ldap-site-mngmt/webinterface/dhcp/dhcpservice.php
+++ b/ldap-site-mngmt/webinterface/dhcp/dhcpservice.php
@@ -30,6 +30,7 @@ $template->assign(array("DHCPDN" => "",
"SECONDARY" => "",
"DESCRIPTION" => "",
"STATEMENTS" => "",
+ "FAILOVERPEER" => "",
"ALLOW" => "",
"DENY" => "",
"IGNORE" => "",
@@ -40,18 +41,22 @@ $template->assign(array("DHCPDN" => "",
"DOMAINNAME" => "",
"DOMAINNAMESERVERS" => "",
"MAXMESSIZE" => "",
- "SRVIDENT" => "",
"NTPSERVERS" => "",
"OPTGENERIC" => "",
+ "OPTDEF" => "",
+ "OPTDEFINITION" => "",
"DHCPOFFERNOWDN" => "",
- "DHCPOFFERNOW" => ""));
+ "DHCPOFFERNOW" => "",
+ "SUBNET" => "keine Subnetze zugewiesen",
+ "NETMASK" => "",
+ "SUBNETAU" => ""));
# DHCP Service Daten
$dhcpsv_array = get_dhcpservices($auDN,array("dn","cn"));
$dhcpserviceDN = $dhcpsv_array[0]['dn'];
-$attributes = array("dn","cn","dhcpprimarydn","dhcpsecondarydn","description","dhcpofferdn","dhcpstatements","dhcpoptallow",
- "dhcpoptddns-update-style","dhcpoptdefault-lease-time","dhcpoptdeny","dhcpoptfilename",
- "dhcpoptignore","dhcpoptmax-lease-time","dhcpoptnext-server","dhcpoptserver-identifier",
+$attributes = array("dn","cn","dhcpprimarydn","dhcpsecondarydn","description","dhcpofferdn","dhcpstatements","dhcpfailoverpeer",
+ "dhcpoptallow","dhcpoptddns-update-style","dhcpoptdefault-lease-time","dhcpoptdeny","dhcpoptfilename",
+ "dhcpoptignore","dhcpoptmax-lease-time","dhcpoptnext-server","optiondefinition",
"dhcpoptuse-host-decl-names","dhcpoptbroadcast-address","dhcpoptdhcp-max-message-size",
"dhcpoptdomain-name","dhcpoptdomain-name-servers","dhcpoptgeneric","dhcpoptntp-servers",
"dhcpoptroot-path","dhcpoptrouters");
@@ -81,6 +86,22 @@ $expcn = explode('_',$dhcpsv_data['cn']);
$name = array_slice($expcn,1);
$dhcpcn = implode('_',$name);
+$optdef = "";
+if (count($dhcpsv_data['optiondefinition']) == 1){
+ $dhcpsv_data['optiondefinition'] = array($dhcpsv_data['optiondefinition']);
+}
+if (count($dhcpsv_data['optiondefinition']) > 0){
+ foreach ($dhcpsv_data['optiondefinition'] as $optdefinition){
+ $optdef .= "
+
+
+
+
+
+
+ ";
+ }
+}
$template->assign(array("DHCPDN" => $dhcpsv_data['dn'],
"CN" => $dhcpcn,
@@ -88,6 +109,7 @@ $template->assign(array("DHCPDN" => $dhcpsv_data['dn'],
"SECONDARY" => $dhcpsv_data['dhcpsecondarydn'],
"DESCRIPTION" => $dhcpsv_data['description'],
"STATEMENTS" => $dhcpsv_data['dhcpstatements'],
+ "FAILOVERPEER" => $dhcpsv_data['dhcpfailoverpeer'],
"ALLOW" => $dhcpsv_data['dhcpoptallow'],
"DENY" => $dhcpsv_data['dhcpoptdeny'],
"IGNORE" => $dhcpsv_data['dhcpoptignore'],
@@ -100,11 +122,10 @@ $template->assign(array("DHCPDN" => $dhcpsv_data['dn'],
"DOMAINNAMESERVERS" => $dhcpsv_data['dhcpoptdomain-name-servers'],
"NEXTSERVER" => $dhcpsv_data['dhcpoptnext-server'],
"FILENAME" => $dhcpsv_data['dhcpoptfilename'],
- "SRVIDENT" => $dhcpsv_data['dhcpoptserver-identifier'],
"NTPSERVERS" => $dhcpsv_data['dhcpoptntp-servers'],
- "OPTGENERIC" => $dhcpsv_data['dhcpoptgeneric'],
"DHCPOFFERNOWDN" => $dhcpsv_data['dhcpofferdn'],
"DHCPOFFERNOW" => $dhcpoffernow,
+ "OPTDEF" => $optdef,
"MNR" => $mnr,
"SBMNR" => $sbmnr));
@@ -115,6 +136,7 @@ foreach ($dhcpoffers as $offer){
$template->parse("DHCPOFFERS_LIST", ".Dhcpoffers");
}
+
# Subnetze und Hosts des Dienstes
$dhcpobjects = get_service_subnets($dhcpserviceDN, array("dn","cn","dhcpoptnetmask"));
#print_r($dhcpobjects);
@@ -150,7 +172,7 @@ foreach ($dhcpobjects as $subnet){
################################################
# DHCP Generator Skript Config
-$template->assign(array("DHCPGENLDAP" => "ldap://".LDAP_HOST,
+$template->assign(array("DHCPGENLDAP" => LDAP_HOST,
"DHCPGENBASE" => "ou=RIPM,".$suffix,
"DHCPGENUDN" => $userDN,
"DHCPGENPW" => $userPassword,
diff --git a/ldap-site-mngmt/webinterface/dhcp/dhcpservice_change.php b/ldap-site-mngmt/webinterface/dhcp/dhcpservice_change.php
index 5096d355..55e51cd9 100644
--- a/ldap-site-mngmt/webinterface/dhcp/dhcpservice_change.php
+++ b/ldap-site-mngmt/webinterface/dhcp/dhcpservice_change.php
@@ -5,6 +5,9 @@ $cn = "DHCP_".$_POST['cn'];
$oldcn = "DHCP_".$_POST['oldcn'];
$dhcpoffer = $_POST['dhcpoffer'];
$olddhcpoffer = $_POST['olddhcpoffer'];
+$dhcpoptdefinition = $_POST['dhcpoptdefinition'];
+$olddhcpoptdefinition = $_POST['olddhcpoptdefinition'];
+$adddhcpoptdefinition = $_POST['adddhcpoptdefinition'];
$dhcpDN = $_POST['dhcpdn'];
@@ -122,6 +125,23 @@ if ( $dhcpoffer != "none" ){
}
+#####################################
+# Selbstdefinierte Optionen
+
+if ( $adddhcpoptdefinition != "" ){
+ echo "Selbst-definierte DHCP Option hinzufügen. ";
+ $entryadd['optiondefinition'] = $adddhcpoptdefinition;
+ if(ldap_mod_add($ds,$dhcpDN,$entryadd)){
+ $mesg = "Selbst-definierte DHCP Option erfolgreich eingetragen ";
+ }else{
+ $mesg = "Fehler beim eintragen Selbst-definierte DHCP Option ";
+ }
+}
+
+#todo: array_vergleich -> Änderung -> ldap_modify
+#print_r($dhcpoptdefinition);echo " ";
+#print_r($olddhcpoptdefinition);echo " ";
+
#####################################
# Restliche Attribute
@@ -148,14 +168,8 @@ foreach (array_keys($atts) as $key){
}
}
-#print_r($entryadd); echo " ";
-#print_r($entrymod); echo " ";
-#print_r($entrydel); echo " ";
-
if (count($entryadd) != 0 ){
- #print_r($entryadd); echo " ";
- #echo "neu anlegen ";
foreach (array_keys($entryadd) as $key){
$addatts .= "".$key." ,";
}
@@ -167,8 +181,6 @@ if (count($entryadd) != 0 ){
}
if (count($entrymod) != 0 ){
- #print_r($entrymod); echo " ";
- #echo "ändern ";
foreach (array_keys($entrymod) as $key){
$modatts .= "".$key." ,";
}
@@ -180,8 +192,6 @@ if (count($entrymod) != 0 ){
}
if (count($entrydel) != 0 ){
- #print_r($entrydel); echo " ";
- #echo "löschen ";
foreach (array_keys($entrydel) as $key){
$delatts .= "".$key." ,";
}
diff --git a/ldap-site-mngmt/webinterface/dhcp/dhcpsubnet.dwt b/ldap-site-mngmt/webinterface/dhcp/dhcpsubnet.dwt
index 394b63fc..d35b3d30 100644
--- a/ldap-site-mngmt/webinterface/dhcp/dhcpsubnet.dwt
+++ b/ldap-site-mngmt/webinterface/dhcp/dhcpsubnet.dwt
@@ -57,8 +57,27 @@
+
+
+
+
+
+
+
+ Subnet Ranges / Pools:
+
+
+
+
+
+
+
@@ -84,78 +103,71 @@
- Option
- Wert(e)
+ Option
+ Wert(e)
-
- Default Lease Time:
-
-
+
+ Default Lease Time:
+
+
-
+
Max Lease Time:
-
+
-
- DDNS Update Style:
-
-
-
-
-
-
- Domain Name:
-
-
+
+ Domain Name:
+
+
-
+
Domain Name Servers:
-
+
-
- Routers:
-
+
+ Routers:
+
-
- Broadcast Address:
-
+
+ Broadcast Address:
+
-
+
NTP Servers:
-
- Next Server:
-
-
-
+
+ Allow:
+
+
+
-
- Filename:
+
+ Deny:
-
-
+
+
diff --git a/ldap-site-mngmt/webinterface/rbs/gbm.dwt b/ldap-site-mngmt/webinterface/rbs/gbm.dwt
index b2f77800..2c96ceaa 100644
--- a/ldap-site-mngmt/webinterface/rbs/gbm.dwt
+++ b/ldap-site-mngmt/webinterface/rbs/gbm.dwt
@@ -1,4 +1,12 @@
+
+
+
+
+
+
+
+
Generisches Boot Image {GBMCN}
@@ -25,9 +33,11 @@
+
+
KERNEL und APPEND Parameter:
@@ -38,42 +48,66 @@
- Attribut
- Server Pfad
- Wert
- Wert
+ Attribut
+ Wert
+
- KERNEL Image:
-
- {TFTP}::{TFTPPATH}
+ KERNEL
-
+ {TFTPIP}::{TFTPROOT}/{TFTPKERNEL}
+
+
+ APPEND
+
+
+
+
+
- Initialram FS (APPEND initrd=..):
-
- {TFTP}::{TFTPPATH}
-
-
+ Initialram FS:
+
+ initrd={TFTPIP}::{TFTPROOT}/{TFTPKERNEL}
+
- Root Filesystem (APPEND rootfs=..):
-
- {SELECTOPTIONS}
+ Root Filesystem:
+
+ rootfs={ROOTFS}
-
-
-
+
+
+
+ Ändern:
+ {FSURISELECT}
+
+
+ bei NFS eventuell um spezifischen Pfad erweitern:
+
+
+
+
+ Debug-Level:
+
+ debug=
+
+
+
+
+
+ Misc APPEND: (wird hinten angefügt)
+
+
+
IPAPPEND:
-
@@ -92,6 +126,32 @@
+
+
+
+
+ Daraus ergibt sich folgender generischer Bootmenüeintrag
+
+
+ Diesen können Nutzer des Dienstes für ihre PXE-Configs verwenden und zu eigenen Menüeinträgen erweitern.
+
+
+
+
+
+
+
+ LABEL .....
+ MENU LABEL ......
+ KERNEL {TFTPIP}::/{TFTPKERNEL}{KERNEL}
+ APPEND initrd={TFTPIP}::/{TFTPKERNEL}{INITRD} rootfs={ROOTFS} debug={DEBUG} {MISC}
+ IPAPPEND {IPAPPEND}
+
+
+
+
+
+
diff --git a/ldap-site-mngmt/webinterface/rbs/gbm.php b/ldap-site-mngmt/webinterface/rbs/gbm.php
index 0efe7922..f0cfbb25 100644
--- a/ldap-site-mngmt/webinterface/rbs/gbm.php
+++ b/ldap-site-mngmt/webinterface/rbs/gbm.php
@@ -27,16 +27,28 @@ createRBSMenu($rollen, $mnr, $auDN, $sbmnr);
$gbmDN = $_GET['dn'];
+$template->assign(array("TFTPROOT" => "",
+ "TFTPKERNEL" => "",
+ "TFTPPXE" => "",
+ "TFTPCLIENTCONF" => "",
+ "NFS" => "",
+ "NFSPATH" => "",
+ "NBD" => ""));
+
# rbservice und pxe daten (voerst nur ein rbs)
$rbs_array = get_rbservices($auDN,array("dn","cn"));
$rbsDN = $rbs_array[0]['dn'];
# RBS Daten
-$rbs_data = get_node_data($rbsDN, array("cn","nfsserverip","exportpath","tftpserverip","tftppath","nbdserverip"));
+$rbs_data = get_node_data($rbsDN, array("cn","tftpserverip","tftproot","tftpkernelpath","tftpclientconfpath",
+ "tftppxepath","nfsserverip","exportpath","nbdserverip","fileserveruri"));
$template->assign(array("RBSCN" => $rbs_data['cn'],
+ "TFTPIP" => $rbs_data['tftpserverip'],
+ "TFTPROOT" => $rbs_data['tftproot'],
+ "TFTPKERNEL" => $rbs_data['tftpkernelpath'],
+ "TFTPPXE" => $rbs_data['tftppxepath'],
+ "TFTPCLIENTCONF" => $rbs_data['tftpclientconfpath'],
"NFS" => $rbs_data['nfsserverip'],
"NFSPATH" => $rbs_data['exportpath'],
- "TFTP" => $rbs_data['tftpserverip'],
- "TFTPPATH" => $rbs_data['tftppath'],
"NBD" => $rbs_data['nbdserverip']));
@@ -47,12 +59,25 @@ $template->assign(array("GBMDN" => $gbmDN,
"INITRD" => "",
"FSTYPE" => "",
"ROOTFS" => "",
+ "DEBUG" => "",
+ "MISC" => "",
"IPAPPEND" => ""));
# GBM Daten
-$attributes = array("dn","cn","label","kernel","initrd","rootfstype","rootfspath","ipappend");
+$attributes = array("dn","cn","label","kernel","initrd","rootfs","rootfstype","rootfspath","debug","appendmisc","ipappend");
$gbm = get_node_data($gbmDN, $attributes);
+$selectboxmax = count($rbs_data['fileserveruri']) + 1;
+$fsuriselectbox = "
+ --------------------------------- ";
+if ( $rbs_data['fileserveruri'] != "" ){
+ foreach ($rbs_data['fileserveruri'] as $fsuri){
+ $fsuriselectbox .= "".$fsuri." ";
+ }
+}
+$fsuriselectbox .= "
+ ";
+
if ($gbm['rootfstype'] == 'nfs'){
$options = "
nfs://".$rbs_data['nfsserverip'].":/".$rbs_data['exportpath']."
@@ -96,8 +121,11 @@ $template->assign(array("GBMCN" => $gbm['cn'],
"LABEL" => $gbm['label'],
"KERNEL" => $gbm['kernel'],
"INITRD" => $gbm['initrd'],
+ "FSURISELECT" => $fsuriselectbox,
"SELECTOPTIONS" => $options,
- "ROOTFS" => $gbm['rootfspath'],
+ "ROOTFS" => $gbm['rootfs'],
+ "DEBUG" => $gbm['debug'],
+ "MISC" => $gbm['appendmisc'],
"IPAPPEND" => $gbm['ipappend'],
"RBSDN" => $rbsDN,
"MNR" => $mnr,
diff --git a/ldap-site-mngmt/webinterface/rbs/gbm_change.php b/ldap-site-mngmt/webinterface/rbs/gbm_change.php
index 86067acd..ff01865d 100644
--- a/ldap-site-mngmt/webinterface/rbs/gbm_change.php
+++ b/ldap-site-mngmt/webinterface/rbs/gbm_change.php
@@ -9,8 +9,11 @@ $rbsDN = $_POST['rbsdn'];
$mnr = $_POST['mnr'];
$sbmnr = $_POST['sbmnr'];
-$rootfstype = $_POST['rootfstype'];
-$oldrootfstype = $_POST['oldrootfstype'];
+$rootfs = $_POST['rootfs'];
+#$oldrootfs = $_POST['oldrootfs'];
+$rootfspath = $_POST['rootfspath'];
+$rootfssuffix = $_POST['rootfssuffix'];
+#$oldrootfstype = $_POST['oldrootfstype'];
$attribs = $_POST['attribs'];
if (count($attribs) != 0){
@@ -92,42 +95,65 @@ if ( $oldgbmcn != "" && $gbmcn == "" ){
}
###################################
-# RootFS Type
-
-if ( $oldrootfstype == $rootfstype ){
- # $mesg = "keine Aenderung ";
-}
-
-if ( $oldrootfstype == "" && $rootfstype != "" ){
- $entryadd ['rootfstype'] = $rootfstype;
- if(ldap_mod_add($ds,$gbmDN,$entryadd)){
- $mesg = "Attribute RootfsType erfolgreich eingetragen ";
- }else{
- $mesg = "Fehler beim eintragen der Attribute RootfsType ";
- }
-}
-
-
-if ( $oldrootfstype != "" && $rootfstype != "" && $oldrootfstype != $rootfstype ){
- echo "Root FS Type ändern ";
- $entrymod ['rootfstype'] = $rootfstype;
- if(ldap_mod_replace($ds,$gbmDN,$entrymod)){
- $mesg = "Attribute RootfsType erfolgreich geaendert ";
- }else{
- $mesg = "Fehler beim aendern der Attribute RootfsType ";
- }
+# RootFS
+if ( $rootfs != "" ){
+ if ( $rootfs == "none" ){
+ echo "Root FS löschen! ";
+ $entrydel ['rootfs'] = array();
+ if(ldap_mod_del($ds,$gbmDN,$entrydel)){
+ $mesg = "Attribut RootFS erfolgreich gelöscht ";
+ }else{
+ $mesg = "Fehler beim löschen des Attributs RootFS ";
+ }
+
+ }else{
+ echo "Root FS ändern! ";
+ $entrymod ['rootfs'] = $rootfs.$rootfssuffix;
+ if(ldap_mod_replace($ds,$gbmDN,$entrymod)){
+ $mesg = "Attribut RootFS erfolgreich geändert ";
+ }else{
+ $mesg = "Fehler beim ändern des Attributs RootFS ";
+ }
+ }
}
+###################################
+# RootFS Type
-if ( $oldrootfstype != "" && $rootfstype == "" ){
- echo "Root FS Type löschen! ";
- $entrydel ['rootfstype'] = array();
- if(ldap_mod_del($ds,$gbmDN,$entrydel)){
- $mesg = "Attribute RootfsType erfolgreich geloescht ";
- }else{
- $mesg = "Fehler beim loeschen der Attribute RootfsType ";
- }
-}
+#if ( $oldrootfstype == $rootfstype ){
+# # $mesg = "keine Aenderung ";
+#}
+
+#if ( $oldrootfstype == "" && $rootfstype != "" ){
+# $entryadd ['rootfstype'] = $rootfstype;
+# if(ldap_mod_add($ds,$gbmDN,$entryadd)){
+# $mesg = "Attribute RootfsType erfolgreich eingetragen ";
+# }else{
+# $mesg = "Fehler beim eintragen der Attribute RootfsType ";
+# }
+#}
+
+
+#if ( $oldrootfstype != "" && $rootfstype != "" && $oldrootfstype != $rootfstype ){
+# echo "Root FS Type ändern ";
+# $entrymod ['rootfstype'] = $rootfstype;
+# if(ldap_mod_replace($ds,$gbmDN,$entrymod)){
+# $mesg = "Attribute RootfsType erfolgreich geaendert ";
+# }else{
+# $mesg = "Fehler beim aendern der Attribute RootfsType ";
+# }
+#}
+
+
+#if ( $oldrootfstype != "" && $rootfstype == "" ){
+# echo "Root FS Type löschen! ";
+# $entrydel ['rootfstype'] = array();
+# if(ldap_mod_del($ds,$gbmDN,$entrydel)){
+# $mesg = "Attribute RootfsType erfolgreich geloescht ";
+# }else{
+# $mesg = "Fehler beim loeschen der Attribute RootfsType ";
+# }
+#}
###################################
diff --git a/ldap-site-mngmt/webinterface/rbs/gbm_overview.php b/ldap-site-mngmt/webinterface/rbs/gbm_overview.php
index 1158a396..bb0ebb83 100644
--- a/ldap-site-mngmt/webinterface/rbs/gbm_overview.php
+++ b/ldap-site-mngmt/webinterface/rbs/gbm_overview.php
@@ -6,7 +6,7 @@ include('../standard_header.inc.php');
$titel = "Remote Boot Service Management";
# 2. Nummer des zugehörigen Hauptmenus (Registerkarte) beginnend bei 0, siehe Dokumentation.doc.
$mainnr = 4;
-$mnr = 2;
+$mnr = -1;
$sbmnr = -1;
$mcnr = -1;
# 3. Dateiname und evtl. Pfad des Templates für die Webseite
@@ -18,33 +18,41 @@ include('rbs_header.inc.php');
###################################################################################
+$mnr = $_GET['mnr'];
+$sbmnr = $_GET['sbmnr'];
+
# Menuleisten erstellen
createMainMenu($rollen, $mainnr);
createRBSMenu($rollen, $mnr, $auDN, $sbmnr);
###################################################################################
+$rbsDN = $_GET['rbsdn'];
+
$template->assign(array("GBMDN" => "",
"GBMCN" => "Noch keine Generischen Boot Menüs angelegt",
"KERNEL" => "",
"FS" => ""));
-# rbservice und pxe daten (voerst nur ein rbs)
-$rbs_array = get_rbservices($auDN,array("dn","cn"));
-$rbsDN = $rbs_array[0]['dn'];
-
# Generic Bootmenüs
$generic_bms = get_menuentries($rbsDN,array("dn","cn","label","kernel","nfsroot","nbdroot"));
$template->define_dynamic("Genericbm", "Webseite");
$template->define_dynamic("Offers", "Webseite");
+
foreach ($generic_bms as $gbm){
if ($gbm['nfsroot'] != ""){$fs = "NFS";}
if ($gbm['nbdroot'] != ""){$fs = "NBD";}
+
+ $gbmname = "";
+
$template->assign(array("GBMDN" => $gbm['dn'],
- "GBMCN" => $gbm['cn'],
+ "GBMCN" => $gbmname,
"KERNEL" => $gbm['kernel'],
- "FS" => $fs));
+ "FS" => $fs,
+ "MNR" => $mnr,
+ "SBMNR" => $sbmnr,
+ "RBSDN" => $rbsDN));
$template->parse("GENERICBM_LIST", ".Genericbm");
}
diff --git a/ldap-site-mngmt/webinterface/rbs/new_gbm.dwt b/ldap-site-mngmt/webinterface/rbs/new_gbm.dwt
index b84cf66d..d5d21dc2 100644
--- a/ldap-site-mngmt/webinterface/rbs/new_gbm.dwt
+++ b/ldap-site-mngmt/webinterface/rbs/new_gbm.dwt
@@ -1,6 +1,6 @@
- Generisches Boot Image {GBMCN}
+ Neues generisches Boot Image für Dienst {RBSCN}
anlegen
diff --git a/ldap-site-mngmt/webinterface/rbs/new_gbm.php b/ldap-site-mngmt/webinterface/rbs/new_gbm.php
index 4ece741c..3300ffb0 100644
--- a/ldap-site-mngmt/webinterface/rbs/new_gbm.php
+++ b/ldap-site-mngmt/webinterface/rbs/new_gbm.php
@@ -25,11 +25,9 @@ createRBSMenu($rollen, $mnr, $auDN, $sbmnr);
###################################################################################
-$gbmcn = str_replace ( "_", " ", $_GET['gbmcn']);
+$rbsDN = $_GET['rbsdn'];
-# rbservice und pxe daten (voerst nur ein rbs)
-$rbs_array = get_rbservices($auDN,array("dn","cn"));
-$rbsDN = $rbs_array[0]['dn'];
+$gbmcn = str_replace ( "_", " ", $_GET['gbmcn']);
# RBS Daten
$rbs_data = get_node_data($rbsDN, array("cn","nfsserverip","exportpath","tftpserverip","tftppath","nbdserverip"));
diff --git a/ldap-site-mngmt/webinterface/rbs/new_pxe.dwt b/ldap-site-mngmt/webinterface/rbs/new_pxe.dwt
index c97324b5..3418d674 100644
--- a/ldap-site-mngmt/webinterface/rbs/new_pxe.dwt
+++ b/ldap-site-mngmt/webinterface/rbs/new_pxe.dwt
@@ -1,6 +1,6 @@
- Neues DEFAULT PXE Boot Menü anlegen:
+ Neue PXE Config (DEFAULT) für Dienst {RBSCN}
anlegen:
@@ -18,20 +18,6 @@
PXE_
-
- Remote Boot Dienst
- auswählen:
-
-
- ----------
-
-
- {ALTRBSCN} {ALTRBSAU}
-
-
-
-
-
Gültigkeitsdauer (Time Range):
@@ -144,6 +130,7 @@
+
diff --git a/ldap-site-mngmt/webinterface/rbs/new_pxe.php b/ldap-site-mngmt/webinterface/rbs/new_pxe.php
index 9a6afba0..338f5d48 100644
--- a/ldap-site-mngmt/webinterface/rbs/new_pxe.php
+++ b/ldap-site-mngmt/webinterface/rbs/new_pxe.php
@@ -28,6 +28,9 @@ createRBSMenu($rollen, $mnr, $auDN, $sbmnr);
###################################################################################
+$rbsDN = $_GET['rbsdn'];
+$rbsdnexp = ldap_explode_dn($rbsDN, 1);
+
$pxecn = str_replace ( "_", " ", $_GET['pxecn']);
$pxeday = str_replace ( "_", " ", $_GET['pxeday']);
$pxebeg = str_replace ( "_", " ", $_GET['pxebeg']);
@@ -39,7 +42,8 @@ $template->assign(array("PXECN" => $pxecn,
"PXEEND" => $pxeend,
"LDAPURI" => "",
"FILEURI" => "",
- "RBS" => "",
+ "RBSDN" => $rbsDN,
+ "RBSCN" => $rbsdnexp[0],
"RBSAU" => "",
"NFS" => "",
"NFSROOT" => "",
@@ -65,28 +69,6 @@ $template->assign(array("PXECN" => $pxecn,
"MNR" => $mnr,
"SBMNR" => $sbmnr));
-#############################################
-# RB Dienste holen
-$rbsoffers = get_rbsoffers($auDN);
-
-$template->assign(array("ALTRBSDN" => "",
- "ALTRBSCN" => "",
- "ALTRBSAU" => ""));
-
-if (count($rbsoffers) != 0){
-$template->define_dynamic("Altrbs", "Webseite");
- foreach ($rbsoffers as $item){
- $rbsdnexp = ldap_explode_dn($item,1);
- $rbsoffcn = $rbsdnexp[0];
- $rbsoffau = $rbsdnexp[2];
- #$auexp = explode(',',$item['auDN']);
- #$altrbsau = explode('=',$auexp[0]);
- $template->assign(array("ALTRBSDN" => $item,
- "ALTRBSCN" => $rbsoffcn,
- "ALTRBSAU" => " [ Abt.: ".$rbsoffau." ]"));
- $template->parse("ALTRBS_LIST", ".Altrbs");
- }
-}
###################################################################################
diff --git a/ldap-site-mngmt/webinterface/rbs/new_rbservice.php b/ldap-site-mngmt/webinterface/rbs/new_rbservice.php
index 020e3254..2882ebda 100644
--- a/ldap-site-mngmt/webinterface/rbs/new_rbservice.php
+++ b/ldap-site-mngmt/webinterface/rbs/new_rbservice.php
@@ -24,15 +24,7 @@ createRBSMenu($rollen, $mnr, $auDN, $sbmnr);
###################################################################################
-# nochmal zur Sicherheit: falls doch RBS angelegt
-$rbs_array = get_rbservices($auDN,array("dn","cn"));
-if (count($rbs_array) != 0){
- $url = "rbservice.php?mnr=1";
- $seconds = 1;
- $mesg .= " Sie werden automatisch auf die nächste Seite geleitet.
- Falls nicht, klicken Sie hier hier ";
- redirect($seconds, $url, $mesg, $addSessionId = TRUE);
-}
+# nochmal zur Sicherheit: falls doch RBS angelegt
$rbscn = str_replace ( "_", " ", $_GET['rbscn']);
$template->assign(array("RBSCN" => $rbscn,
diff --git a/ldap-site-mngmt/webinterface/rbs/pxe.dwt b/ldap-site-mngmt/webinterface/rbs/pxe.dwt
index 4b881338..ae1c112a 100644
--- a/ldap-site-mngmt/webinterface/rbs/pxe.dwt
+++ b/ldap-site-mngmt/webinterface/rbs/pxe.dwt
@@ -1,4 +1,12 @@
+
+
+
+
+
+
+
+
PXE Boot Menü {PXECN}
diff --git a/ldap-site-mngmt/webinterface/rbs/pxe.php b/ldap-site-mngmt/webinterface/rbs/pxe.php
index f9671d22..11f25875 100644
--- a/ldap-site-mngmt/webinterface/rbs/pxe.php
+++ b/ldap-site-mngmt/webinterface/rbs/pxe.php
@@ -29,6 +29,7 @@ createRBSMenu($rollen, $mnr, $auDN, $sbmnr);
###################################################################################
$pxeDN = $_GET['dn'];
+#$rbsDN = $_GET['rbsdn'];
$attributes = array("dn","cn","rbservicedn","filename","timerange","allowoptions","console","default",
"display","font","implicit","kbdmap","menumasterpasswd","menutitle",
@@ -90,6 +91,7 @@ $maxpos = count($menuentries)+1;
$template->assign(array("PXEDN" => $pxeDN,
"PXECN" => $pxecn,
"TIMERANGE" => $pxe['timerange'],
+ "RBSDN" => $rbsDN,
"RBS" => $rbsdata['cn'],
"RBSAU" => $rbsau,
"NFS" => $rbsdata['nfsserverip'],
diff --git a/ldap-site-mngmt/webinterface/rbs/pxe_add.php b/ldap-site-mngmt/webinterface/rbs/pxe_add.php
index 4b314ab1..793cb34f 100644
--- a/ldap-site-mngmt/webinterface/rbs/pxe_add.php
+++ b/ldap-site-mngmt/webinterface/rbs/pxe_add.php
@@ -2,7 +2,7 @@
include('../standard_header.inc.php');
$pxecn = $_POST['pxecn']; $pxecn = htmlentities($pxecn);
-$rbsDN = $_POST['rbs'];
+$rbsDN = $_POST['rbsdn'];
#print_r($rbsDN);
$pxeday = $_POST['pxeday']; $pxeday = htmlentities($pxeday);
$pxebeg = $_POST['pxebeg']; $pxebeg = htmlentities($pxebeg);
diff --git a/ldap-site-mngmt/webinterface/rbs/pxeconfig_default.php b/ldap-site-mngmt/webinterface/rbs/pxeconfig_default.php
index f9a2b7db..243c647b 100644
--- a/ldap-site-mngmt/webinterface/rbs/pxeconfig_default.php
+++ b/ldap-site-mngmt/webinterface/rbs/pxeconfig_default.php
@@ -6,7 +6,7 @@ include('../standard_header.inc.php');
$titel = "Remote Boot Service Management";
# 2. Nummer des zugehörigen Hauptmenus (Registerkarte) beginnend bei 0, siehe Dokumentation.doc.
$mainnr = 4;
-$mnr = 3;
+$mnr = -1;
$sbmnr = -1;
$mcnr = -1;
# 3. Dateiname und evtl. Pfad des Templates für die Webseite
@@ -19,6 +19,7 @@ include('rbs_header.inc.php');
###################################################################################
$mnr = $_GET['mnr'];
+$sbmnr = $_GET['sbmnr'];
# Menuleisten erstellen
createMainMenu($rollen, $mainnr);
@@ -26,15 +27,14 @@ createRBSMenu($rollen, $mnr, $auDN, $sbmnr);
###################################################################################
+$rbsDN = $_GET['rbsdn'];
+
$template->assign(array("PXEDN" => "",
"PXECN" => "Noch kein Default PXE Boot Menü angelegt",
"TRANGES" => "",
"RBS" => "",
"CN" => ""));
-# rbservice und pxe daten (voerst nur ein rbs)
-$rbs_array = get_rbservices($auDN,array("dn","cn"));
-$rbsDN = $rbs_array[0]['dn'];
$pxe_array = get_pxeconfigs($rbsDN,array("dn","cn","timerange","rbservicedn"));
# print_r($pxe_array);
@@ -52,17 +52,22 @@ for ($i=0; $i