From a03c4c6f322627b10ac3d9f66978fd0fbf035378 Mon Sep 17 00:00:00 2001 From: Tarik Gasmi Date: Thu, 7 Jun 2007 17:50:06 +0000 Subject: Aktuelle Version LDAP-Site-Mngmt Webinterface git-svn-id: http://svn.openslx.org/svn/openslx/trunk@1157 95ad53e4-c205-0410-b2fa-d234c58c8868 --- ldap-site-mngmt/webinterface/lib/ldap.inc.php | 10 ++--- .../webinterface/lib/rbs_management_functions.php | 50 ++++++++++++++++++++++ ldap-site-mngmt/webinterface/rbs/gbm.php | 5 ++- ldap-site-mngmt/webinterface/rbs/pxe.dwt | 2 +- ldap-site-mngmt/webinterface/rbs/pxe.php | 1 + ldap-site-mngmt/webinterface/rbs/rbservice.dwt | 4 +- ldap-site-mngmt/webinterface/rbs/rbservice.php | 2 +- .../webinterface/rbs/rbservice_change.php | 47 +++++++++++++++++++- 8 files changed, 109 insertions(+), 12 deletions(-) (limited to 'ldap-site-mngmt') diff --git a/ldap-site-mngmt/webinterface/lib/ldap.inc.php b/ldap-site-mngmt/webinterface/lib/ldap.inc.php index 793a54a4..60a83e0d 100644 --- a/ldap-site-mngmt/webinterface/lib/ldap.inc.php +++ b/ldap-site-mngmt/webinterface/lib/ldap.inc.php @@ -34,7 +34,7 @@ function uniLdapConnect($userRdn = "", $userPwd = "") { # Connect zum LDAP-Server OK if(ldap_set_option($ds, LDAP_OPT_PROTOCOL_VERSION, 3)) { # Optionen gesetzt - if (ldap_start_tls($ds)){ + #if (ldap_start_tls($ds)){ if($userRdn != "" && $userPwd != "") { # Anmeldung als User. if($result = @ldap_bind($ds, "uid=".$userRdn.",ou=people,".$suffix, $userPwd)) { @@ -61,10 +61,10 @@ function uniLdapConnect($userRdn = "", $userPwd = "") { return false; } } - } else { - # TLS starten fehlgeschlagen - $ldapError .= "TLS starten fehlgeschlagen: ".ldap_error($ds)."
\n"; - } + #} else { + # # TLS starten fehlgeschlagen + # $ldapError .= "TLS starten fehlgeschlagen: ".ldap_error($ds)."
\n"; + #} } else { # Optionen setzen fehlgeschlagen $ldapError .= "Protokollversion setzen fehlgeschlagen: ".ldap_error($ds)."
\n"; diff --git a/ldap-site-mngmt/webinterface/lib/rbs_management_functions.php b/ldap-site-mngmt/webinterface/lib/rbs_management_functions.php index 6b1f42fd..cc73595e 100644 --- a/ldap-site-mngmt/webinterface/lib/rbs_management_functions.php +++ b/ldap-site-mngmt/webinterface/lib/rbs_management_functions.php @@ -194,6 +194,56 @@ function rbs_adjust_host($hostDN, $rbs){ } } +# Bei Ă„nderung der TFTP Server IP eines RBS-Objekts entsprechend DHCP Option next-server +# in den Hostobjekten anpassen +function adjust_dhcpnextserver($tftpIP, $rbsDN){ + + global $ds, $suffix, $ldapError; + + if(!($result = uniLdapSearch($ds, "ou=RIPM,".$suffix, "(&(objectclass=Host)(hlprbservice=$rbsDN))", array("dn"), "dn", "sub", 0, 0))) { + # redirect(5, "", $ldapError, FALSE); + echo "no search"; + die; + } + $result = ldapArraySauber($result); + $modtftpentry ['dhcpoptnext-server'] = $tftpIP; + foreach ($result as $item){ + ldap_mod_replace($ds, $item['dn'], $modtftpentry); + } +} + +# Bei Ă„nderung des PXE Init Boot File eines RBS-Objekts entsprechend DHCP Option Filename +# in den Hostobjekten anpassen +function adjust_dhcpfilename($initbootfile, $rbsDN, $type){ + + global $ds, $suffix, $ldapError; + + if(!($result = uniLdapSearch($ds, "ou=RIPM,".$suffix, "(&(objectclass=Host)(hlprbservice=$rbsDN))", array("dn"), "dn", "sub", 0, 0))) { + # redirect(5, "", $ldapError, FALSE); + echo "no search"; + die; + } + $result = ldapArraySauber($result); + if ($type == "add"){ + $modentry ['dhcpoptfilename'] = $initbootfile; + foreach ($result as $item){ + ldap_mod_add($ds, $item['dn'], $modentry); + } + } + elseif ($type == "delete"){ + $modentry ['dhcpoptfilename'] = array(); + foreach ($result as $item){ + ldap_mod_del($ds, $item['dn'], $modentry); + } + } + elseif ($type == "replace"){ + $modentry ['dhcpoptfilename'] = $initbootfile; + foreach ($result as $item){ + ldap_mod_replace($ds, $item['dn'], $modentry); + } + } +} + # # Sucht den Hostname zu einer IP im Rechnerteilbaum der AU diff --git a/ldap-site-mngmt/webinterface/rbs/gbm.php b/ldap-site-mngmt/webinterface/rbs/gbm.php index 59aefc5a..0efe7922 100644 --- a/ldap-site-mngmt/webinterface/rbs/gbm.php +++ b/ldap-site-mngmt/webinterface/rbs/gbm.php @@ -80,14 +80,15 @@ if ($gbm['rootfstype'] == 'dnbd'){ "; } -if ($gbm['rootfstype'] != 'nfs' && $gbm['rootfstype'] != 'nbd' && $gbm['rootfstype'] != 'dnbd'){ +#if ($gbm['rootfstype'] != 'nfs' && $gbm['rootfstype'] != 'nbd' && $gbm['rootfstype'] != 'dnbd'){ +if ($gbm['rootfstype'] == 'none' ){ $options = " - "; + "; } diff --git a/ldap-site-mngmt/webinterface/rbs/pxe.dwt b/ldap-site-mngmt/webinterface/rbs/pxe.dwt index 4ce35565..4b881338 100644 --- a/ldap-site-mngmt/webinterface/rbs/pxe.dwt +++ b/ldap-site-mngmt/webinterface/rbs/pxe.dwt @@ -24,7 +24,7 @@
- {POSITION}  + {BACKLINK}{POSITION} {MEDEF} {MEPWD} {MEHIDE}  {ANZEIGE}  diff --git a/ldap-site-mngmt/webinterface/rbs/pxe.php b/ldap-site-mngmt/webinterface/rbs/pxe.php index 85df99ac..f9671d22 100644 --- a/ldap-site-mngmt/webinterface/rbs/pxe.php +++ b/ldap-site-mngmt/webinterface/rbs/pxe.php @@ -168,6 +168,7 @@ foreach ($menuentries as $me){ if ($me['menupasswd'] != ""){$mepwd = "P";} if ($me['menuhide'] == 1){$mehide = "H"; $bgcdef = "background-color:#A0A0A0;";} $template->assign(array("MENDN" => $me['dn'], + "BACKLINK" => "", "ANZEIGE" => "".$anzeige."", "ANZEIGENAME" => $anzeige, "POSITION" => $me['menuposition'], diff --git a/ldap-site-mngmt/webinterface/rbs/rbservice.dwt b/ldap-site-mngmt/webinterface/rbs/rbservice.dwt index c2af43fb..93e70898 100644 --- a/ldap-site-mngmt/webinterface/rbs/rbservice.dwt +++ b/ldap-site-mngmt/webinterface/rbs/rbservice.dwt @@ -71,8 +71,8 @@ Init Boot File - - + + {TFTP} diff --git a/ldap-site-mngmt/webinterface/rbs/rbservice.php b/ldap-site-mngmt/webinterface/rbs/rbservice.php index 73dde633..896acbf8 100644 --- a/ldap-site-mngmt/webinterface/rbs/rbservice.php +++ b/ldap-site-mngmt/webinterface/rbs/rbservice.php @@ -129,7 +129,7 @@ foreach ($hosts_array as $item){ ################################################ # PXE Generator Skript Config -$pxegen_ldap = "ldap://".LDAP_HOST; +$pxegen_ldap = LDAP_HOST; $pxegen_base = "ou=RIPM,".$suffix; $pxegen_udn = $userDN; $pxegen_pw = $userPassword; diff --git a/ldap-site-mngmt/webinterface/rbs/rbservice_change.php b/ldap-site-mngmt/webinterface/rbs/rbservice_change.php index e5419c36..a9bc065f 100644 --- a/ldap-site-mngmt/webinterface/rbs/rbservice_change.php +++ b/ldap-site-mngmt/webinterface/rbs/rbservice_change.php @@ -20,6 +20,9 @@ $oldtftpserverdn = $_POST['oldtftpserverdn']; $oldnfsserverdn = $_POST['oldnfsserverdn']; $oldnbdserverdn = $_POST['oldnbdserverdn']; +$initbootfile = $_POST['initbootfile']; +$oldinitbootfile = $_POST['oldinitbootfile']; + $host_array = get_hosts($auDN,array("dn","hostname","ipaddress")); $rbsDN = $_POST['rbsdn']; @@ -141,6 +144,7 @@ if ( $tftpserverip != "" && $tftpserverip != $oldtftpserverip ){ if ($tftpserverip == $hostip){ $entrytftp ['tftpserverip'] = $tftpserverip; if (ldap_mod_replace($ds,$rbsDN,$entrytftp)){ + adjust_dhcpnextserver($tftpserverip, $rbsDN); $mesg .= "Treffer: Rechner ".$host['hostname']."
TFTP Server erfolgreich geändert
"; }else{ $mesg .= "Fehler beim ändern des TFTP Servers!
"; @@ -220,6 +224,7 @@ if ($tftpserver != "none" && $tftpserver != $oldtftpserverdn){ $hostip = $hostipexp[0]; $entrytftp ['tftpserverip'] = $hostip; if (ldap_mod_replace($ds,$rbsDN,$entrytftp)){ + adjust_dhcpnextserver($tftpserverip, $rbsDN); $mesg .= "TFTP Server erfolgreich geändert
"; }else{ $mesg .= "Fehler beim ändern des TFTP Servers!
"; @@ -253,7 +258,47 @@ if ($nbdserver != "none" && $nbdserver != $oldnbdserverdn){ $mesg .= "Fehler beim ändern des NBD Servers!
"; } -} +} + +##################################### +# Init Boot File + +if ( $initbootfile == $oldinitbootfile ){ + # $mesg = "keine Aenderung
"; +} + +if ( $initbootfile != "" && $oldinitbootfile == "" ){ + $entrydelibf ['initbootfile'] = $initbootfile; + if(ldap_mod_add($ds,$rbsDN,$entrydelibf)){ + adjust_dhcpfilename($initbootfile, $rbsDN, "add"); + $mesg = "Initial Boot File erfolgreich eingetragen

"; + } + else{ + $mesg = "Fehler beim eintragen von Initial Boot File!

"; + } +} + +if ( $initbootfile == "" && $oldinitbootfile != "" ){ + $entrydelibf ['initbootfile'] = array(); + if(ldap_mod_del($ds,$rbsDN,$entrydelibf)){ + adjust_dhcpfilename($initbootfile, $rbsDN, "delete"); + $mesg = "Initial Boot File erfolgreich gelöscht

"; + } + else{ + $mesg = "Fehler beim löschen von Initial Boot File!

"; + } +} + +if ( $initbootfile != "" && $initbootfile != $oldinitbootfile ){ + $entryibf ['initbootfile'] = $initbootfile; + if(ldap_mod_replace($ds,$rbsDN,$entryibf)){ + adjust_dhcpfilename($initbootfile, $rbsDN, "replace"); + $mesg = "Initial Boot File erfolgreich geändert

"; + } + else{ + $mesg = "Fehler beim ändern des Initial Boot Files!

"; + } +} ##################################### # Restliche Attribute -- cgit v1.2.3-55-g7522