From 310554c02e4b51c5300f8bdf8ad15e3f0520bc53 Mon Sep 17 00:00:00 2001 From: Tarik Gasmi Date: Fri, 26 Oct 2007 08:41:22 +0000 Subject: LSM Webinterface, new actualized Version git-svn-id: http://svn.openslx.org/svn/openslx/trunk@1401 95ad53e4-c205-0410-b2fa-d234c58c8868 --- ldap-site-mngmt/webinterface/au/au.dwt | 21 +- ldap-site-mngmt/webinterface/au/au_childs.dwt | 4 +- ldap-site-mngmt/webinterface/au/au_footer.inc.php | 2 + ldap-site-mngmt/webinterface/au/au_header.inc.php | 3 + ldap-site-mngmt/webinterface/au/au_menu.php | 2 +- ldap-site-mngmt/webinterface/au/childau_add.php | 10 +- ldap-site-mngmt/webinterface/au/menu.dwt | 8 +- .../webinterface/common/ip_blocks.inc.php | 4 + .../webinterface/computers/computers.dwt | 21 +- .../webinterface/computers/computers_menu.php | 32 ++- .../webinterface/computers/dhcphost.dwt | 7 +- .../webinterface/computers/dhcphost.php | 21 +- .../webinterface/computers/dhcphost_change.php | 162 ++++++----- ldap-site-mngmt/webinterface/computers/host.dwt | 2 +- ldap-site-mngmt/webinterface/computers/host.php | 2 +- .../webinterface/computers/host_change.php | 68 +++-- .../webinterface/computers/hostoverview.dwt | 38 ++- .../webinterface/computers/hostoverview.php | 34 ++- ldap-site-mngmt/webinterface/computers/hwhost.dwt | 22 +- ldap-site-mngmt/webinterface/computers/hwhost.php | 14 +- .../webinterface/computers/hwhost_change.php | 2 +- .../webinterface/computers/ip_rechner.dwt | 4 +- .../webinterface/computers/ip_rechner.php | 11 +- ldap-site-mngmt/webinterface/computers/menu.dwt | 9 +- .../webinterface/computers/new_host.dwt | 42 ++- .../webinterface/computers/new_host.php | 4 +- ldap-site-mngmt/webinterface/computers/new_pxe.dwt | 96 +++---- ldap-site-mngmt/webinterface/computers/new_pxe.php | 40 +-- ldap-site-mngmt/webinterface/computers/pxe.dwt | 182 ++++-------- ldap-site-mngmt/webinterface/computers/pxe.php | 108 ++----- ldap-site-mngmt/webinterface/computers/pxe_add.php | 7 +- .../webinterface/computers/pxe_bootmenue.dwt | 2 +- .../webinterface/computers/pxe_bootmenue.php | 55 +--- .../webinterface/computers/pxe_globals.dwt | 2 +- .../webinterface/computers/pxe_globals.php | 125 +------- .../webinterface/computers/pxeconfigs.dwt | 318 +++++++++++++++++++++ .../webinterface/computers/pxeconfigs.php | 92 ++++++ ldap-site-mngmt/webinterface/computers/rbshost.dwt | 2 +- ldap-site-mngmt/webinterface/computers/rbshost.php | 13 +- ldap-site-mngmt/webinterface/dhcp/dhcp.dwt | 18 +- ldap-site-mngmt/webinterface/dhcp/dhcp_menu.php | 67 ++--- ldap-site-mngmt/webinterface/dhcp/dhcppool.dwt | 41 ++- ldap-site-mngmt/webinterface/dhcp/dhcppool.php | 43 ++- ldap-site-mngmt/webinterface/dhcp/dhcppool_add.php | 4 +- ldap-site-mngmt/webinterface/dhcp/dhcppool_new.dwt | 49 ++++ ldap-site-mngmt/webinterface/dhcp/dhcppool_new.php | 201 +++++++++++++ .../webinterface/dhcp/dhcppools_change.php | 36 ++- ldap-site-mngmt/webinterface/dhcp/dhcpsubnets.dwt | 15 +- ldap-site-mngmt/webinterface/dhcp/dhcpsubnets.php | 2 +- ldap-site-mngmt/webinterface/dhcp/menu.dwt | 11 +- ldap-site-mngmt/webinterface/dns/dns.dwt | 21 +- ldap-site-mngmt/webinterface/hauptmenue.dwt | 14 +- ldap-site-mngmt/webinterface/home.dwt | 32 +-- ldap-site-mngmt/webinterface/index.dwt | 21 +- ldap-site-mngmt/webinterface/index.php | 13 +- ldap-site-mngmt/webinterface/ip/ip.dwt | 2 +- .../webinterface/lib/au_management_functions.php | 4 +- ldap-site-mngmt/webinterface/lib/commonlib.inc.php | 84 +++--- ldap-site-mngmt/webinterface/lib/config.inc.php | 60 ++-- .../webinterface/lib/dhcp_management_functions.php | 20 +- .../webinterface/lib/host_management_functions.php | 71 ++++- ldap-site-mngmt/webinterface/lib/ldap.inc.php | 180 ++++++++---- .../webinterface/lib/rbs_management_functions.php | 4 +- ldap-site-mngmt/webinterface/login_form.inc.html | 27 +- ldap-site-mngmt/webinterface/login_sicher.php | 68 ++--- ldap-site-mngmt/webinterface/logout_form.inc.dwt | 4 +- ldap-site-mngmt/webinterface/rbs/rbs.dwt | 21 +- ldap-site-mngmt/webinterface/roles/roles.dwt | 2 +- .../webinterface/standard_footer.inc.php | 19 ++ .../webinterface/standard_header.inc.php | 24 +- ldap-site-mngmt/webinterface/start.dwt | 38 ++- ldap-site-mngmt/webinterface/start.php | 6 +- ldap-site-mngmt/webinterface/styles.css | 64 ++++- 73 files changed, 1817 insertions(+), 1060 deletions(-) create mode 100644 ldap-site-mngmt/webinterface/computers/pxeconfigs.dwt create mode 100644 ldap-site-mngmt/webinterface/computers/pxeconfigs.php create mode 100644 ldap-site-mngmt/webinterface/dhcp/dhcppool_new.dwt create mode 100644 ldap-site-mngmt/webinterface/dhcp/dhcppool_new.php create mode 100644 ldap-site-mngmt/webinterface/standard_footer.inc.php diff --git a/ldap-site-mngmt/webinterface/au/au.dwt b/ldap-site-mngmt/webinterface/au/au.dwt index 0b2dbb60..16f0302c 100755 --- a/ldap-site-mngmt/webinterface/au/au.dwt +++ b/ldap-site-mngmt/webinterface/au/au.dwt @@ -5,18 +5,18 @@ - +
- - + + +
+ - +

Rechner und IP Management

Client / IP Management

+
@@ -36,16 +36,13 @@
{MAINMENU}
- - - - -
{MAINMENU}
- -
- + +
diff --git a/ldap-site-mngmt/webinterface/au/au_childs.dwt b/ldap-site-mngmt/webinterface/au/au_childs.dwt index a9adbc83..0d37b5c7 100755 --- a/ldap-site-mngmt/webinterface/au/au_childs.dwt +++ b/ldap-site-mngmt/webinterface/au/au_childs.dwt @@ -16,8 +16,8 @@ - - + + diff --git a/ldap-site-mngmt/webinterface/au/au_footer.inc.php b/ldap-site-mngmt/webinterface/au/au_footer.inc.php index 7849823e..37fa7808 100644 --- a/ldap-site-mngmt/webinterface/au/au_footer.inc.php +++ b/ldap-site-mngmt/webinterface/au/au_footer.inc.php @@ -1,5 +1,7 @@ assign(array("PFAD" => $START_PATH)); # Daten in die Vorlage parsen diff --git a/ldap-site-mngmt/webinterface/au/au_header.inc.php b/ldap-site-mngmt/webinterface/au/au_header.inc.php index 40da6c72..57e85f84 100644 --- a/ldap-site-mngmt/webinterface/au/au_header.inc.php +++ b/ldap-site-mngmt/webinterface/au/au_header.inc.php @@ -1,5 +1,7 @@ assign(array("SEITENTITEL" => $titel, include("au_menu.php"); include("../common/ip_blocks.inc.php"); + ?> \ No newline at end of file diff --git a/ldap-site-mngmt/webinterface/au/au_menu.php b/ldap-site-mngmt/webinterface/au/au_menu.php index b9c7d8d6..d912c7a5 100644 --- a/ldap-site-mngmt/webinterface/au/au_menu.php +++ b/ldap-site-mngmt/webinterface/au/au_menu.php @@ -134,7 +134,7 @@ function createAUMenu($rollen, $mnr, $auDN,$sbmnr) { + ".$item2['text'].""; diff --git a/ldap-site-mngmt/webinterface/au/childau_add.php b/ldap-site-mngmt/webinterface/au/childau_add.php index 89969882..47fb9b55 100644 --- a/ldap-site-mngmt/webinterface/au/childau_add.php +++ b/ldap-site-mngmt/webinterface/au/childau_add.php @@ -47,12 +47,14 @@ if ( $childou != "" && $mainadmin != none && $mainadmin != "") { $childou = preg_replace ( '/\s+([0-9A-Z])/', '$1', $childou); # AU Objekt anlegen - $sisters = get_childau($auDN,array("ou")); + # Test auf gleichnamige Geschwister-AUs + #$sisters = get_childau($auDN,array("ou")); + $sisters = get_all_aus(array("ou")); $sister = 0; foreach ($sisters as $item) { - if ($item['ou'] == $childou) { - $mesg = "Es existiert bereits eine untergeordnete AU mit dem eingegebenen OU!
- Bitte geben Sie einen anderen OU ein.

"; + if ( strtolower($item['ou']) == strtolower($childou) ) { + $mesg = "Es existiert bereits eine AU mit dem eingegebenen 'ou' Namen!
+ Bitte geben Sie einen anderen 'ou' Namen ein.

"; $get_childcn = str_replace ( " ", "_", $childcn ); $get_childdesc = str_replace ( " ", "_", $childdesc ); $url = "new_child.php?ou=Hier_andere_OU_eingeben&cn=".$get_childcn."&desc=".$get_childdesc."&childdomain=".$childdomain; diff --git a/ldap-site-mngmt/webinterface/au/menu.dwt b/ldap-site-mngmt/webinterface/au/menu.dwt index 9220c3b3..20631be8 100755 --- a/ldap-site-mngmt/webinterface/au/menu.dwt +++ b/ldap-site-mngmt/webinterface/au/menu.dwt @@ -5,11 +5,13 @@ - + - + + + {TEXT_M} + diff --git a/ldap-site-mngmt/webinterface/common/ip_blocks.inc.php b/ldap-site-mngmt/webinterface/common/ip_blocks.inc.php index b1343d3b..17795671 100644 --- a/ldap-site-mngmt/webinterface/common/ip_blocks.inc.php +++ b/ldap-site-mngmt/webinterface/common/ip_blocks.inc.php @@ -3,6 +3,10 @@ # Max und Free IP Blocks $mipb_array = get_maxipblocks_au($auDN); $fipb_array = get_freeipblocks_au($auDN); +#print_r($fipb_array); echo "
"; +natsort($mipb_array); +natsort($fipb_array); +#print_r($fipb_array); echo "
"; #print_r(count($mipb_array)); echo "
"; #print_r(count($fipb_array)); echo "
"; $ipblocks = ""; diff --git a/ldap-site-mngmt/webinterface/computers/computers.dwt b/ldap-site-mngmt/webinterface/computers/computers.dwt index 8f52e884..933ab60d 100644 --- a/ldap-site-mngmt/webinterface/computers/computers.dwt +++ b/ldap-site-mngmt/webinterface/computers/computers.dwt @@ -5,18 +5,18 @@ -
{CHILDOU}  {CHILDDOMAIN}  {CHILDOU}  {CHILDDOMAIN}  
  - ".$item2['text']."  
{ICON}   - {TEXT_M}  
+
- - + + +
+ - +

Rechner und IP Management

Client / IP Management

+
@@ -36,16 +36,13 @@
{MAINMENU}
- - - - -
{MAINMENU}
- -
- + +
diff --git a/ldap-site-mngmt/webinterface/computers/computers_menu.php b/ldap-site-mngmt/webinterface/computers/computers_menu.php index 97ff55fa..1ab98526 100644 --- a/ldap-site-mngmt/webinterface/computers/computers_menu.php +++ b/ldap-site-mngmt/webinterface/computers/computers_menu.php @@ -9,16 +9,16 @@ function createComputersMenu($rollen , $mnr, $auDN, $sbmnr, $mcnr) { if ( $mipb_array[0] == "" ){ $iprechnerlink = "no_ip.php?mnr=2"; }else{ - $iprechnerlink = "ip_rechner.php"; + $iprechnerlink = "ip_rechner.php?sort=ipaddress"; } # Struktur der Registerkartenleiste # Hauptmenu - $hauptmenu = array(array("link" => "computers.php", - "text" => "Übersicht", - "zugriff" => array("MainAdmin","HostAdmin","DhcpAdmin")), - array("link" => "hostoverview.php", - "text" => "Rechner", + $hauptmenu = array( #array("link" => "computers.php", + # "text" => "Übersicht", + # "zugriff" => array("MainAdmin","HostAdmin","DhcpAdmin")), + array("link" => "hostoverview.php?sort=hostname", + "text" => "Übersicht Rechner", "zugriff" => array("MainAdmin","HostAdmin","DhcpAdmin")), array("link" => $iprechnerlink, "text" => "IP Adressen Rechner", @@ -32,9 +32,9 @@ function createComputersMenu($rollen , $mnr, $auDN, $sbmnr, $mcnr) { #array("link" => "new_mcdef.php", # "text" => "Neue MachineConfig", # "zugriff" => array("MainAdmin","HostAdmin")), - array("link" => "new_pxe.php", - "text" => "Neues PXE Bootmenü", - "zugriff" => array("MainAdmin"))); + array("link" => "pxeconfigs.php", + "text" => "PXE Configs", + "zugriff" => array("MainAdmin","DhcpAdmin"))); # Submenus /*$computers_array = get_hosts($auDN,array("dn","hostname","ou")); @@ -69,13 +69,17 @@ function createComputersMenu($rollen , $mnr, $auDN, $sbmnr, $mcnr) { "text" => $mcdef_array[$n]['cn'], "zugriff" => array("MainAdmin","DhcpAdmin","HostAdmin")); } + + $newpxe[] = array("link" => "new_pxe.php", + "text" => "Neue PXE Config anlegen", + "zugriff" => array("MainAdmin","DhcpAdmin")); - $submenu = array(array(), + $submenu = array(#array(), $comps, array(), #$groups, #$defmc, - array()); + $newpxe); #echo "submenu: ";print_r($submenu);echo "

"; # Zusammenstellen der Menuleiste @@ -159,9 +163,9 @@ function createComputersMenu($rollen , $mnr, $auDN, $sbmnr, $mcnr) { - + + ".$item2['text']." "; @@ -218,7 +222,7 @@ function createComputersMenu($rollen , $mnr, $auDN, $sbmnr, $mcnr) { $farb="#505050"; } else { - + if(count($submenu[$i][0]) != 0){ if($maxmenu == $i+1){$zwisch=" ";} diff --git a/ldap-site-mngmt/webinterface/computers/dhcphost.dwt b/ldap-site-mngmt/webinterface/computers/dhcphost.dwt index ba9a8872..3bb5e756 100644 --- a/ldap-site-mngmt/webinterface/computers/dhcphost.dwt +++ b/ldap-site-mngmt/webinterface/computers/dhcphost.dwt @@ -4,7 +4,7 @@ - + @@ -33,7 +33,7 @@ {HOST_DHCPOPT} - +
     - ".$item2['text']."  

{HOSTLINK} Allgemein

DHCP

{RBSLINK} RBS/PXE

{HWLINK} Hardware

{HWLINK} Geo/Hardware

 
@@ -56,6 +56,7 @@ + diff --git a/ldap-site-mngmt/webinterface/computers/dhcphost.php b/ldap-site-mngmt/webinterface/computers/dhcphost.php index 8a5f67fa..5e64000d 100644 --- a/ldap-site-mngmt/webinterface/computers/dhcphost.php +++ b/ldap-site-mngmt/webinterface/computers/dhcphost.php @@ -7,7 +7,7 @@ $webseite = "dhcphost.dwt"; include('computers_header.inc.php'); -$mnr = 1; +$mnr = 0; $sbmnr = -1; $mcnr = -1; @@ -24,9 +24,9 @@ createComputersMenu($rollen, $mnr, $auDN, $sbmnr, $mcnr); $hostDN = $_GET['dn']; # Rechner Daten -$attributes = array("hostname","domainname","ipaddress","hwaddress","description","hlprbservice", +$attributes = array("hostname","domainname","ipaddress","hwaddress","hlprbservice", "dhcphlpcont","dhcpoptfixed-address","dhcpopthardware","dhcpoptfilename", - "dhcpoptnext-server","dhcpoptmax-lease-time","dhcpoptdefault-lease-time","hw-mouse","hw-graphic","hw-monitor"); + "dhcpoptnext-server","dhcpoptmax-lease-time","dhcpoptdefault-lease-time"); $host = get_node_data($hostDN,$attributes); $hostip = explode('_',$host['ipaddress']); # print_r($hostip); echo "

"; @@ -145,9 +145,9 @@ if ($dhcphlpcont == ""){   - fixed-address:   - ".$fixedaddress."  - + fixed-address:   + ".$fixedaddress."  + @@ -158,16 +158,15 @@ if ($dhcphlpcont == ""){ $template->assign(array("HOSTDN" => $hostDN, "HOSTNAME" => $host['hostname'], - "DOMAINNAME" => $host['domainname'], + #"DOMAINNAME" => $host['domainname'], "HWADDRESS" => $host['hwaddress'], "IPADDRESS" => $hostip[0], - "DESCRIPTION" => $host['description'], "OLDDHCP" => $objectDN, "OLDFIXADD" => $host['dhcpoptfixed-address'], - "OLDRBS" => $rbsDN, + "OLDRBS" => $rbsDN, "DHCPCONT" => $dhcp, - "HOST_DHCPOPT" => $host_dhcpopt, - "NEXTSERVER" => $host['dhcpoptnext-server'], + "HOST_DHCPOPT" => $host_dhcpopt, + "NEXTSERVER" => $host['dhcpoptnext-server'], "FILENAME" => $host['dhcpoptfilename'], "DEFAULTLEASE" => $dhcpdefaultlease, "MAXLEASE" => $dhcpmaxlease, diff --git a/ldap-site-mngmt/webinterface/computers/dhcphost_change.php b/ldap-site-mngmt/webinterface/computers/dhcphost_change.php index 9cd71f41..cbfa7f9f 100644 --- a/ldap-site-mngmt/webinterface/computers/dhcphost_change.php +++ b/ldap-site-mngmt/webinterface/computers/dhcphost_change.php @@ -6,12 +6,13 @@ $syntax = new Syntaxcheck; $dhcp = $_POST['dhcpcont']; $olddhcp = $_POST['olddhcp']; +$hostDN = $_POST['hostdn']; $hostip = $_POST['hostip']; +$hostmac = $_POST['hostmac']; $fixedaddress = $_POST['fixadd']; $oldfixedaddress = $_POST['oldfixadd']; $oldrbs = $_POST['oldrbs']; -$hostDN = $_POST['hostdn']; $sbmnr = $_POST['sbmnr']; $dhcp = htmlentities($dhcp); @@ -55,7 +56,7 @@ echo " "; ########################################## -# DHCP +# DHCP Einbindung if ($dhcp != "none" && $dhcp != $olddhcp){ if ($dhcp != ""){ @@ -73,16 +74,21 @@ if ($dhcp != "none" && $dhcp != $olddhcp){ $mesg = "Fehler beim ändern des DHCP Dienstes zu ".$dhcpcn."!

"; } }else{ - if ( $hostip != "" ){ - $entrydhcp ['dhcpoptfixed-address'] = "ip"; - } - echo "DHCP add "; print_r($entrydhcp); echo "
"; - if ($result = ldap_mod_add($ds,$hostDN,$entrydhcp)){ - update_dhcpmtime(array()); - $mesg = "Rechner erfolgreich in DHCP ".$dhcpcn." [Abt.: ".$dhcpau."] angemeldet

"; - }else{ - $mesg = "Fehler beim ändern des DHCP Dienstes zu ".$dhcpcn."!

"; - } + if ( $hostmac != ""){ + if ( $hostip != "" ){ + $entrydhcp ['dhcpoptfixed-address'] = "ip"; + } + echo "DHCP add "; print_r($entrydhcp); echo "
"; + if ($result = ldap_mod_add($ds,$hostDN,$entrydhcp)){ + update_dhcpmtime(array()); + $mesg = "Rechner erfolgreich in DHCP ".$dhcpcn." [Abt.: ".$dhcpau."] angemeldet

"; + }else{ + $mesg = "Fehler beim ändern des DHCP Dienstes zu ".$dhcpcn."!

"; + } + }else{ + $mesg = "Es ist keine MAC Adresse für den Rechner eingetragen.
+ Dies ist jedoch Voraussetzung für einen DHCP Eintrag.

"; + } } }else{ $entrydhcp ['dhcphlpcont'] = array(); @@ -106,7 +112,10 @@ if ($dhcp == "none"){ echo " DHCP none
"; } + +############################# # DHCP Option fixed-address + if ($fixedaddress != "none" && $fixedaddress != $oldfixedaddress){ if ($fixedaddress != ""){ $entryfixadd ['dhcpoptfixed-address'] = $fixedaddress; @@ -140,78 +149,81 @@ if ($fixedaddress != "none" && $fixedaddress != $oldfixedaddress){ } ##################################### -# Restliche Attribute (u.a. Description) - -$entryadd = array(); -$entrymod = array(); -$entrydel = array(); +# Restliche Attribute ... -foreach (array_keys($atts) as $key){ +#if (count($atts) != 0){ - if ( $oldatts[$key] == $atts[$key] ){ + $entryadd = array(); + $entrymod = array(); + $entrydel = array(); + foreach (array_keys($atts) as $key){ + + if ( $oldatts[$key] == $atts[$key] ){ + + } + if ( $oldatts[$key] == "" && $atts[$key] != "" ){ + # hier noch Syntaxcheck + $entryadd[$key] = $atts[$key]; + } + if ( $oldatts[$key] != "" && $atts[$key] != "" && $oldatts[$key] != $atts[$key] ){ + # hier noch Syntaxcheck + $entrymod[$key] = $atts[$key]; + } + if ( $oldatts[$key] != "" && $atts[$key] == "" ){ + # hier noch Syntaxcheck + $entrydel[$key] = $oldatts[$key]; + } } - if ( $oldatts[$key] == "" && $atts[$key] != "" ){ - # hier noch Syntaxcheck - $entryadd[$key] = $atts[$key]; - } - if ( $oldatts[$key] != "" && $atts[$key] != "" && $oldatts[$key] != $atts[$key] ){ - # hier noch Syntaxcheck - $entrymod[$key] = $atts[$key]; - } - if ( $oldatts[$key] != "" && $atts[$key] == "" ){ - # hier noch Syntaxcheck - $entrydel[$key] = $oldatts[$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.","; - } - if(ldap_mod_add($ds,$hostDN,$entryadd)){ - $mesg = "Attribute ".$addatts." erfolgreich eingetragen

"; - update_dhcpmtime(array()); - }else{ - $mesg = "Fehler beim eintragen der Attribute ".$addatts."

"; - } -} - -if (count($entrymod) != 0 ){ #print_r($entrymod); echo "
"; - #echo "ändern
"; - foreach (array_keys($entrymod) as $key){ - $modatts .= "".$key.","; - } - if(ldap_mod_replace($ds,$hostDN,$entrymod)){ - $mesg = "Attribute ".$modatts." erfolgreich geaendert

"; - update_dhcpmtime(array()); - }else{ - $mesg = "Fehler beim aendern der Attribute ".$modatts."

"; - } -} - -if (count($entrydel) != 0 ){ #print_r($entrydel); echo "
"; - #echo "löschen
"; - foreach (array_keys($entrydel) as $key){ - $delatts .= "".$key.","; + + + if (count($entryadd) != 0 ){ + #print_r($entryadd); echo "
"; + #echo "neu anlegen
"; + foreach (array_keys($entryadd) as $key){ + $addatts .= "".$key.","; + } + if(ldap_mod_add($ds,$hostDN,$entryadd)){ + $mesg = "Attribute ".$addatts." erfolgreich eingetragen

"; + update_dhcpmtime(array()); + }else{ + $mesg = "Fehler beim eintragen der Attribute ".$addatts."

"; + } } - if(ldap_mod_del($ds,$hostDN,$entrydel)){ - $mesg = "Attribute ".$delatts." erfolgreich geloescht

"; - update_dhcpmtime(array()); - }else{ - $mesg = "Fehler beim loeschen der Attribute ".$delatts."

"; + + if (count($entrymod) != 0 ){ + #print_r($entrymod); echo "
"; + #echo "ändern
"; + foreach (array_keys($entrymod) as $key){ + $modatts .= "".$key.","; + } + if(ldap_mod_replace($ds,$hostDN,$entrymod)){ + $mesg = "Attribute ".$modatts." erfolgreich geaendert

"; + update_dhcpmtime(array()); + }else{ + $mesg = "Fehler beim aendern der Attribute ".$modatts."

"; + } } -} - + + if (count($entrydel) != 0 ){ + #print_r($entrydel); echo "
"; + #echo "löschen
"; + foreach (array_keys($entrydel) as $key){ + $delatts .= "".$key.","; + } + if(ldap_mod_del($ds,$hostDN,$entrydel)){ + $mesg = "Attribute ".$delatts." erfolgreich geloescht

"; + update_dhcpmtime(array()); + }else{ + $mesg = "Fehler beim loeschen der Attribute ".$delatts."

"; + } + } + +#} ##################### diff --git a/ldap-site-mngmt/webinterface/computers/host.dwt b/ldap-site-mngmt/webinterface/computers/host.dwt index 729e6d64..4b3780a2 100644 --- a/ldap-site-mngmt/webinterface/computers/host.dwt +++ b/ldap-site-mngmt/webinterface/computers/host.dwt @@ -4,7 +4,7 @@

Allgemein

{DHCPLINK} DHCP

{RBSLINK} RBS/PXE

-

{HWLINK} Hardware

+

{HWLINK} Geo/Hardware

  diff --git a/ldap-site-mngmt/webinterface/computers/host.php b/ldap-site-mngmt/webinterface/computers/host.php index 1778ffbb..454847bb 100644 --- a/ldap-site-mngmt/webinterface/computers/host.php +++ b/ldap-site-mngmt/webinterface/computers/host.php @@ -7,7 +7,7 @@ $webseite = "host.dwt"; include('computers_header.inc.php'); -$mnr = 1; +$mnr = 0; $sbmnr = -1; $mcnr = -1; diff --git a/ldap-site-mngmt/webinterface/computers/host_change.php b/ldap-site-mngmt/webinterface/computers/host_change.php index f32daef3..63e64f8a 100644 --- a/ldap-site-mngmt/webinterface/computers/host_change.php +++ b/ldap-site-mngmt/webinterface/computers/host_change.php @@ -79,34 +79,44 @@ if ( $oldhostname == $hostname ){ } if ( $oldhostname != "" && $hostname != "" && $oldhostname != $hostname ){ - echo "Hostname aendern
"; - # hier noch Syntaxcheck - # Formulareingaben anpassen - $exphn = explode(" ",$hostname); - foreach ($exphn as $word){$expuc[] = ucfirst($word);} - $hostname = implode(" ",$expuc); - $hostname = preg_replace ( '/\s+([0-9A-Z])/', '$1', $hostname); - - $newhostDN = "hostname=".$hostname.",cn=computers,".$auDN; - # print_r($newhostDN); echo "

"; - modify_host_dn($hostDN, $newhostDN); - $hostDN = $newhostDN; - - # newsubmenu holen...hosts neu holen, sortieren, ->position - #$newhosts = get_hosts($auDN,array("dn")); - #print_r($newhosts); echo "

"; - #foreach ($newhosts as $item){ - # $newdnarray [] = $item['dn']; - #} - #$key = array_search($newhostDN, $newdnarray); - #print_r($key); echo "
"; - - $url = 'host.php?dn='.$newhostDN.'&sbmnr='.$sbmnr; - + echo "Hostname ändern

"; + # Check ob Host schon existiert in AU/Domain + $brothers = get_hosts($auDN,array("hostname"),""); + if ( check_hostname($hostname) ){ + $url = "hostoverview.php"; + $mesg = "Es existiert bereits ein Rechner mit dem Namen $hostname!

+ Bitte geben Sie einen anderen Namen ein, oder löschen + Sie zunächst den gleichnamigen Rechner.

+ << Übersicht Rechner"; + redirect(4, $url, $mesg, $addSessionId = TRUE); + die; + }else{ + # Formulareingaben anpassen + $exphn = explode(" ",$hostname); + foreach ($exphn as $word){$expuc[] = ucfirst($word);} + $hostname = implode(" ",$expuc); + $hostname = preg_replace ( '/\s+([0-9A-Z])/', '$1', $hostname); + + $newhostDN = "hostname=".$hostname.",cn=computers,".$auDN; + # print_r($newhostDN); echo "

"; + modify_host_dn($hostDN, $newhostDN); + $hostDN = $newhostDN; + + # newsubmenu holen...hosts neu holen, sortieren, ->position + #$newhosts = get_hosts($auDN,array("dn")); + #print_r($newhosts); echo "

"; + #foreach ($newhosts as $item){ + # $newdnarray [] = $item['dn']; + #} + #$key = array_search($newhostDN, $newdnarray); + #print_r($key); echo "
"; + + $url = 'host.php?dn='.$newhostDN.'&sbmnr='.$sbmnr; + } } if ( $oldhostname != "" && $hostname == "" ){ - echo "Hostname loeschen!
+ echo "Hostname löschen!
>br> Dies ist Teil des DN, Sie werden den Rechner komplett löschen

"; echo "Wollen Sie den Rechner ".$oldhostname." mit seinen Hardware-Profilen (MachineConfigs) und PXE Bootmenüs wirklich löschen?

@@ -214,9 +224,15 @@ if ( $oldmac != "" && $mac == "" ){ } else{ $entry['hwaddress'] = $oldmac; + $dhcptext = ""; + if ($dhcphlpcont != ""){ + $entry['dhcphlpcont'] = array(); + $dhcptext = "Da die MAC-Adresse Voruassetzung für den + Eintrag DHCP Dienst ist, wurde der Client dort ausgetragen.
"; + } $result = ldap_mod_del($ds,$hostDN,$entry); if($result){ - $mesg = "MAC erfolgreich geloescht

"; + $mesg = "MAC erfolgreich geloescht.
$dhcptext
"; }else{ $mesg = "Fehler beim loeschen der MAC

"; } diff --git a/ldap-site-mngmt/webinterface/computers/hostoverview.dwt b/ldap-site-mngmt/webinterface/computers/hostoverview.dwt index 50694f46..2771ff76 100644 --- a/ldap-site-mngmt/webinterface/computers/hostoverview.dwt +++ b/ldap-site-mngmt/webinterface/computers/hostoverview.dwt @@ -1,20 +1,26 @@ - + + - - - - - - - - +

Rechner  {AU} 

+

Rechner  {AU} 

+ Übersicht der in AU {AU} angelegten Rechnerobjekte und Informationen zu diesen:
+ Rechnername, IP/MAC Adresse, Status und Art der Einbindung in die zentralen Dienste DHCP / PXE-Remote-Boot (RBS) und eine Beschreibung.

+ Zur Verwaltungsmaske eines bestimmten Rechners gelangen Sie durch klicken auf entsprechenden Rechnernamen.
+ Die Eingabemaske für einen neuen Rechner erreichen Sie über den Menüpunkt links: "Neuen Rechner anlegen". +
 
+
- - - - - - - + + + + + + @@ -22,23 +28,13 @@ - - +
RechnernameIP AdresseMAC AdresseDHCP  RBS  RechnernameIP AdresseMAC AdresseDHCPRBSBeschreibung des Rechners
{HOSTNAME}   {IPADDRESS}   {HWADDRESS}  {DHCPCONT}   {FIXADD}   {RBSCONT}  {NXTSRV}  {DESC}  
- Zum Verwalten eines bestimmten Rechners, wählen Sie links entsprechenden Submenü-Eintrag.
- Um einen neuen Rechner anzulegen wählen Sie links "Neuer Rechner" -
\ No newline at end of file diff --git a/ldap-site-mngmt/webinterface/computers/hostoverview.php b/ldap-site-mngmt/webinterface/computers/hostoverview.php index b59dbea6..b1728002 100644 --- a/ldap-site-mngmt/webinterface/computers/hostoverview.php +++ b/ldap-site-mngmt/webinterface/computers/hostoverview.php @@ -7,7 +7,7 @@ $webseite = "hostoverview.dwt"; include('computers_header.inc.php'); -$mnr = 1; +$mnr = 0; $sbmnr = -1; $mcnr = -1; @@ -19,18 +19,26 @@ createComputersMenu($rollen, $mnr, $auDN, $sbmnr, $mcnr); ################################################################################### +$sort = "hostname"; +$sort = $_GET['sort']; + $template->assign(array("DN" => "", "HOSTNAME" => "Noch keine Rechner angelegt", "DOMAINNAME" => "", "HWADDRESS" => "", - "IPADDRESS" => "", + "IPADDRESS" => "", "DHCPCONT" => "", "FIXADD" => "", - "RBSCONT" => "", - "NXTSRV" => "")); + "DESC" => "", + "RBSCONT" => "")); + +$attributes = array("dn","hostname","domainname","hwaddress","ipaddress","description","dhcphlpcont","dhcpoptfixed-address","hlprbservice","dhcpoptnext-server"); +$host_array = get_hosts($auDN,$attributes,$sort); +#print_r($host_array); -$attributes = array("dn","hostname","domainname","hwaddress","ipaddress","dhcphlpcont","dhcpoptfixed-address","hlprbservice","dhcpoptnext-server"); -$host_array = get_hosts($auDN,$attributes); +if ($sort == "ipaddress"){ + $host_array = array_natsort($host_array, "ipaddress", "ipaddress"); +} $template->define_dynamic("Rechner", "Webseite"); @@ -41,7 +49,7 @@ foreach ($host_array as $host){ $hostip = explode('_',$host['ipaddress']); $dhcpcont = ""; - $dhcpfixadd = ""; + $dhcpfixadd = "-"; if ( count($host['dhcphlpcont']) != 0 ){ $dhcpexpdn = ldap_explode_dn($host['dhcphlpcont'],1); $dhcpcn = $dhcpexpdn[0]; @@ -62,25 +70,25 @@ foreach ($host_array as $host){ } - - $rbscont = ""; + $rbscont = "-"; $dhcpnxtsrv = ""; if ( count($host['hlprbservice']) != 0 ){ $rbsexpdn = ldap_explode_dn($host['hlprbservice'],1); - $rbscont = $rbsexpdn[0]."
[".$rbsexpdn[2]."]"; + $dhcpnxtsrv = $host['dhcpoptnext-server']; + $rbscont = $rbsexpdn[0]."
[".$dhcpnxtsrv."]"; + - $dhcpnxtsrv = $host['dhcpoptnext-server']; } $template->assign(array("DN" => $host['dn'], "HOSTNAME" => $hostname, "DOMAINNAME" => $host['domainname'], "HWADDRESS" => $host['hwaddress'], - "IPADDRESS" => $hostip[0], + "IPADDRESS" => $hostip[0], "DHCPCONT" => $dhcpcont, "FIXADD" => $dhcpfixadd, "RBSCONT" => $rbscont, - "NXTSRV" => $dhcpnxtsrv, + "DESC" => $host['description'], "AUDN" => $auDN )); $template->parse("RECHNER_LIST", ".Rechner"); diff --git a/ldap-site-mngmt/webinterface/computers/hwhost.dwt b/ldap-site-mngmt/webinterface/computers/hwhost.dwt index c32c70c4..48c2cd1c 100644 --- a/ldap-site-mngmt/webinterface/computers/hwhost.dwt +++ b/ldap-site-mngmt/webinterface/computers/hwhost.dwt @@ -4,14 +4,14 @@

{HOSTLINK} Allgemein

{DHCPLINK} DHCP

{RBSLINK} RBS/PXE

-

Hardware

+

Geo/Hardware

  -

Hardware Optionen - Rechner   {HOSTNAME}

+

Geo / Hardware Optionen - Rechner   {HOSTNAME}

@@ -20,10 +20,24 @@
- Attribut - Wert + Attribut + Wert + + Geographic Location (Gebäude, Raum, ...) : + + +   + + + + Geo Coordinates:   + + +   + + HW Mouse:   diff --git a/ldap-site-mngmt/webinterface/computers/hwhost.php b/ldap-site-mngmt/webinterface/computers/hwhost.php index 0f6cc300..e0b1f7f8 100644 --- a/ldap-site-mngmt/webinterface/computers/hwhost.php +++ b/ldap-site-mngmt/webinterface/computers/hwhost.php @@ -7,7 +7,7 @@ $webseite = "hwhost.dwt"; include('computers_header.inc.php'); -$mnr = 1; +$mnr = 0; $sbmnr = -1; $mcnr = -1; @@ -24,7 +24,7 @@ createComputersMenu($rollen, $mnr, $auDN, $sbmnr, $mcnr); $hostDN = $_GET['dn']; $attributes = array("hostname","domainname","ipaddress","hwaddress","description","dhcphlpcont", - "hw-mouse","hw-graphic","hw-monitor"); + "hw-mouse","hw-graphic","hw-monitor","geolocation","geoattribut"); $host = get_node_data($hostDN,$attributes); $hostip = explode('_',$host['ipaddress']); @@ -33,11 +33,13 @@ $template->assign(array("HOSTDN" => $hostDN, "DOMAINNAME" => $host['domainname'], "HWADDRESS" => $host['hwaddress'], "IPADDRESS" => $hostip[0], - "DESCRIPTION" => $host['description'], - "DHCPCONT" => $host['dhcphlpcont'], - "MOUSE" => $host['hw-mouse'], + "DESCRIPTION" => $host['description'], + "DHCPCONT" => $host['dhcphlpcont'], + "GEOLOC" => $host['geolocation'], + "GEOATT" => $host['geoattribut'], + "MOUSE" => $host['hw-mouse'], "GRAPHIC" => $host['hw-graphic'], - "MONITOR" => $host['hw-monitor'], + "MONITOR" => $host['hw-monitor'], "DHCPLINK" => "", "HOSTLINK" => "", "RBSLINK" => "", diff --git a/ldap-site-mngmt/webinterface/computers/hwhost_change.php b/ldap-site-mngmt/webinterface/computers/hwhost_change.php index 678471a4..83ab270d 100644 --- a/ldap-site-mngmt/webinterface/computers/hwhost_change.php +++ b/ldap-site-mngmt/webinterface/computers/hwhost_change.php @@ -104,7 +104,7 @@ if (count($entrydel) != 0 ){ } } -update_dhcpmtime(); +#update_dhcpmtime(array()); $mesg .= "
Sie werden automatisch auf die vorherige Seite zurückgeleitet.
diff --git a/ldap-site-mngmt/webinterface/computers/ip_rechner.dwt b/ldap-site-mngmt/webinterface/computers/ip_rechner.dwt index b300e88e..88d67316 100644 --- a/ldap-site-mngmt/webinterface/computers/ip_rechner.dwt +++ b/ldap-site-mngmt/webinterface/computers/ip_rechner.dwt @@ -8,8 +8,8 @@ - - + + diff --git a/ldap-site-mngmt/webinterface/computers/ip_rechner.php b/ldap-site-mngmt/webinterface/computers/ip_rechner.php index 5870f503..fcc04883 100644 --- a/ldap-site-mngmt/webinterface/computers/ip_rechner.php +++ b/ldap-site-mngmt/webinterface/computers/ip_rechner.php @@ -9,7 +9,7 @@ include('computers_header.inc.php'); ############################################################################# -$mnr = 2; +$mnr = 1; $sbmnr = -1; $mcnr = -1; @@ -19,6 +19,9 @@ createComputersMenu($rollen, $mnr, $auDN, $sbmnr, $mcnr); ############################################################################# +$sort = "hostname"; +$sort = $_GET['sort']; + $template->assign(array("IP" => "", "OLDIP" => "", "DHCPCONT" => "", @@ -26,9 +29,13 @@ $template->assign(array("IP" => "", "HOSTNAME" => "Noch keine Rechner angelegt", "HOSTDN" => "")); -$host_array = get_hosts($auDN,array("dn","hostname","ipaddress","dhcphlpcont","dhcpoptfixed-address")); +$host_array = get_hosts($auDN,array("dn","hostname","ipaddress","dhcphlpcont","dhcpoptfixed-address"),$sort); # print_r ($host_array); +if ($sort == "ipaddress"){ + $host_array = array_natsort($host_array, "ipaddress", "ipaddress"); +} + $template->define_dynamic("Hosts", "Webseite"); foreach ($host_array as $host){ diff --git a/ldap-site-mngmt/webinterface/computers/menu.dwt b/ldap-site-mngmt/webinterface/computers/menu.dwt index 6cb4e63e..7d316674 100644 --- a/ldap-site-mngmt/webinterface/computers/menu.dwt +++ b/ldap-site-mngmt/webinterface/computers/menu.dwt @@ -5,12 +5,15 @@ - + - + + + {TEXT_M} + + diff --git a/ldap-site-mngmt/webinterface/computers/new_host.dwt b/ldap-site-mngmt/webinterface/computers/new_host.dwt index 43625f57..e2ae50ba 100644 --- a/ldap-site-mngmt/webinterface/computers/new_host.dwt +++ b/ldap-site-mngmt/webinterface/computers/new_host.dwt @@ -1,10 +1,10 @@
Rechner NameIP AdresseRechner NameIP Adresse DHCP
{ICON}     - {TEXT_M}  
- - - - - - + + + diff --git a/ldap-site-mngmt/webinterface/computers/new_host.php b/ldap-site-mngmt/webinterface/computers/new_host.php index ad20b092..4ac144bc 100644 --- a/ldap-site-mngmt/webinterface/computers/new_host.php +++ b/ldap-site-mngmt/webinterface/computers/new_host.php @@ -7,7 +7,7 @@ $webseite = "new_host.dwt"; include('computers_header.inc.php'); -$mnr = 1; +$mnr = 0; $sbmnr = -1; $mcnr = -1; @@ -43,6 +43,8 @@ $template->assign(array("HOSTNAME" => $hostname, "MAC" => $mac, "IP" => $ip, "DHCPSELECT" => $dhcp_selectbox, + "GEOLOC" => "", + "GEOATT" => "", "MOUSE" => "", "GRAPHIC" => "", "MONITOR" => "", diff --git a/ldap-site-mngmt/webinterface/computers/new_pxe.dwt b/ldap-site-mngmt/webinterface/computers/new_pxe.dwt index 2a50e977..5bb7eee4 100644 --- a/ldap-site-mngmt/webinterface/computers/new_pxe.dwt +++ b/ldap-site-mngmt/webinterface/computers/new_pxe.dwt @@ -19,9 +19,9 @@ - - - - + diff --git a/ldap-site-mngmt/webinterface/computers/new_pxe.php b/ldap-site-mngmt/webinterface/computers/new_pxe.php index a6f479e3..3c4be824 100644 --- a/ldap-site-mngmt/webinterface/computers/new_pxe.php +++ b/ldap-site-mngmt/webinterface/computers/new_pxe.php @@ -8,14 +8,11 @@ $webseite = "new_pxe.dwt"; include('computers_header.inc.php'); $mnr = 2; -$sbmnr = -1; +$sbmnr = 0; $mcnr = -1; ################################################################################### -$sbmnr = $_GET['sbmnr']; -$mcnr = $_GET['mcnr']; - # Menuleisten erstellen createMainMenu($rollen, $mainnr); createComputersMenu($rollen, $mnr, $auDN, $sbmnr, $mcnr); @@ -31,38 +28,31 @@ $template->assign(array("PXECN" => $pxecn, "PXEDAY" => $pxeday, "PXEBEG" => $pxebeg, "PXEEND" => $pxeend, - # "LDAPURI" => "", - "FILEURI" => "", + #"FILEURI" => "", "RBS" => "", "RBSAU" => "", - "NFS" => "", - "NFSROOT" => "", - "TFTP" => "", - "TFTPROOT" => "", - "FILE" => "", - "ALLOW" => "", - "CONSOLE" => "", - "DEFAULT" => "menu.c32", - "DISPLAY" => "", - "FONT" => "", + "FILE" => "", + "ALLOW" => "", + #"CONSOLE" => "", + #"DISPLAY" => "", + #"FONT" => "", "IMPLICIT" => "", - "KBDMAP" => "", + #"KBDMAP" => "", "MENMPW" => "", - "MENTIT" => "", + "MENTIT" => "", "NOESC" => "1", - "ONERR" => "", + "ONERR" => "", "ONTIME" => "", - "PROMPT" => "0", - "SAY" => "", + "PROMPT" => "0", + #"SAY" => "", "SERIAL" => "", - "TIMEOUT" => "600", + "TIMEOUT" => "600", "NODEDN" => "cn=rbs,".$auDN, "HDN" => "none", "HN" => "", "GDN" => "none", "GN" => "", - "MNR" => $mnr, - "SBMNR" => $sbmnr)); + "MNR" => $mnr)); ############################################# # RB Dienste holen @@ -93,7 +83,7 @@ $template->define_dynamic("Altrbs", "Webseite"); $hostorgroup = $exp[0]; $hgexp = explode('=',$exp[0]); -$hosts_array = get_hosts($auDN,array("dn","hostname","hlprbservice","hwaddress")); +$hosts_array = get_hosts($auDN,array("dn","hostname","hlprbservice","hwaddress"),""); if ( count($hosts_array) != 0 ){ $template->define_dynamic("Hosts", "Webseite"); foreach ($hosts_array as $item){ diff --git a/ldap-site-mngmt/webinterface/computers/pxe.dwt b/ldap-site-mngmt/webinterface/computers/pxe.dwt index e20f8711..8ce34d26 100644 --- a/ldap-site-mngmt/webinterface/computers/pxe.dwt +++ b/ldap-site-mngmt/webinterface/computers/pxe.dwt @@ -1,7 +1,7 @@

Neuen Rechner anlegen:

+

Neuer Rechner in  {AU}  anlegen:

+ +
@@ -57,6 +57,26 @@ + + + + + + + + + + + @@ -76,15 +96,7 @@ - - - - +
DHCP:   + +
Geographic Location (Gebäude, Raum, ...) :  + +
Geo Coordinates:   + +
HW Mouse:  
DHCP:   - -
Ziel Objekt:
+
Ziel Objekt:
(Mehrfachauswahl möglich) 
+
Gültigkeitsdauer
(Time Range):
 
+ Gültigkeitsdauer
(Time Range):
 
 
Eines der folgenden:
@@ -61,7 +61,7 @@ - Wochentag  (Format: MO, DI, ... , SO)
- X für täglich -
+ :00  -   @@ -85,86 +85,76 @@ - - + + - - + - - + - - + - - + - - + - - + - - + - - + - - + - - -
AttributWertAttributWert
Default:   - -   + Default:   +
Menu Title:   + Menu Title:   -  
Menu Master Passwd:   - -   + Menu Master Passwd:   +
Timeout:   - -   + Timeout:   +
No Escape:   - -   + No Escape:   +
Prompt:   - -   + Prompt:   +
Allow Options:   - -   + Allow Options:   +
On Error:   - -   + On Error:   +
ON Timeout:   - -   + ON Timeout:   +
Client-Conf Dateiname
(File URI):  
+ - - - -
- + @@ -19,32 +19,63 @@ - - - - - - + + + + + + + + + - - - + - - - - - - - - - - - - - - - - - - - - - - - + @@ -213,8 +153,8 @@ - diff --git a/ldap-site-mngmt/webinterface/computers/pxe.php b/ldap-site-mngmt/webinterface/computers/pxe.php index d4f86026..f92146a2 100644 --- a/ldap-site-mngmt/webinterface/computers/pxe.php +++ b/ldap-site-mngmt/webinterface/computers/pxe.php @@ -13,9 +13,7 @@ $mcnr = -1; ################################################################################### -$mnr = $_GET['mnr']; -$sbmnr = $_GET['sbmnr']; -$mcnr = $_GET['mcnr']; +$mnr = $_GET['mnr']; # Menuleisten erstellen createMainMenu($rollen, $mainnr); @@ -24,6 +22,12 @@ createComputersMenu($rollen, $mnr, $auDN, $sbmnr, $mcnr); ################################################################################### $pxeDN = $_GET['dn']; + +$template->assign(array("HDN" => "", + "HN" => "", + "GDN" => "", + "GN" => "")); + # DN, CN des übergeordneten Nodes (Host oder Group) $pxednarray = ldap_explode_dn($pxeDN, 0); $nodeDN = implode(',',array_slice($pxednarray,2)); @@ -57,120 +61,48 @@ if (count($pxe['timerange']) > 1){ $template->parse("TRANGES_LIST", ".TRanges"); } -# Filenames -$template->define_dynamic("Filenames", "Webseite"); -if (count($pxe['filename']) > 1){ - foreach($pxe['filename'] as $fi){ - $template->assign(array("FILE" => $fi)); - $template->parse("FILENAMES_LIST", ".Filenames"); - } -}else{ - $exptime = explode('_',$pxe['filename']); - $template->assign(array("FILE" => $pxe['filename'])); - $template->parse("FILENAMES_LIST", ".Filenames"); -} $expcn = explode('_',$pxe['cn']); $name = array_slice($expcn,1); $pxecn = implode('_',$name); -# Bootmenü Einträge -$menuentries = get_menuentries($pxeDN,array("dn","menuposition","label","menulabel","menudefault","menupasswd","menuhide")); -# print_r($menuentries); echo "
"; -$maxpos = count($menuentries)+1; -# Globale Parameter $template->assign(array("PXEDN" => $pxeDN, "PXECN" => $pxecn, "TIMERANGE" => $pxe['timerange'], - "TFTP" => $rbsdata['tftpserverip'], - "TFTPFILE" => $rbsdata['tftpclientconfpath'], - #"LDAPURI" => $pxe['ldapuri'], - "FILEURI" => $pxe['fileuri'], - "NODEDN" => $nodeDN, - "NODE" => $nodednarray[0], - "DEFDN" => "cn=rbs,".$auDN, - "OPTLINK" => "", - "BMLINK" => "", - "MNR" => $mnr, - "SBMNR" => $sbmnr, - "MCNR" => $mcnr)); - - -# Für Submenü Einträge -$template->assign(array("SUBRBSDN" => "", - "SUBRBSCN" => "", - "SUBRBSAU" => "")); -if (count($subrbs) != 0){ -$template->define_dynamic("Subrbs", "Webseite"); - foreach ($subrbs as $item){ - $rbsdnexp = ldap_explode_dn($item,1); - $subrbscn = $rbsdnexp[0]; - $subrbsau = $rbsdnexp[2]; - #$subrbsexp = explode(',',$item['dn']); - #$subrbsau = explode('=',$subrbsexp[2]); - $template->assign(array("SUBRBSDN" => $item, - "SUBRBSCN" => $subrbscn, - "SUBRBSAU" => "[ ".$subrbsau." ]")); - $template->parse("SUBRBS_LIST", ".Subrbs"); - } -} + "NODEDN" => $nodeDN, + "NODE" => $nodednarray[0], + "DEFDN" => "cn=rbs,".$auDN, + "OPTLINK" => "", + "BMLINK" => "", + "MNR" => $mnr, + "SBMNR" => $sbmnr, + "MCNR" => $mcnr)); + -################################################ -# Bootmenü Einträge - -$template->define_dynamic("Bootmenu", "Webseite"); -$template->assign(array("MENDN" => "", - "MENULABEL" => "", - "ANZEIGE" => "Noch kein Bootmenü Eintrag angelegt", - "MEDEF" => "", - "MEPWD" => "", - "MEHIDE" => "", - "BGCDEF" => "", - "POSITION" => "")); -foreach ($menuentries as $me){ - $anzeige = ""; - if ($me['label'] != "" && $me['menulabel'] == ""){$anzeige .= $me['label'];} - if ($me['menulabel'] != ""){$anzeige .= $me['menulabel'];} - if ($me['menudefault'] == 1){$medef = "D"; $bgcdef = "background-color:#EEDD82;";} - if ($me['menupasswd'] != ""){$mepwd = "P";} - if ($me['menuhide'] == 1){$mehide = "H"; $bgcdef = "background-color:#A0A0A0;";} - $template->assign(array("MENDN" => $me['dn'], - "ANZEIGE" => "".$anzeige."", - "ANZEIGENAME" => $anzeige, - "POSITION" => $me['menuposition'], - "MEDEF" => $medef, - "MEPWD" => $mepwd, - "MEHIDE" => $mehide, - "BGCDEF" => $bgcdef, - "AUDN" => $auDN)); - $template->parse("BOOTMENU_LIST", ".Bootmenu"); - $medef = ""; - $bgcdef = ""; -} ################################################ -# PXE kopieren +# PXE zuordnen $hostorgroup = $exp[0]; $hgexp = explode('=',$exp[0]); -$hosts_array = get_hosts($auDN,array("dn","hostname")); +$hosts_array = get_hosts($auDN,array("dn","hostname"),""); $groups_array = get_groups($auDN,array("dn","cn")); $template->define_dynamic("Hosts", "Webseite"); foreach ($hosts_array as $item){ $template->assign(array("HDN" => $item['dn'], "HN" => $item['hostname'])); - $template->parse("HOSTS_LIST", ".Hosts"); + $template->parse("HOSTS_LIST", ".Hosts"); } $template->define_dynamic("Groups", "Webseite"); foreach ($groups_array as $item){ $template->assign(array("GDN" => $item['dn'], "GN" => $item['cn'])); - $template->parse("GROUPS_LIST", ".Groups"); + $template->parse("GROUPS_LIST", ".Groups"); } $dnexp = ldap_explode_dn($pxeDN, 1); diff --git a/ldap-site-mngmt/webinterface/computers/pxe_add.php b/ldap-site-mngmt/webinterface/computers/pxe_add.php index ef245f4d..db1dabe2 100644 --- a/ldap-site-mngmt/webinterface/computers/pxe_add.php +++ b/ldap-site-mngmt/webinterface/computers/pxe_add.php @@ -11,8 +11,6 @@ $pxeend = $_POST['pxeend']; $pxeend = htmlentities($pxeend); $conffile = $_POST['conffile']; $conffile = htmlentities($conffile); $mnr = $_POST['mnr']; -$sbmnr = $_POST['sbmnr']; -$mcnr = $_POST['mcnr']; $targets = $_POST['targets']; #print_r($targets); echo "
"; @@ -24,7 +22,7 @@ for ($i=0; $i"; -$pxeattribs = $_POST['pxeattribs']; +$pxeattribs = $_POST['attribs']; if (count($pxeattribs) != 0){ foreach (array_keys($pxeattribs) as $key){ $pxeatts[$key] = htmlentities($pxeattribs[$key]); @@ -37,7 +35,7 @@ $get_pxecn = str_replace ( " ", "_", $pxecn ); $get_pxeday = str_replace ( " ", "_", $pxeday ); $get_pxebeg = str_replace ( " ", "_", $pxebeg ); $get_pxeend = str_replace ( " ", "_", $pxeend ); -$url = "new_pxe.php?pxecn=".$get_pxecn."&pxeday=".$get_pxeday."&pxebeg=".$get_pxebeg."&pxeend=".$get_pxeend."&mnr=".$mnr."&sbmnr=".$sbmnr; +$url = "new_pxe.php?pxecn=".$get_pxecn."&pxeday=".$get_pxeday."&pxebeg=".$get_pxebeg."&pxeend=".$get_pxeend."&mnr=".$mnr; echo " @@ -135,7 +133,6 @@ if ( $pxecn != "" && $pxecn != "Hier_PXE_NAME_eintragen" && $rbsDN != "none" ){ $pxebeg = preg_replace ( '/0([0-9])/', '$1', $pxebeg); $pxeend = preg_replace ( '/0([0-9])/', '$1', $pxeend); - print_r($nodeDN); # TimeRange auf Ãœberschneidung mit vorhandenen checken if(check_timerange_pxe($pxeday,$pxebeg,$pxeend,$targetDN,"")){ $pxetimerange = $pxeday."_".$pxebeg."_".$pxeend; diff --git a/ldap-site-mngmt/webinterface/computers/pxe_bootmenue.dwt b/ldap-site-mngmt/webinterface/computers/pxe_bootmenue.dwt index ac6261b6..5c3986b3 100644 --- a/ldap-site-mngmt/webinterface/computers/pxe_bootmenue.dwt +++ b/ldap-site-mngmt/webinterface/computers/pxe_bootmenue.dwt @@ -1,7 +1,7 @@

<< Zurück zu Rechner  {NODE}

<< Zurück zur Übersicht PXE Configs

 

{BMLINK} Bootmenue

 

Allgemeine Parameter der PXE Konfiguration:

- + + - - - + + - +
Eindeutiger Name (cn):
(Bitte ohne Leerzeichen eingeben)  
  + Eindeutiger Name (cn):
(Bitte ohne Leerzeichen eingeben)  
  PXE_  
+
+ + + + + + + + + + + - - - + + - - + - - - - + +

PXE Konfiguration zuordnen (mit Time Range):

Rechner / Gruppen
+ (Mehrfachauswahl
möglich) 
  + + + +
Gültigkeitsdauer
(Time Range(s)):

- Zum Löschen einer Time Range
Häkchen setzen 
  + Gültigkeitsdauer
(Time Range(s)):

+ Zum Löschen einer Time Range
Häkchen setzen 
  Eines der folgenden:
- Datum  (dd.mm, z.B. 21.03/01.11)
@@ -52,7 +83,7 @@ - Wochentag  (MO, DI, ... , SO)
- X für täglich -
+ - Uhrzeit  (Format: hh, z.B. 07-19)
- X für rund um die Uhr @@ -61,16 +92,16 @@
  +     +  
-
+ :00  -   @@ -80,12 +111,12 @@
Neue Time Range hinzufügen   + Neue Time Range hinzufügen   - + :00  -   @@ -95,45 +126,12 @@

PXE Dateiname:

- Achtung: Änderungen hier können zu nicht verwendeten PXE Dateien führen!
- Sie sollten hier nur Änderungen vornehmen, wenn der PXE Datei offensichtlich ein falscher Name zugewiesen ist.
- Wird z.B. vom betroffenen Rechner die MAC Adresse geändert, so wird dies vom System automatisch an dieser Stelle nachvollzogen. - Diese Feld dient daher primär der Kontrolle.
- - - - - - - -
- PXE Dateiname(n):
- Bei PXE von Gruppen ist für jeden Mitgliedsrechner
- der PXE Dateiname aufgelistet. -
- - -   - - -
- + @@ -141,66 +139,8 @@

PXE Boot Menü  {PXECN}  kopieren:

- Beachten Sie, dass die Time Ranges des PXE Boot Menüs nicht kopiert werden. Sie müssen diese anschließend - neu setzen.
- Geben Sie bitte den eindeutigen Namen des neuen PXE Boot Menüs an.
- - - - - - - - - - - - - - - - - - - -
Ziel Objekt:
- (Mehrfachauswahl möglich) 
- - -
Eindeutiger Name (cn):
(Bitte ohne Leerzeichen eingeben)  
- PXE_ -   -
- -
- Die PXE Config wird komplett gelöscht. + + Die PXE Config wird inklusive aller Client-Zuordnungen auf sie komplett gelöscht.
- + diff --git a/ldap-site-mngmt/webinterface/computers/pxe_bootmenue.php b/ldap-site-mngmt/webinterface/computers/pxe_bootmenue.php index e916048b..29d6e338 100644 --- a/ldap-site-mngmt/webinterface/computers/pxe_bootmenue.php +++ b/ldap-site-mngmt/webinterface/computers/pxe_bootmenue.php @@ -13,9 +13,7 @@ $mcnr = -1; ################################################################################### -$mnr = $_GET['mnr']; -$sbmnr = $_GET['sbmnr']; -$mcnr = $_GET['mcnr']; +$mnr = $_GET['mnr']; # Menuleisten erstellen createMainMenu($rollen, $mainnr); @@ -87,12 +85,11 @@ $template->assign(array("PXEDN" => $pxeDN, "NODEDN" => $nodeDN, "NODE" => $nodednarray[0], "DEFDN" => "cn=rbs,".$auDN, - "PXELINK" => "", - "OPTLINK" => "", + "PXELINK" => "", + "OPTLINK" => "", "MNR" => $mnr, - "SBMNR" => $sbmnr, - "MCNR" => $mcnr)); - + "SBMNR" => $sbmnr)); + # Für Submenü Einträge $template->assign(array("SUBRBSDN" => "", @@ -147,48 +144,8 @@ foreach ($menuentries as $me){ } -################################################ -# PXE kopieren - -$hostorgroup = $exp[0]; -$hgexp = explode('=',$exp[0]); - - -$hosts_array = get_hosts($auDN,array("dn","hostname")); -$groups_array = get_groups($auDN,array("dn","cn")); - -$template->define_dynamic("Hosts", "Webseite"); -foreach ($hosts_array as $item){ - $template->assign(array("HDN" => $item['dn'], - "HN" => $item['hostname'])); - $template->parse("HOSTS_LIST", ".Hosts"); -} -$template->define_dynamic("Groups", "Webseite"); -foreach ($groups_array as $item){ - $template->assign(array("GDN" => $item['dn'], - "GN" => $item['cn'])); - $template->parse("GROUPS_LIST", ".Groups"); -} - -$dnexp = ldap_explode_dn($pxeDN, 1); -if ($dnexp[2] == "computers"){ - $nodetyp = "rbshost"; -} -if ($dnexp[2] == "groups"){ - $nodetyp = "group"; -} -# falls TR vorhanden dann soll sie gelöscht werden (flag deltr setzen) -if (count($pxe['timerange']) != 0){ - $template->assign(array("DELTR" => "1", - "NODETYP" => $nodetyp)); -} -else{ - $template->assign(array("DELTR" => "0", - "NODETYP" => $nodetyp)); -} - ################################################################################### include("computers_footer.inc.php"); -?> +?> \ No newline at end of file diff --git a/ldap-site-mngmt/webinterface/computers/pxe_globals.dwt b/ldap-site-mngmt/webinterface/computers/pxe_globals.dwt index 78b89481..f0497183 100644 --- a/ldap-site-mngmt/webinterface/computers/pxe_globals.dwt +++ b/ldap-site-mngmt/webinterface/computers/pxe_globals.dwt @@ -1,7 +1,7 @@

<< Zurück zu Rechner  {NODE}

<< Zurück zur Übersicht PXE Configs

 
- + diff --git a/ldap-site-mngmt/webinterface/computers/pxe_globals.php b/ldap-site-mngmt/webinterface/computers/pxe_globals.php index 0bfdaee6..211a47c8 100644 --- a/ldap-site-mngmt/webinterface/computers/pxe_globals.php +++ b/ldap-site-mngmt/webinterface/computers/pxe_globals.php @@ -13,9 +13,7 @@ $mcnr = -1; ################################################################################### -$mnr = $_GET['mnr']; -$sbmnr = $_GET['sbmnr']; -$mcnr = $_GET['mcnr']; +$mnr = $_GET['mnr']; # Menuleisten erstellen createMainMenu($rollen, $mainnr); @@ -57,27 +55,6 @@ if (count($pxe['timerange']) > 1){ $template->parse("TRANGES_LIST", ".TRanges"); } -# Filenames -$template->define_dynamic("Filenames", "Webseite"); -if (count($pxe['filename']) > 1){ - foreach($pxe['filename'] as $fi){ - $template->assign(array("FILE" => $fi)); - $template->parse("FILENAMES_LIST", ".Filenames"); - } -}else{ - $exptime = explode('_',$pxe['filename']); - $template->assign(array("FILE" => $pxe['filename'])); - $template->parse("FILENAMES_LIST", ".Filenames"); -} - -$expcn = explode('_',$pxe['cn']); -$name = array_slice($expcn,1); -$pxecn = implode('_',$name); - -# Bootmenü Einträge -$menuentries = get_menuentries($pxeDN,array("dn","menuposition","label","menulabel","menudefault","menupasswd","menuhide")); -# print_r($menuentries); echo "
"; -$maxpos = count($menuentries)+1; # Globale Parameter $template->assign(array("PXEDN" => $pxeDN, @@ -106,105 +83,11 @@ $template->assign(array("PXEDN" => $pxeDN, "NODEDN" => $nodeDN, "NODE" => $nodednarray[0], "DEFDN" => "cn=rbs,".$auDN, - "PXELINK" => "
", - "BMLINK" => "", + "PXELINK" => "", + "BMLINK" => "", "MNR" => $mnr, - "SBMNR" => $sbmnr, - "MCNR" => $mcnr)); - - -# Für Submenü Einträge -$template->assign(array("SUBRBSDN" => "", - "SUBRBSCN" => "", - "SUBRBSAU" => "")); -if (count($subrbs) != 0){ -$template->define_dynamic("Subrbs", "Webseite"); - foreach ($subrbs as $item){ - $rbsdnexp = ldap_explode_dn($item,1); - $subrbscn = $rbsdnexp[0]; - $subrbsau = $rbsdnexp[2]; - #$subrbsexp = explode(',',$item['dn']); - #$subrbsau = explode('=',$subrbsexp[2]); - $template->assign(array("SUBRBSDN" => $item, - "SUBRBSCN" => $subrbscn, - "SUBRBSAU" => "[ ".$subrbsau." ]")); - $template->parse("SUBRBS_LIST", ".Subrbs"); - } -} - -################################################ -# Bootmenü Einträge - -$template->define_dynamic("Bootmenu", "Webseite"); -$template->assign(array("MENDN" => "", - "MENULABEL" => "", - "ANZEIGE" => "Noch kein Bootmenü Eintrag angelegt", - "MEDEF" => "", - "MEPWD" => "", - "MEHIDE" => "", - "BGCDEF" => "", - "POSITION" => "")); -foreach ($menuentries as $me){ - $anzeige = ""; - if ($me['label'] != "" && $me['menulabel'] == ""){$anzeige .= $me['label'];} - if ($me['menulabel'] != ""){$anzeige .= $me['menulabel'];} - if ($me['menudefault'] == 1){$medef = "D"; $bgcdef = "background-color:#EEDD82;";} - if ($me['menupasswd'] != ""){$mepwd = "P";} - if ($me['menuhide'] == 1){$mehide = "H"; $bgcdef = "background-color:#A0A0A0;";} - $template->assign(array("MENDN" => $me['dn'], - "ANZEIGE" => "".$anzeige."", - "ANZEIGENAME" => $anzeige, - "POSITION" => $me['menuposition'], - "MEDEF" => $medef, - "MEPWD" => $mepwd, - "MEHIDE" => $mehide, - "BGCDEF" => $bgcdef, - "AUDN" => $auDN)); - $template->parse("BOOTMENU_LIST", ".Bootmenu"); - $medef = ""; - $bgcdef = ""; -} - - -################################################ -# PXE kopieren + "SBMNR" => $sbmnr)); -$hostorgroup = $exp[0]; -$hgexp = explode('=',$exp[0]); - - -$hosts_array = get_hosts($auDN,array("dn","hostname")); -$groups_array = get_groups($auDN,array("dn","cn")); - -$template->define_dynamic("Hosts", "Webseite"); -foreach ($hosts_array as $item){ - $template->assign(array("HDN" => $item['dn'], - "HN" => $item['hostname'])); - $template->parse("HOSTS_LIST", ".Hosts"); -} -$template->define_dynamic("Groups", "Webseite"); -foreach ($groups_array as $item){ - $template->assign(array("GDN" => $item['dn'], - "GN" => $item['cn'])); - $template->parse("GROUPS_LIST", ".Groups"); -} - -$dnexp = ldap_explode_dn($pxeDN, 1); -if ($dnexp[2] == "computers"){ - $nodetyp = "rbshost"; -} -if ($dnexp[2] == "groups"){ - $nodetyp = "group"; -} -# falls TR vorhanden dann soll sie gelöscht werden (flag deltr setzen) -if (count($pxe['timerange']) != 0){ - $template->assign(array("DELTR" => "1", - "NODETYP" => $nodetyp)); -} -else{ - $template->assign(array("DELTR" => "0", - "NODETYP" => $nodetyp)); -} ################################################################################### diff --git a/ldap-site-mngmt/webinterface/computers/pxeconfigs.dwt b/ldap-site-mngmt/webinterface/computers/pxeconfigs.dwt new file mode 100644 index 00000000..428eb13b --- /dev/null +++ b/ldap-site-mngmt/webinterface/computers/pxeconfigs.dwt @@ -0,0 +1,318 @@ +

<< Zurück zu Rechner  {NODE}

<< Zurück zur Übersicht PXE Configs

 
+ + + + + + + + + + + + + + + + + + + + + +

PXE Konfigurationen (Boot Menüs)   {AU}

+ + + + + + + + + + + + + + + + + + + +
PXE Configgültig für Client(s)Time Range (Gültigkeitsdauer) 
{PXECN}  {PXECLIENTS}  {TRANGES}    

Wochen Übersicht PXE Configs:

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
UhrzeitMontagDienstagMittwochDonnerstagFreitagSamstagSonntag
0       
        
2       
        
4       
        
6       
        
8       
        
10       
        
12       
        
14       
        
16        
        
18       
        
20       
        
22       
        
+ + + + + + + + + + + + + + + + + + + + + +
PXE Config Farbe
No Config    
{PXEPLANDESC}     
diff --git a/ldap-site-mngmt/webinterface/computers/pxeconfigs.php b/ldap-site-mngmt/webinterface/computers/pxeconfigs.php new file mode 100644 index 00000000..95d1abfd --- /dev/null +++ b/ldap-site-mngmt/webinterface/computers/pxeconfigs.php @@ -0,0 +1,92 @@ +assign(array("PXEDN" => "", + "PXECN" => "Noch keine PXE Boot Konfiguration angelegt", + "TRANGES" => "", + "PXECLIENTS" => "", + "RBS" => "", + "CN" => "")); + +$pxe_array = get_pxeconfigs2("",array("dn","cn","timerange","rbservicedn","pxeclientdn")); + +$template->define_dynamic("Pxeconf", "Webseite"); + +for ($i=0; $i".$pxe_array[$i]['cn']."
"; + + # Timerange Komponenten + $trange = ""; + if (count($pxe_array[$i]['timerange']) > 1 ){ + foreach ($pxe_array[$i]['timerange'] as $tr){ + $exptime = array_merge(explode('_',$tr),$pxe_array[$i]['cn']); + $wopltranges[$i][] = $exptime; # Für grafische Wo-Ansicht + if ($exptime[0] == "X"){$exptime[0]="täglich";} + # if ($exptime[1] == "X" && $exptime[2] == "X"){$exptime[1] = ""; $exptime[2]= "";} + $trange .= $exptime[0].", von ".$exptime[1].":00 bis ".$exptime[2].":59 / "; + } + }elseif (count($pxe_array[$i]['timerange']) == 1 ){ + $exptime = array_merge(explode('_',$pxe_array[$i]['timerange']), array($pxe_array[$i]['cn'])); + $wopltranges[$i] = $exptime; # Für grafische Wo-Ansicht + if ($exptime[0] == "X"){$exptime[0]="täglich";} + # if ($exptime[1] == "X" && $exptime[2] == "X"){$exptime[1] = ""; $exptime[2]= "";} + $trange .= $exptime[0].", von ".$exptime[1].":00 bis ".$exptime[2].":59"; + } + + # PXE Config Clients + $pxeclients = ""; + if (count($pxe_array[$i]['pxeclientdn']) > 1 ){ + #echo "ClientsARRAY: "; print_r($pxe_array[$i]['pxeclientdn']); echo "
"; + foreach ($pxe_array[$i]['pxeclientdn'] as $item) { + $pxecldn = ldap_explode_dn($item, 1); + $pxeclients .= $pxecldn[0]."
"; + } + + }elseif (count($pxe_array[$i]['pxeclientdn']) == 1 ){ + $pxecldn = ldap_explode_dn($pxe_array[$i]['pxeclientdn'], 1); + $pxeclients = $pxecldn[0]; + } + + $template->assign(array("PXEDN" => $pxe_array[$i]['dn'], + "PXECN" => $pxename, + "TRANGES" => $trange, + "PXECLIENTS" => $pxeclients, + "RBS" => $rbsDN, + "MNR" => $mnr, + "SBMNR" => $sbmnr, + "AUDN" => $auDN)); + $template->parse("PXECONF_LIST", ".Pxeconf"); + +} + + +include("pxe_wochenplan.php"); + + +################################################################################### + +include("computers_footer.inc.php"); + +?> diff --git a/ldap-site-mngmt/webinterface/computers/rbshost.dwt b/ldap-site-mngmt/webinterface/computers/rbshost.dwt index 59baf810..abff2cd8 100644 --- a/ldap-site-mngmt/webinterface/computers/rbshost.dwt +++ b/ldap-site-mngmt/webinterface/computers/rbshost.dwt @@ -3,7 +3,7 @@

{HOSTLINK} Allgemein

{DHCPLINK} DHCP

RBS/PXE

-

{HWLINK} Hardware

+

{HWLINK} Geo/Hardware

  diff --git a/ldap-site-mngmt/webinterface/computers/rbshost.php b/ldap-site-mngmt/webinterface/computers/rbshost.php index 101c5171..b28e0726 100644 --- a/ldap-site-mngmt/webinterface/computers/rbshost.php +++ b/ldap-site-mngmt/webinterface/computers/rbshost.php @@ -7,7 +7,7 @@ $webseite = "rbshost.dwt"; include('computers_header.inc.php'); -$mnr = 1; +$mnr = 0; $sbmnr = -1; $mcnr = -1; @@ -68,7 +68,7 @@ if (count($altrbs) != 0){ } } $rbs_selectbox .= " - "; + "; # RBS Daten if ($rbsDN == ""){ @@ -128,7 +128,7 @@ $template->assign(array("HOSTDN" => $hostDN, # Rechnerspezifische PXEs -$hostpxeconfigs = get_pxeconfigs($hostDN, array("dn","cn","description","timerange")); +$hostpxeconfigs = get_pxeconfigs2($hostDN, array("dn","cn","description","timerange")); $template->assign(array("PXEDN" => "", "PXECN" => "Keine PXE Config angelegt", @@ -170,7 +170,8 @@ if (count($hostpxeconfigs) != 0){ $template->assign(array("DEFPXEDN" => "", "DEFPXECN" => "Keine PXE Config angelegt", "DEFPXEDESC" => "", - "DEFPXETR" => "",)); + "DEFPXETR" => "", + "PXEPLANDESC" => "")); $template->define_dynamic("Defpxes", "Webseite"); if ($rbsDN != ""){ @@ -206,7 +207,7 @@ if ($rbsDN != ""){ } } } -} +#} ########################################################## # PXE Wochenübersicht @@ -240,6 +241,8 @@ for ($i=0; $i - +
- - -
+ - +

Rechner und IP Management

Client / IP Management

+
@@ -36,14 +36,12 @@
- - - - + + +
{MAINMENU}
{MAINMENU}
-
+
diff --git a/ldap-site-mngmt/webinterface/dhcp/dhcp_menu.php b/ldap-site-mngmt/webinterface/dhcp/dhcp_menu.php index a51ee6d5..01ec5b92 100644 --- a/ldap-site-mngmt/webinterface/dhcp/dhcp_menu.php +++ b/ldap-site-mngmt/webinterface/dhcp/dhcp_menu.php @@ -1,29 +1,27 @@ "; - if ($mipbs[0] != ""){ - $hauptmenu = array(array("link" => "dhcp.php", - "text" => "Übersicht", - "zugriff" => "alle")); - }else{ - $hauptmenu = array(array("link" => "no_dhcp.php", +function createDhcpMenu($rollen, $mnr, $auDN, $sbmnr) { + + global $template, $START_PATH, $rootAU; + + $mipbs = get_maxipblocks_au($auDN); + #echo "MIPB: "; print_r ($mipbs); echo "
"; + if ($mipbs[0] != ""){ + $hauptmenu = array(); + }else{ + $hauptmenu = array(array("link" => "no_dhcp.php", "text" => "Übersicht", "zugriff" => "alle")); - } - + } + $pools = get_dhcppools($auDN, array("dn")); if (count($pools) == 0){ $poollink = "dhcpnopool.php"; }else{ $poollink = "dhcppool.php"; } - - $i=1; + + $i=0; if ( $auDN == $rootAU ) { $dhcpservice_array = get_dhcpservices($auDN,array("dn","cn")); if (count($dhcpservice_array) == 0){ @@ -33,8 +31,8 @@ function createDhcpMenu($rollen , $mnr, $auDN, $sbmnr) { $dhcpsvlink = "dhcpservice.php?mnr=1"; } $hauptmenu []= array("link" => $dhcpsvlink, - "text" => "DHCP Service", - "zugriff" => array("MainAdmin","DhcpAdmin")); + "text" => "DHCP Service", + "zugriff" => array("MainAdmin","DhcpAdmin")); $i++; } if ($mipbs[0] != ""){ @@ -42,9 +40,9 @@ function createDhcpMenu($rollen , $mnr, $auDN, $sbmnr) { $hauptmenu [] = array("link" => "dhcpsubnets.php?mnr=".$i, "text" => "DHCP Subnets", "zugriff" => array("MainAdmin","DhcpAdmin")); - - $subnets = array(); - # falls komplette Netze verfügbar, link zum Neuanlegen + + $subnets = array(); + # falls komplette Netze verfügbar, link zum Neuanlegen if ( check_if_free_networks() ){ #$dhcpsubnet_array = get_dhcpsubnets($auDN,array("dn","cn")); /*for ($j=0;$j $poollink."?mnr=".$i, "text" => "Dynamische DHCP Pools", "zugriff" => array("MainAdmin","DhcpAdmin")); - - $submenu = array(array(), + + $submenu = array(#array(), $subnets, - array()); - + array()); }else{ $hauptmenu [] = array("link" => $poollink."?mnr=".$i, "text" => "Dynamische DHCP Pools", "zugriff" => array("MainAdmin","DhcpAdmin")); } } - - #print_r ($hauptmenu);cho "
"; - #print_r ($submenu); - #$rollen = array_keys($roles); # Zusammenstellen der Menuleiste $template->define_dynamic("Hauptmenu", "Menu"); $template->define_dynamic("Submenu", "Menu"); $i=0; $maxmenu = count($hauptmenu); - - foreach($hauptmenu as $item) { - $template->clear_parse("SUBMENU_LIST"); - if($item['zugriff'] === "alle" || vergleicheArrays($rollen , $item['zugriff'])) { - - $subempty = 0; + + foreach($hauptmenu as $item) { + $template->clear_parse("SUBMENU_LIST"); + if($item['zugriff'] === "alle" || vergleicheArrays($rollen , $item['zugriff'])) { + + $subempty = 0; $j=0; $maxsub = count($submenu[$mnr]); if($maxsub > 0){ @@ -137,9 +130,9 @@ function createDhcpMenu($rollen , $mnr, $auDN, $sbmnr) {   - ".$zwisch." + ".$zwisch." - ".$item2['text']." + ".$item2['text']."   "; diff --git a/ldap-site-mngmt/webinterface/dhcp/dhcppool.dwt b/ldap-site-mngmt/webinterface/dhcp/dhcppool.dwt index f8dbe02d..a4a1f79b 100644 --- a/ldap-site-mngmt/webinterface/dhcp/dhcppool.dwt +++ b/ldap-site-mngmt/webinterface/dhcp/dhcppool.dwt @@ -1,9 +1,16 @@ - + + - - - + - + + + + + + + + "; + +$template->assign(array("POOLFORMULAR" => $poolform)); +$template->parse("POOLFORM_LIST", "Poolform"); +#$template->clear_dynamic("Poolform"); +#$template->clear_parse("POOLFORM_LIST"); + +$template->define_dynamic("Dhcppools", "Webseite"); +$template->define_dynamic("Dhcpranges", "Webseite"); +# Für jeden Pool ... +foreach ($pools as $pool){ + + # DHCP Subnet des Pools + $subnet = ldap_explode_dn($pool['dhcphlpcont'],1); + $subnetdnexp = ldap_explode_dn( $pool['dhcphlpcont'], 0); + $subnetauexp = array_slice($subnetdnexp, 3); + $subnetau = implode(',',$subnetauexp); + + + $template->clear_parse("DHCPRANGES_LIST"); + + # DHCP Ranges + if (count($pool['dhcprange']) != 0){ + #$template->define_dynamic("Dhcpranges", "Webseite"); + if (count($pool['dhcprange']) > 1){ + foreach ($pool['dhcprange'] as $dhcprange){ + $iprange = explode('_',$dhcprange); + $template->assign(array( + "RANGE1" => $iprange[0], + "RANGE2" => $iprange[1], + "RPOOLDN" => $pool['dn'])); + $template->parse("DHCPRANGES_LIST", ".Dhcpranges"); + $template->clear_dynamic("Dhcpranges"); + } + }else{ + $iprange = explode('_',$pool['dhcprange']); + $template->assign(array( + "RANGE1" => $iprange[0], + "RANGE2" => $iprange[1], + "RPOOLDN" => $pool['dn'])); + $template->parse("DHCPRANGES_LIST", ".Dhcpranges"); + $template->clear_dynamic("Dhcpranges"); + } + } + + # Unknown-Clients + if ($pool['dhcpoptallow'] == "unknown-clients"){ + $unknownclients = "allow"; + $ucselectbox = " + + "; + } + elseif ($pool['dhcpoptignore'] == "unknown-clients") { + $unknownclients = "ignore"; + $ucselectbox = " + + "; + } + else{ + $unknownclients = "deny"; + $ucselectbox = " + + "; + } + + $template->assign(array("POOLDN" => $pool['dn'], + "CN" => $pool['cn'], + "SUBNETDN" => $pool['dhcphlpcont'], + "SUBNET" => $subnet[0], + "SUBNETAU" => $subnetau, + "DESCRIPTION" => $pool['description'], + "STATEMENTS" => $pool['dhcpstatements'], + "UCSELECT" => $ucselectbox, + "UCNOW" => $unknownclients, + "DEFAULTLEASE" => $pool['dhcpoptdefault-lease-time'], + "MAXLEASE" => $pool['dhcpoptmax-lease-time'], + "MNR" => $mnr)); + $template->parse("DHCPPOOLS_LIST", ".Dhcppools"); + +} +} + +################################################################################### + +include("dhcp_footer.inc.php"); + +?> \ No newline at end of file diff --git a/ldap-site-mngmt/webinterface/dhcp/dhcppools_change.php b/ldap-site-mngmt/webinterface/dhcp/dhcppools_change.php index 375cc01a..1a62cfed 100644 --- a/ldap-site-mngmt/webinterface/dhcp/dhcppools_change.php +++ b/ldap-site-mngmt/webinterface/dhcp/dhcppools_change.php @@ -20,6 +20,8 @@ $addrange1 = $_POST['addrange1']; $addrange2 = $_POST['addrange2']; $uc = $_POST['unknownclients']; $olduc = $_POST['olduc']; +$rbs = $_POST['rbs']; +$oldrbs = $_POST['oldrbs']; # Array to fill with AUs to update dhcpMTime $au_to_update = array(); @@ -40,7 +42,7 @@ $mnr = $_POST['mnr']; #print_r($olduc); echo "

"; #print_r($uc); echo "

"; -$seconds = 200; +$seconds = 2; $url = "dhcppool.php?mnr=".$mnr; echo " @@ -85,6 +87,8 @@ for ($i=0;$i"; + if ($result = ldap_mod_add($ds,$pooldn[$i],$entryrbs)){ + echo "DHCP Pool erfolgreich in RBS eingebunden.
"; + } + }elseif ( $rbs[$i] == "" ){ + $entryrbs ['hlprbservice'] = array(); + $entryrbs ['dhcpoptnext-server'] = array(); + $entryrbs ['dhcpoptfilename'] = array(); + echo "RBS delete "; echo "
"; + if ($result = ldap_mod_del($ds,$pooldn[$i],$entryrbs)){ + echo "DHCP Pool erfolgreich aus RBS gelöscht.
"; + } + }else{ + echo "RBS replace "; print_r($oldrbs[$i]); echo " with "; print_r($entryrbs); echo "
"; + if ($result = ldap_mod_replace($ds,$pooldn[$i],$entryrbs)){ + echo "DHCP Pool RBS Einbindung erfolgreich geändert.
"; + } + } + } + # Ranges hinzufügen if ( $addrange1[$i] != "" && $addrange2[$i] != "" ){ if ($syntax->check_ip_syntax($addrange1[$i]) && $syntax->check_ip_syntax($addrange2[$i])){ @@ -132,7 +164,7 @@ for ($i=0;$i",$pooldn[$i]); # Range zusammenstellen $newrange = implode("_", array($addrange1[$i],$addrange2[$i])); diff --git a/ldap-site-mngmt/webinterface/dhcp/dhcpsubnets.dwt b/ldap-site-mngmt/webinterface/dhcp/dhcpsubnets.dwt index 76c2913f..514f5b72 100644 --- a/ldap-site-mngmt/webinterface/dhcp/dhcpsubnets.dwt +++ b/ldap-site-mngmt/webinterface/dhcp/dhcpsubnets.dwt @@ -1,16 +1,23 @@

Dynamische DHCP Pools

+

Dynamische DHCP Pools

+ Administration Ihrer eingetragenen dynamischen DHCP Pools:
+ Bearbeiten von bzw. Anlegen neuer IP Ranges zur dynamischen Vergabe. Zulassen von unbekannten bzw. einschränken auf bekannte Clients (d.h. im DHCP angelegte Clients).
+ Sie können IP Ranges nur entsprechend der Ihnen noch frei verfübaren IP Adressen definieren.

+ Über die Eingabemaske unten können Sie weitere Pools anlegen +
 
+
@@ -17,11 +24,11 @@ - + Pool löschen - - + + + + + - + @@ -58,26 +70,27 @@
{SUBNET}/24

+
{SUBNET}/24

- Pool löschen (Häkchen setzen)
+ @@ -39,18 +46,23 @@ - +  
Remote Boot Service:
{RBS}
{RBSSELECT}
+

Dynamischen DHCP Pool hinzufügen

+ - + + @@ -87,12 +100,14 @@ + diff --git a/ldap-site-mngmt/webinterface/dhcp/dhcppool.php b/ldap-site-mngmt/webinterface/dhcp/dhcppool.php index d35edd18..aa58201f 100644 --- a/ldap-site-mngmt/webinterface/dhcp/dhcppool.php +++ b/ldap-site-mngmt/webinterface/dhcp/dhcppool.php @@ -24,9 +24,9 @@ createDhcpMenu($rollen, $mnr, $auDN, $sbmnr); # DHCP Pools Daten holen $attributes = array("dn","cn","dhcphlpcont","dhcprange","description","dhcpstatements","dhcpoptallow", "dhcpoptdefault-lease-time","dhcpoptdeny","dhcpoptignore","dhcpoptmax-lease-time", - "dhcpoptgeneric"); + "dhcpoptgeneric","hlprbservice","dhcpoptfilename","dhcpoptnext-server"); $pools = get_dhcppools($auDN, $attributes); -#print_r($pools); + if (count($pools) == 0){ redirect(0, "dhcpnopool.php?mnr=".$mnr, "", $addSessionId = TRUE); die; @@ -43,6 +43,8 @@ $template->assign(array("POOLDN" => "", "ALLOW" => "", "DENY" => "", "IGNORE" => "", + "RBS" => "", + "RBSSELECT" => "", "DEFAULTLEASE" => "", "MAXLEASE" => "", "MNR" => $mnr)); @@ -59,7 +61,8 @@ foreach ($pools as $pool){ $subnetdnexp = ldap_explode_dn( $pool['dhcphlpcont'], 0); $subnetauexp = array_slice($subnetdnexp, 3); $subnetau = implode(',',$subnetauexp); - + $rbsDN = $pool['hlprbservice']; + $template->clear_parse("DHCPRANGES_LIST"); @@ -105,8 +108,34 @@ foreach ($pools as $pool){ $ucselectbox = ""; - } - + } + + # RBS Setup + $rbs_selectbox = ""; + $rbs_addselectbox = ""; + $altrbs = alternative_rbservices($rbsDN); + + $rbs_selectbox .= " + "; + if (count($altrbs) != 0){ + foreach ($altrbs as $item){ + $rbs_selectbox .= ""; + $rbs_addselectbox .= ""; + } + } + $rbs_selectbox .= ""; + $rbs_addselectbox .= ""; + + if ($rbsDN == ""){ + $rbs = "Keine Einbindung"; + }else{ + $rbsdnexp = ldap_explode_dn($pool['hlprbservice'],1); + $rbs = $rbsdnexp[0]."
DHCP Next-Server: ".$pool['dhcpoptnext-server']."
DHCP Filename: ".$pool['dhcpoptfilename']; + } + + $template->assign(array("POOLDN" => $pool['dn'], "CN" => $pool['cn'], "SUBNETDN" => $pool['dhcphlpcont'], @@ -119,6 +148,10 @@ foreach ($pools as $pool){ "ALLOW" => $pool['dhcpoptallow'], "DENY" => $pool['dhcpoptdeny'], "IGNORE" => $pool['dhcpoptignore'], + "RBS" => $rbs, + "RBSSELECT" => $rbs_selectbox, + "RBSADD" => $rbs_addselectbox, + "OLDRBS" => $rbsDN, "DEFAULTLEASE" => $pool['dhcpoptdefault-lease-time'], "MAXLEASE" => $pool['dhcpoptmax-lease-time'], "MNR" => $mnr)); diff --git a/ldap-site-mngmt/webinterface/dhcp/dhcppool_add.php b/ldap-site-mngmt/webinterface/dhcp/dhcppool_add.php index 416654e2..bddb8282 100644 --- a/ldap-site-mngmt/webinterface/dhcp/dhcppool_add.php +++ b/ldap-site-mngmt/webinterface/dhcp/dhcppool_add.php @@ -6,6 +6,8 @@ $syntax = new Syntaxcheck; $range1 = $_POST['addrange1']; $range2 = $_POST['addrange2']; $unknownclients = $_POST['unknownclients']; +$rbs = $_POST['rbs']; + $mnr = $_POST['mnr']; $seconds = 2; @@ -65,7 +67,7 @@ if ($syntax->check_ip_syntax($range1) && $syntax->check_ip_syntax($range2)){ $results = ldap_mod_replace($ds,$auDN,$entry); if ($results){ echo "
Neue FIPBs erfolgreich eingetragen!
"; - $result = add_dhcppool($subnetdn,$range,$unknownclients,$result[0]['dhcphlpcont']); + $result = add_dhcppool($subnetdn,$range,$unknownclients,$result[0]['dhcphlpcont'],$rbs); if ($result){ echo "
Dynamischer DHCP Pool erfolgreich eingetragen!
" ; update_dhcpmtime(array($subnetau)); diff --git a/ldap-site-mngmt/webinterface/dhcp/dhcppool_new.dwt b/ldap-site-mngmt/webinterface/dhcp/dhcppool_new.dwt new file mode 100644 index 00000000..8c9aefdc --- /dev/null +++ b/ldap-site-mngmt/webinterface/dhcp/dhcppool_new.dwt @@ -0,0 +1,49 @@ +
IP Range (innerhalb eines Subnetzes)
weitere Ranges können später hinzugefügt werden
Unknown ClientsUnknown ClientsRemote Boot Service
- {RBSADD} +
+ + + + + + {POOLFORMULAR} + + + + + + + + + + + + + +

Dynamische DHCP Pools

Dynamischen DHCP Pool hinzufügen

+ + + + + + + + + + + + + + +
IP Range (innerhalb eines Subnetzes)
+ weitere Ranges können später hinzugefügt werden
Unknown Clients
+ +    -    + + + +
+ +
\ No newline at end of file diff --git a/ldap-site-mngmt/webinterface/dhcp/dhcppool_new.php b/ldap-site-mngmt/webinterface/dhcp/dhcppool_new.php new file mode 100644 index 00000000..74592459 --- /dev/null +++ b/ldap-site-mngmt/webinterface/dhcp/dhcppool_new.php @@ -0,0 +1,201 @@ +define_dynamic("Poolform", "Webseite"); +$template->assign(array("POOLFORMULAR" => "", + #"POOLDN" => "", + "CN" => "", + "SUBNETDN" => "", + #"SUBNET" => "", + #"RANGE1" => "", + #"RANGE2" => "", + "DESCRIPTION" => "", + "STATEMENTS" => "", + "DEFAULTLEASE" => "", + "MAXLEASE" => "", + "MNR" => $mnr)); + +# DHCP Pools Daten holen +$attributes = array("dn","cn","dhcphlpcont","dhcprange","description","dhcpstatements","dhcpoptallow", + "dhcpoptdefault-lease-time","dhcpoptdeny","dhcpoptignore","dhcpoptmax-lease-time", + "dhcpoptgeneric"); +$pools = get_dhcppools($auDN, $attributes); +#print_r($pools); + +if (count($pools) != 0){ + + + +$poolform = " +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
SubnetzIP Ranges (innerhalb Subnetz)Unknown Clients
{SUBNET}/24

+ + Pool löschen (Häkchen setzen)
+ + + + +    -    + + +
+ + + + + +    -    + +
+ +   +
+
- + -

DHCP Subnets

+
+

DHCP Subnets

+ Übersicht der in {AU} angelegten DHCP Subnets:
+ Subnetz (-maske), Status der Einbindung in den zentralen DHCP Dienst, sowie Informationen zu angelegten dynamischen DHCP Pools des Subnetzes.

+ Zur Verwaltungsmaske eines bestimmten Subnetzes gelangen Sie durch klicken auf entsprechendes Subnetz.

+ DHCP Subnets können nur für Ihnen komplett zugewiesene Subnetze angelegt werden.
+ Über die Eingabemaske können Sie noch nicht als DHCP Subnets anlegte komplette Subnetze eintragen (Menüpunkt links "Neues DHCP Subnet anlegen").
 
+
- - + + diff --git a/ldap-site-mngmt/webinterface/dhcp/dhcpsubnets.php b/ldap-site-mngmt/webinterface/dhcp/dhcpsubnets.php index 1bf6b2e1..88e10576 100644 --- a/ldap-site-mngmt/webinterface/dhcp/dhcpsubnets.php +++ b/ldap-site-mngmt/webinterface/dhcp/dhcpsubnets.php @@ -69,7 +69,7 @@ foreach ($subnet_array as $subnet){ $dhcpservice = ""; if ($subnet['dhcphlpcont'] != ""){ $exp = ldap_explode_dn($subnet['dhcphlpcont'],1); - $dhcpservice = $exp[0]."  [".$exp[2]."]"; + $dhcpservice = $exp[0]."
[".$exp[2]."]"; } $subnetcn = "".$subnet['cn'].""; diff --git a/ldap-site-mngmt/webinterface/dhcp/menu.dwt b/ldap-site-mngmt/webinterface/dhcp/menu.dwt index 037bdf15..24e68a3c 100644 --- a/ldap-site-mngmt/webinterface/dhcp/menu.dwt +++ b/ldap-site-mngmt/webinterface/dhcp/menu.dwt @@ -6,11 +6,14 @@ - + - + + + {TEXT_M} + + @@ -22,7 +25,7 @@ - + diff --git a/ldap-site-mngmt/webinterface/dns/dns.dwt b/ldap-site-mngmt/webinterface/dns/dns.dwt index ec6d0cbc..968d8c16 100644 --- a/ldap-site-mngmt/webinterface/dns/dns.dwt +++ b/ldap-site-mngmt/webinterface/dns/dns.dwt @@ -5,18 +5,18 @@ -
Subnet NetmaskDHCP ServiceDynamic Pools (IP Ranges)DHCP ServiceDynamic Pools (IP Ranges)
{ICON}   - {TEXT_M}  
+
- - + + +
+ - +

Rechner und IP Management

Client / IP Management

+
@@ -36,16 +36,13 @@
{MAINMENU}
- - - - -
{MAINMENU}
- -
- + +
diff --git a/ldap-site-mngmt/webinterface/hauptmenue.dwt b/ldap-site-mngmt/webinterface/hauptmenue.dwt index 8501041d..7295b5f6 100644 --- a/ldap-site-mngmt/webinterface/hauptmenue.dwt +++ b/ldap-site-mngmt/webinterface/hauptmenue.dwt @@ -1,15 +1,15 @@ -
- - +
+ + - - + diff --git a/ldap-site-mngmt/webinterface/home.dwt b/ldap-site-mngmt/webinterface/home.dwt index 1b25eaf8..9d89dadc 100644 --- a/ldap-site-mngmt/webinterface/home.dwt +++ b/ldap-site-mngmt/webinterface/home.dwt @@ -1,12 +1,10 @@ - - -
- - {MTEXT_M} + + + {MTEXT_M}   
- +
+ @@ -33,9 +31,6 @@
- + - +

Rechner und IP Management

Client / IP Management

-
- - @@ -44,22 +39,11 @@
- - - - - - - - - - - + + diff --git a/ldap-site-mngmt/webinterface/lib/au_management_functions.php b/ldap-site-mngmt/webinterface/lib/au_management_functions.php index 35881fec..d924aec0 100644 --- a/ldap-site-mngmt/webinterface/lib/au_management_functions.php +++ b/ldap-site-mngmt/webinterface/lib/au_management_functions.php @@ -53,7 +53,7 @@ function new_childau($childDN,$childou,$childcn,$childdesc,$mainadmin){ if ($resultAU = ldap_add($ds,$childDN,$entryAU)){ # alle Au Container anlegen - $containers = array("computers","dhcp","groups","rbs","roles"); + $containers = array("computers","dhcp","groups","pxe","rbs","roles"); foreach ($containers as $cont){ $entryCont = array(); $entryCont ['objectclass'] = "AUContainer"; @@ -426,7 +426,7 @@ function change_child_domain($childdomain, $oldchilddomain, $childDN, $assocdom, $entryAD['associateddomain'] = $assocdom; #print_r($entryAD); echo "
"; if ($resultAD = ldap_mod_del($ds,$childDN,$entryAD)){ - + # neuen dc Knoten anlegen mit Rollen ... if(new_child_domain($childdomain, $childDN, $assocdom, $domDN)){ diff --git a/ldap-site-mngmt/webinterface/lib/commonlib.inc.php b/ldap-site-mngmt/webinterface/lib/commonlib.inc.php index e827c811..95fc0776 100644 --- a/ldap-site-mngmt/webinterface/lib/commonlib.inc.php +++ b/ldap-site-mngmt/webinterface/lib/commonlib.inc.php @@ -5,20 +5,20 @@ * attributesToString($entry, $name, $delemiter = "", $pattern = "", $empty = " ") - * Gibt die Attribute eines LDAP-Eintrages formatiert aus * -* Gibt die Attribute des Schlüssels $name des LDAP-Eintraes $entry aus. Mehrere Werte werden mit $delemiter -* voneinander getrennt. Für jeden Wert des Attributes wird in $pattern an die Stelle "$name" (Dallarzeichen plus die Bezeichnung) -* das aktuelle Attribut eingefügt - ähnlich (aber nicht gleich!) der String-Interpretation von PHP. Falls $pattern = "" wird -* einfach der Wert zurück gegeben. Falls für den Schlüssel keine Attribut-Werte definiert sind, wird $empty zurück gegeben +* Gibt die Attribute des Schl�ssels $name des LDAP-Eintraes $entry aus. Mehrere Werte werden mit $delemiter +* voneinander getrennt. F�r jeden Wert des Attributes wird in $pattern an die Stelle "$name" (Dallarzeichen plus die Bezeichnung) +* das aktuelle Attribut eingef�gt - �hnlich (aber nicht gleich!) der String-Interpretation von PHP. Falls $pattern = "" wird +* einfach der Wert zur�ck gegeben. Falls f�r den Schl�ssel keine Attribut-Werte definiert sind, wird $empty zur�ck gegeben * * @param array entry LDAP-Array * @param string name Hashbezeichnung * @param string delimiter Trennzeichen * @param string pattern Muster -* @param string empty Zeichen für leere Felder +* @param string empty Zeichen f�r leere Felder * * @return string Array-Werte als String * -* @author Timothy Burk, lt. Musterlösung +* @author Timothy Burk, lt. Musterl�sung * */ @@ -51,7 +51,7 @@ * liefert den ($i-ten) Wert des Attributes $name aus $entry * Eingabe ist entweder ein Datensatz aus dem ldapsearch-Ergebnis, oder * ein um die Meta-Infos (count) bereinigtes Ergebnis - * sorry für die mangelhafte Doku - Thomas + * sorry f�r die mangelhafte Doku - Thomas */ function oneAttribute($entry, $name, $empty = "", $i = 0) { @@ -72,11 +72,11 @@ /** * redirect($seconds, $url, $msg = "", $addSessionId = TRUE) - leitet den Benutzer auf eine andere Seite weiter * - * Leitet den Benuzter nach $seconds Sekunden auf die Seite $url weiter. Während der Wartezeit bekommt der Benutzer + * Leitet den Benuzter nach $seconds Sekunden auf die Seite $url weiter. W�hrend der Wartezeit bekommt der Benutzer * die Information $msg mitgeteilt (Achtung: keine automatische Formatierung der $msg). Wenn $addSessionId TRUE ist, - * dann wird an den URL die SessionId angehängt. + * dann wird an den URL die SessionId angeh�ngt. * - * @author Timothy Burk, lt. Musterlösung + * @author Timothy Burk, lt. Musterl�sung */ function redirect($seconds, $url, $msg = "", $addSessionId = TRUE) { @@ -106,8 +106,8 @@ /** * getRights($ds, $userDn) - ermittelt die Rechte eines Users. * -* Die Funktion erwartet ein Directory-Handle und den vollständigen Distiguished Name des -* Users. Rückgabewert ist ein numerisches eindimensionales Array, welches die Rechte enthält. +* Die Funktion erwartet ein Directory-Handle und den vollst�ndigen Distiguished Name des +* Users. R�ckgabewert ist ein numerisches eindimensionales Array, welches die Rechte enth�lt. * * @param resource ds LDAP Directory Handle * @param string userDn Distinguishedname des Users @@ -158,10 +158,10 @@ function getRoles($ds, $userDN) { /** -* createMenu($rechte) - erstellt die Menuleiste abhängig von der Rechten des Users. +* createMenu($rechte) - erstellt die Menuleiste abh�ngig von der Rechten des Users. * * Die Navigationsleiste wird dynamisch erzeugt und von dieser Funktion direkt in das -* entsprechende Template geparst. Dabei werden nur die Schaltflächen zur Verfügung +* entsprechende Template geparst. Dabei werden nur die Schaltfl�chen zur Verf�gung * gestellt, die der User mit seinen Rechten anzeigen darf. * * @param array rechte Eindimensionales Array mit den Rechten des Users @@ -178,7 +178,7 @@ function createMainMenu($rollen , $mainnr) { $mipbs = get_maxipblocks_au($auDN); #echo "MIPB: "; print_r ($mipbs); echo "
"; if ($mipbs[0] != ""){ - $dhcplink = "dhcp/dhcp.php"; + $dhcplink = "dhcp/dhcpsubnets.php?mnr=0"; }else{ $dhcplink = "dhcp/no_dhcp.php"; } @@ -193,7 +193,7 @@ function createMainMenu($rollen , $mainnr) { #array("link" => "ip/ip.php", # "text" => "IP Management", # "zugriff" => array("MainAdmin","HostAdmin","DhcpAdmin")), - array("link" => "computers/computers.php", + array("link" => "computers/hostoverview.php?sort=hostname", "text" => "Rechner", "zugriff" => array("MainAdmin","HostAdmin","DhcpAdmin")), array("link" => $dhcplink, @@ -277,7 +277,7 @@ function vergleicheArrays($a, $b) { /** * inputArraySauber($Array) * -* Löscht aus einem Array, welches POST-Daten enthält leere Felder. Nötig für die Formatierung +* L�scht aus einem Array, welches POST-Daten enth�lt leere Felder. N�tig f�r die Formatierung * vor dem Anlegen neuer Objekte. * * @param array _POST-Array @@ -307,7 +307,7 @@ function inputArraySauber($Array) { /** * numArraySauber($Array) * -* Löscht aus einemn numerischen Array leere Felder. +* L�scht aus einemn numerischen Array leere Felder. * * @param array Numerisches Array * @@ -335,8 +335,8 @@ function numArraySauber($Array) { * ldapArraySauber($Array, [$delEmpty]) * * Bereinigt ein dreidimensionales Array, so wie es aus der Funktion uniLdapSearch kommt. -* Dabei werden alle count-Felder sowie alle numerischen Felder in denen der Schlüssel -* gespeichert ist entfernt. Attributarrays mit nur einem Element werden gelöscht, das Element +* Dabei werden alle count-Felder sowie alle numerischen Felder in denen der Schl�ssel +* gespeichert ist entfernt. Attributarrays mit nur einem Element werden gel�scht, das Element * wir als Skalar gespeichert. * Wenn $delEmpty = TRUE ist, werden nur nichtleere Felder gespeichert. * @@ -390,14 +390,14 @@ function ldapArraySauber($Array, $delEmpty = FALSE) { /** * personOptionen($rechte) * -* Enthält die möglichen Optionen, die auf einen User angewandt werden können als +* Enth�lt die m�glichen Optionen, die auf einen User angewandt werden k�nnen als * zweidimensionales Array mit folgenden Attributen: * [ziel]: Aufzurufendes PHP-Skript -* [text]: Beschriftung der Schaltfläche +* [text]: Beschriftung der Schaltfl�che * [desc]: Beschreibung der Funktion -* [rechte][]: Array mit den erforderlichen Rechten für die jeweilige Option. array("alle") steht für "ohne Einschränkung". +* [rechte][]: Array mit den erforderlichen Rechten f�r die jeweilige Option. array("alle") steht f�r "ohne Einschr�nkung". * -* Dieses in dieser Funktion gespeicherte Array wird abhängig von den übergebenen +* Dieses in dieser Funktion gespeicherte Array wird abh�ngig von den �bergebenen * Rechten um nicht erlaubte Optionen reduziert und dann ausgegeben. * * @param array $rechte Eindimensionales Array $_SESSION['rechte'] @@ -411,12 +411,12 @@ function personOptionen($rechte) { $optionen = array(); $optionen[] = array("ziel" => $START_PATH."person/datensatz.php?aktion=edit", "text" => "Userdaten bearbeiten", - "desc" => "Anzeigen und Ändern der persönlichen Daten des Users.", + "desc" => "Anzeigen und �ndern der pers�nlichen Daten des Users.", "rechte" => array("writeMitarbeiter"), "hidden" => array("aktion" => "edit")); $optionen[] = array("ziel" => $START_PATH."person/datensatz.php", - "text" => "Datensatz löschen", - "desc" => "Der User wird vollständig mit allen Daten aus der Datenbank gelöscht.", + "text" => "Datensatz l�schen", + "desc" => "Der User wird vollst�ndig mit allen Daten aus der Datenbank gel�scht.", "rechte" => array("writeMitarbeiter"), "hidden" => array("aktion" => "delete")); $optionen[] = array("ziel" => $START_PATH."person/datensatz.php", @@ -425,8 +425,8 @@ function personOptionen($rechte) { "rechte" => array("writeMitarbeiter"), "hidden" => array("aktion" => "archiv")); $optionen[] = array("ziel" => $START_PATH."person/vertrag_show.php", - "text" => "Verträge bearbeiten", - "desc" => "Bearbeiten oder Anlegen eines Vertrages. Sie können dabei zwischen verschiedenen Vertragsarten wählen.", + "text" => "Vertr�ge bearbeiten", + "desc" => "Bearbeiten oder Anlegen eines Vertrages. Sie k�nnen dabei zwischen verschiedenen Vertragsarten w�hlen.", "rechte" => array("writeVertrag", "readVertrag")); $optionen[] = array("ziel" => $START_PATH."urlaub/krank_angabe.php", "text" => "Krankheitstage", @@ -435,7 +435,7 @@ function personOptionen($rechte) { "hidden" => array("uidToChange" => $utc_uid, "GName" => $utc_cn)); $optionen[] = array("ziel" => $START_PATH."urlaub/liste.php", "text" => "Urlaubstage anzeigen", - "desc" => "Urlaubstage des Users in grafischer Übersicht anzeigen.", + "desc" => "Urlaubstage des Users in grafischer �bersicht anzeigen.", "rechte" => array("readKrankheitUrlaub"), "hidden" => array("wer" => $utc_uid, "wann" => "g", "sub" => $utc_cn)); $optionen[] = array("ziel" => $START_PATH."person/rechte_show.php", @@ -461,12 +461,12 @@ function personOptionen($rechte) { * makeArrFromAttribute($a, $attribute) * * Ein zweidimensionales Array wird nach der ersten Dimension durchlaufen. -* Dabei werden die Werte des angegebenen Attributes $attribute für alle -* Einträge extrahiert und in einem neuen Array gespeichert, welches -* anschließend zurückgegeben wird. +* Dabei werden die Werte des angegebenen Attributes $attribute f�r alle +* Eintr�ge extrahiert und in einem neuen Array gespeichert, welches +* anschlie�end zur�ckgegeben wird. * * @param array $a Zweidimensionales Array -* @param string $attribute Schlüsselname der zweiten Dimension +* @param string $attribute Schl�sselname der zweiten Dimension * * @return array Eindimensionales numerisches Array mit den Attributwerten. * @@ -486,20 +486,20 @@ function makeArrFromAttribute($a, $attribute) { /** * sortArrayByKey sortiert die 1.Dimension von bis zu 5-dimensionalen Arrays -* nach den Werten in einem beliebigen Schlüssel in beliebiger Dimension +* nach den Werten in einem beliebigen Schl�ssel in beliebiger Dimension * -* PS: die Funktion sortArrayByKey ist nur sinnvoll, wenn sich die Array-Einträge -* der 1.Dim sehr ähnlich sind, sprich bei Suchergebnissen!! +* PS: die Funktion sortArrayByKey ist nur sinnvoll, wenn sich die Array-Eintr�ge +* der 1.Dim sehr �hnlich sind, sprich bei Suchergebnissen!! * * @param array $array : das zu sortierende Array -* @param string $sortKey : der Schlüssel, nach dem sortiert werden soll +* @param string $sortKey : der Schl�ssel, nach dem sortiert werden soll * Bsp.: * es soll nach $array[$i][$j][$k]['sortkey'] sortiert werden * => $sortKey = "$j#$k#sortkey" -* @param string $sortDirection : die Sortierrichtung, gültige Werte sind "up", "down" +* @param string $sortDirection : die Sortierrichtung, g�ltige Werte sind "up", "down" * * -* @author Daniel Höfler +* @author Daniel H�fler */ function sortArrayByKey($array, $sortKey, $sortDirection = "up") { $sortKeyArray = explode("#", $sortKey); @@ -533,7 +533,7 @@ function sortArrayByKey($array, $sortKey, $sortDirection = "up") { break; } } else { - echo "zu viele Dimensionen!! Höchstens 4 Dimensionen möglich"; + echo "zu viele Dimensionen!! H�chstens 4 Dimensionen m�glich"; return false; } if($sortDirection == "up") { @@ -541,7 +541,7 @@ function sortArrayByKey($array, $sortKey, $sortDirection = "up") { } elseif($sortDirection == "down") { arsort($toSortKeys); } else { - echo "Keine gültige Sortierrichtung!! Wählen sie \"up\" oder \"down\"\n"; + echo "Keine g�ltige Sortierrichtung!! W�hlen sie \"up\" oder \"down\"\n"; return false; } $sortArray = array(); diff --git a/ldap-site-mngmt/webinterface/lib/config.inc.php b/ldap-site-mngmt/webinterface/lib/config.inc.php index cc26d0fc..18a59409 100644 --- a/ldap-site-mngmt/webinterface/lib/config.inc.php +++ b/ldap-site-mngmt/webinterface/lib/config.inc.php @@ -1,30 +1,36 @@ diff --git a/ldap-site-mngmt/webinterface/lib/dhcp_management_functions.php b/ldap-site-mngmt/webinterface/lib/dhcp_management_functions.php index 05d47f49..97259728 100644 --- a/ldap-site-mngmt/webinterface/lib/dhcp_management_functions.php +++ b/ldap-site-mngmt/webinterface/lib/dhcp_management_functions.php @@ -673,18 +673,18 @@ function check_ip_in_subnet($ip,$subnet) { ######################### # Pools -function add_dhcppool ($dhcpsubnetdn,$range,$unknownclients,$dhcpservicedn){ +function add_dhcppool ($dhcpsubnetdn,$range,$unknownclients,$dhcpservicedn,$rbssrvdn){ global $ds, $suffix, $auDN, $ldapError; - + if(!($result = uniLdapSearch($ds, "cn=dhcp,".$auDN,"(objectclass=*)", array("cn"), "dn", "list", 0, 0))) { - # redirect(5, "", $ldapError, FALSE); - echo "no search"; - die; + # redirect(5, "", $ldapError, FALSE); + echo "no search"; + die; } $result = ldapArraySauber($result); - $dhcpcn_array = array(); + $dhcpcn_array = array(); foreach ($result as $item){ $dhcpcn_array [] = $item['cn']; } @@ -696,7 +696,7 @@ function add_dhcppool ($dhcpsubnetdn,$range,$unknownclients,$dhcpservicedn){ } } $dhcppoolDN = "cn=".$cn.",cn=dhcp,".$auDN; - + $entrydhcp ['objectclass'][0] = "dhcpPool"; $entrydhcp ['objectclass'][1] = "dhcpOptions"; $entrydhcp ['objectclass'][2] = "top"; @@ -710,15 +710,17 @@ function add_dhcppool ($dhcpsubnetdn,$range,$unknownclients,$dhcpservicedn){ }else{ $entrydhcp ['dhcpoptdeny'] = "unknown-clients"; } + if ( $rbssrvdn != "none" ){ + $entrydhcp ['hlprbservice'] = $rbssrvdn; + } print_r($dhcppoolDN);echo "

"; print_r($entrydhcp);echo "

"; - + if ($result = ldap_add($ds,$dhcppoolDN,$entrydhcp)){ return 1; }else{return 0;} - } diff --git a/ldap-site-mngmt/webinterface/lib/host_management_functions.php b/ldap-site-mngmt/webinterface/lib/host_management_functions.php index a45304bc..502dccb2 100644 --- a/ldap-site-mngmt/webinterface/lib/host_management_functions.php +++ b/ldap-site-mngmt/webinterface/lib/host_management_functions.php @@ -173,6 +173,21 @@ function delete_host($hostDN){ } } +function check_hostname($hostname){ + + global $ds, $suffix, $auDN, $ldapError; + + $brothercheck = 0; + $brotherhosts = get_hosts($auDN,array("hostname"),""); + + foreach ($brotherhosts as $item){ + if( $item['hostname'] == $hostname ){ + $brothercheck = 1; + break; + } + } + return $brothercheck; +} ############################################################################### # Funktionen zur Verwaltung von Rechnergruppen @@ -400,6 +415,60 @@ function change_mc_timerange($mcDN,$newmcDN,$mctimerange){ } } - +##################################################################### +# Natürliches Sortieren (x.x.4.9 vor x.x.4.11 ) von mehr-dim Arrays der Art: +# Array ( +# [0] => Array ( +# [hostname] = client01 +# [ipaddress] = 132.230.4.11 +# ) +# [1] => Array ( +# [hostname] = client02 +# [ipaddress] = 132.230.4.9 +# ) +# ) + +/** + * @return Returns the array sorted as required + * @param $aryData Array containing data to sort + * @param $strIndex Name of column to use as an index + * @param $strSortBy Column to sort the array by + * @param $strSortType String containing either asc or desc [default to asc] + * @desc Naturally sorts an array using by the column $strSortBy + */ +function array_natsort($aryData, $strIndex, $strSortBy, $strSortType=false){ + + // if the parameters are invalid + if (!is_array($aryData) || !$strIndex || !$strSortBy){ + // return the array + return $aryData; + } + // create our temporary arrays + $arySort = $aryResult = array(); + // loop through the array + foreach ($aryData as $aryRow){ + // set up the value in the array + $arySort[$aryRow[$strIndex]] = $aryRow[$strSortBy]; + } + // apply the natural sort + natsort($arySort); + // if the sort type is descending + if ($strSortType=="desc"){ + // reverse the array + arsort($arySort); + } + // loop through the sorted and original data + foreach ($arySort as $arySortKey => $arySorted){ + foreach ($aryData as $aryOriginal){ + // if the key matches + if ($aryOriginal[$strIndex]==$arySortKey){ + // add it to the output array + array_push($aryResult, $aryOriginal); + } + } + } + + return $aryResult; +} ?> \ No newline at end of file diff --git a/ldap-site-mngmt/webinterface/lib/ldap.inc.php b/ldap-site-mngmt/webinterface/lib/ldap.inc.php index f7f6be07..79d50e61 100644 --- a/ldap-site-mngmt/webinterface/lib/ldap.inc.php +++ b/ldap-site-mngmt/webinterface/lib/ldap.inc.php @@ -1,13 +1,13 @@ $value_neu))) { $meldung .= "Add successfull: ".$key." -> ".$value_neu."
"; } else { @@ -298,7 +298,7 @@ function uniLdapModify($ds, $dn, $daten_alt, $daten_neu, $i = 0) { } else if($daten_alt[$key] != "" && $value_neu == "") { # FALL 2: # Alter Wert ist nicht leer, neuer Wert ist leer. - # Lösche Attribut. + # L�sche Attribut. if(ldap_mod_del($ds, $dn, array($key => $daten_alt[$key]))) { $meldung .= "Delete successfull: ".$key." -> ".$daten_alt[$key]."
"; } else { @@ -308,7 +308,7 @@ function uniLdapModify($ds, $dn, $daten_alt, $daten_neu, $i = 0) { } else if($daten_alt[$key] != "" && $value_neu != "" && $daten_alt[$key] != $value_neu) { # FALL 3: # Alter und neuer Wert sind nicht leer und beide sind ungleich. - # Ändere das Attribut. Der bisherige Wert wird überschrieben. + # �ndere das Attribut. Der bisherige Wert wird �berschrieben. if(ldap_mod_replace($ds, $dn, array($key => $value_neu))) { $meldung .= "Replace successfull: ".$key." -> ".$value_neu."
"; } else { @@ -316,7 +316,7 @@ function uniLdapModify($ds, $dn, $daten_alt, $daten_neu, $i = 0) { } } else { - # In allen anderen Fällen ist keine Änderung nötig + # In allen anderen F�llen ist keine �nderung n�tig } } else { # Wenn $value_neu ein Array ist... @@ -326,7 +326,7 @@ function uniLdapModify($ds, $dn, $daten_alt, $daten_neu, $i = 0) { $value_alt = numArraySauber($daten_alt[$key]); foreach($value_alt as $item) { #$item = htmlentities($item); - # Lösche alle alten Werte des Attributes $key. + # L�sche alle alten Werte des Attributes $key. if(ldap_mod_del($ds, $dn, array($key => $item))) { $meldung .= "Delete successfull: ".$key." -> ".$item."
"; } else { @@ -336,7 +336,7 @@ function uniLdapModify($ds, $dn, $daten_alt, $daten_neu, $i = 0) { } foreach($value_neu as $item) { $item = htmlentities($item); - # Füge alle neuen Werte des Attributes $key ein. + # F�ge alle neuen Werte des Attributes $key ein. if(ldap_mod_add($ds, $dn, array($key => $item))) { $meldung .= "Add successfull: ".$key." -> ".$item."
"; } else { @@ -355,36 +355,36 @@ function uniLdapModify($ds, $dn, $daten_alt, $daten_neu, $i = 0) { } /** -* uniLdapDelete löscht beliebige Einträge mit dessen Subtree aus der Datenbank. -* Dabei wird der wird der Baum ab dem Eintrag $dn zu allen Blättern durchlaufen (Es -* können nur Blätter gelöscht werden!!) und die Einträge von hinten her bis einschließlich -* $dn gelöscht +* uniLdapDelete l�scht beliebige Eintr�ge mit dessen Subtree aus der Datenbank. +* Dabei wird der wird der Baum ab dem Eintrag $dn zu allen Bl�ttern durchlaufen (Es +* k�nnen nur Bl�tter gel�scht werden!!) und die Eintr�ge von hinten her bis einschlie�lich +* $dn gel�scht * * @param resource ds LDAP Directory Handle * @param string dn Distiguished Name * * @return boolean * -* @author Daniel Höfler +* @author Daniel H�fler */ function uniLdapDelete($ds, $dn) { - # Überprüfung, ob zu löschender Eintrag vorhanden ist + # �berpr�fung, ob zu l�schender Eintrag vorhanden ist if(!uniLdapSearch($ds, $dn, "objectclass=*", array("*"), "", "one", 0, 0)) { - $ldapError .= "Löschen fehlgeschlagen: Eintrag nicht gefunden".ldap_error($ds)."
\n"; + $ldapError .= "L�schen fehlgeschlagen: Eintrag nicht gefunden".ldap_error($ds)."
\n"; return false; } # Auslesen der Daten unterhalb von $dn $daten = uniLdapSearch($ds, $dn, "objectclass=*", array("*"), "", "list", 0, 0); - # for-Schleife wird nur ausgeführt, falls sich unterhalb von $dn Einträge befinden + # for-Schleife wird nur ausgef�hrt, falls sich unterhalb von $dn Eintr�ge befinden for($i = 0; $i < $daten['count']; $i++){ uniLdapDelete($ds, $daten[$i]['dn']); } - # löschen der Blätter + # l�schen der Bl�tter if(ldap_delete($ds, $dn)) { return true; } else { - $ldapError .= "Löschen fehlgeschlagen".ldap_error($ds)."
\n"; + $ldapError .= "L�schen fehlgeschlagen".ldap_error($ds)."
\n"; return false; } } @@ -398,17 +398,17 @@ function uniLdapDelete($ds, $dn) { # Weitere LDAP Funktionen # -# LDAP Funktionen um alle Objekte der AU eines bestimmten Typs mit gewählten Attributen zu holen +# LDAP Funktionen um alle Objekte der AU eines bestimmten Typs mit gew�hlten Attributen zu holen # -function get_hosts($auDN,$attributes) +function get_hosts($auDN,$attributes,$sortattr) { global $ds, $suffix, $ldapError; - #if ( $sortattr == ""){ - # $sortattr = "hostname"; - #} + if ( $sortattr == ""){ + $sortattr = "hostname"; + } - if(!($result = uniLdapSearch($ds, "cn=computers,".$auDN, "(objectclass=Host)", $attributes, "hostname", "sub", 0, 0))) { + if(!($result = uniLdapSearch($ds, "cn=computers,".$auDN, "(objectclass=Host)", $attributes, $sortattr, "sub", 0, 0))) { # redirect(5, "", $ldapError, FALSE); echo "no search"; die; @@ -533,6 +533,39 @@ function get_pxeconfigs($baseDN,$attributes) } } +function get_pxeconfigs2($clientDN,$attributes) +{ + global $auDN, $ds, $suffix, $ldapError; + + if ($clientDN == ""){ + $filter = "(objectclass=PxeConfig)"; + }else{ + $filter = "(&(objectclass=PxeConfig)(pxeclientdn=$clientDN))"; + } + + if(!($result = uniLdapSearch($ds, "cn=pxe,".$auDN, $filter, $attributes, "", "list", 0, 0))) { + # redirect(5, "", $ldapError, FALSE); + echo "no search"; + die; + } + elseif(count($result) == 0){return $result;} + else{ + $result = ldapArraySauber($result); + # print_r($result);printf("

"); + $pxe_array = array(); + foreach ($result as $item){ + foreach ($attributes as $att){ + $atts[$att] = $item[$att]; + } + $atts['baseDN'] = $baseDN; + $atts['auDN'] = $auDN; + $pxe_array[] = $atts; + } + if($attributes != false ){return $pxe_array;} + else{return $result;} + } +} + function get_menuentries($baseDN,$attributes) { global $ds, $suffix, $ldapError; @@ -712,6 +745,31 @@ function get_childau($auDN,$attributes) } } +function get_all_aus($attributes) +{ + global $ds, $auDN, $suffix, $ldapError; + + if(!($result = uniLdapSearch($ds, "ou=RIPM,".$suffix, "(objectclass=AdministrativeUnit)", $attributes, "ou", "sub", 0, 0))) { + # redirect(5, "", $ldapError, FALSE); + echo "no search"; + die; + } + else { + $result = ldapArraySauber($result); + + $childau_array = array(); + foreach ($result as $item){ + foreach ($attributes as $att){ + $atts[$att] = $item[$att]; + } + $atts['auDN'] = $auDN; + $childau_array[] = $atts; + } + if($attributes != false ){return $childau_array;} + else{return $result;} + } +} + function get_au_data($auDN,$attributes) { global $ds, $suffix, $ldapError; diff --git a/ldap-site-mngmt/webinterface/lib/rbs_management_functions.php b/ldap-site-mngmt/webinterface/lib/rbs_management_functions.php index 71ea576f..2e7d5348 100644 --- a/ldap-site-mngmt/webinterface/lib/rbs_management_functions.php +++ b/ldap-site-mngmt/webinterface/lib/rbs_management_functions.php @@ -200,7 +200,7 @@ 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))) { + if(!($result = uniLdapSearch($ds, "ou=RIPM,".$suffix, "(&(|(objectclass=Host)(objectclass=dhcpPool))(hlprbservice=$rbsDN))", array("dn"), "dn", "sub", 0, 0))) { # redirect(5, "", $ldapError, FALSE); echo "no search"; die; @@ -436,7 +436,7 @@ function add_pxe($pxeDN,$pxecn,$rbsDN,$pxetimerange,$pxeattribs,$filenames,$conf } } } - #print_r($pxeentry); echo "
"; + print_r($pxeentry); echo "
"; print_r($pxeDN); echo "
"; if (ldap_add($ds,$pxeDN,$pxeentry)){ return 1; diff --git a/ldap-site-mngmt/webinterface/login_form.inc.html b/ldap-site-mngmt/webinterface/login_form.inc.html index 13ecd9c7..f9e32891 100644 --- a/ldap-site-mngmt/webinterface/login_form.inc.html +++ b/ldap-site-mngmt/webinterface/login_form.inc.html @@ -1,18 +1,29 @@ - - +

Home - Alle AUs in denen Sie Administrator sind

- Sie sind in folgenden Administrativen Einheiten (AU) bzw. Abteilungen Administrator in einer - bestimmten Funktion (Rolle). Welche Rolle Sie in der jeweiligen AU haben entnehmen Sie bitte - der Tabelle.
+

Admin Units (AU) in denen Sie Administrator sind

Um zu den Administrations-Seiten einer AU zu kommen, wählen Sie entsprechenden Link.
@@ -72,7 +56,7 @@ - + diff --git a/ldap-site-mngmt/webinterface/index.dwt b/ldap-site-mngmt/webinterface/index.dwt index 36fe2223..048a34cb 100644 --- a/ldap-site-mngmt/webinterface/index.dwt +++ b/ldap-site-mngmt/webinterface/index.dwt @@ -2,11 +2,26 @@ {SEITENTITEL} - + + + - + + + {HAUPTFENSTER} + + - \ No newline at end of file + \ No newline at end of file diff --git a/ldap-site-mngmt/webinterface/index.php b/ldap-site-mngmt/webinterface/index.php index a519479d..be6cfe50 100644 --- a/ldap-site-mngmt/webinterface/index.php +++ b/ldap-site-mngmt/webinterface/index.php @@ -1,6 +1,6 @@ define(array("Vorlage" => "index.dwt", "Login" => "login_form.inc.html", "Webseite" => $webseite)); - $template->assign(array("SEITENTITEL" => $titel)); - ############################################################ # Daten in die Vorlage parsen @@ -40,4 +42,5 @@ $template->parse("PAGE", "Vorlage"); # Fertige Seite an den Browser senden $template->FastPrint("PAGE"); + ?> diff --git a/ldap-site-mngmt/webinterface/ip/ip.dwt b/ldap-site-mngmt/webinterface/ip/ip.dwt index 804c18ef..9dd6a28e 100644 --- a/ldap-site-mngmt/webinterface/ip/ip.dwt +++ b/ldap-site-mngmt/webinterface/ip/ip.dwt @@ -11,7 +11,7 @@
{AU} {AUDN} {CN}   {MA}  
- +

Rechner und IP Management

Client / IP Management

- + + + - - + + - + - + + + + + +
 

User-Id:

UserID:

 

Passwort:

Passwort:

 

 

 

- \ No newline at end of file + + + \ No newline at end of file diff --git a/ldap-site-mngmt/webinterface/login_sicher.php b/ldap-site-mngmt/webinterface/login_sicher.php index 93676837..307b7b92 100644 --- a/ldap-site-mngmt/webinterface/login_sicher.php +++ b/ldap-site-mngmt/webinterface/login_sicher.php @@ -1,11 +1,11 @@ Mache Datenabgleich und anschließenden Login am Gruppe1-LDAP +* -> Mache Datenabgleich und anschlie�enden Login am Gruppe1-LDAP * Wenn RZ-LDAP-Login erfolgreich, Gruppe1-LDAP-Login jedoch nicht erfolgreich ist, -* dann unterscheide zwischen zwei Möglichkeiten: +* dann unterscheide zwischen zwei M�glichkeiten: * 1. Der User ist im Gruppe1-LDAP nicht angelegt, -* 2. Der User ist im Gruppe1-LDAP zwar angelegt, aber das Passwort wurde auf dem RZ-LDAP inzwischen geändert. +* 2. Der User ist im Gruppe1-LDAP zwar angelegt, aber das Passwort wurde auf dem RZ-LDAP inzwischen ge�ndert. * -> Login als Dummy und Check, ob UID vorhanden * Wenn RZ-LDAP-Login nicht erfolgreich, Gruppe1-LDAP-Login jedoch erfolgreich ist, * dann ist der User auf dem RZ-LDAP nicht gespeichert. * -> Login am Gruppe1-LDAP -* In anderen Fällen waren die Zugangsdaten nicht korrekt. +* In anderen F�llen waren die Zugangsdaten nicht korrekt. * -> Redirect auf index.php. * * Schema siehe auch /home/gruppe1/Praesentation/Login und Personen.pps @@ -63,14 +63,14 @@ checkLogin($uid,$userPassword); */ function checkLogin($uid = "", $userPassword = "") { global $userDn_rz, $userDN, $suffix, $suffix_rz, $ldapError, $standardPassword; - # Abfrage, ob das Loginformular Daten enthält + # Abfrage, ob das Loginformular Daten enth�lt if(!(($uid == "") || ($userPassword == ""))) { # UID und Passwort wurden eingegeben - # Fallunterscheidung welche Logins möglich sind + # Fallunterscheidung welche Logins m�glich sind /* if(($ds_rz = rzLdapConnect($uid,$userPassword)) && ($ds = uniLdapConnect($uid, $standardPassword))) { # Wenn RZ-LDAP-Login UND Gruppe1-LDAP-Login erfolgreich sind, dann ist der User # bereits im Gruppe1-LDAP eingetragen. - # -> Mache Datenabgleich und anschließenden Login am Gruppe1-LDAP + # -> Mache Datenabgleich und anschlie�enden Login am Gruppe1-LDAP datenabgleich($uid, $userPassword, $ds_rz, $ds); ldap_unbind($ds); ldap_unbind($ds_rz); @@ -78,10 +78,10 @@ function checkLogin($uid = "", $userPassword = "") { userLogin($uid, $userPassword); } else if(($ds_rz = rzLdapConnect($uid,$userPassword)) && !($ds = uniLdapConnect($uid, $standardPassword))) { # Wenn RZ-LDAP-Login erfolgreich, Gruppe1-LDAP-Login jedoch nicht erfolgreich ist, - # dann unterscheide zwischen zwei Möglichkeiten: + # dann unterscheide zwischen zwei M�glichkeiten: # 1. Der User ist im Gruppe1-LDAP nicht angelegt, # 2. Der User ist im Gruppe1-LDAP zwar angelegt, aber das Passwort wurde auf dem RZ-LDAP - # inzwischen geändert. + # inzwischen ge�ndert. # -> Login als Dummy und Check, ob UID vorhanden if(dummyUidCheck($uid)) { #changePassword($uid,$userPassword); @@ -99,23 +99,23 @@ function checkLogin($uid = "", $userPassword = "") { ldap_unbind($ds); userLogin($uid, $userPassword); } else { - # In anderen Fällen waren die Zugangsdaten nicht korrekt. + # In anderen F�llen waren die Zugangsdaten nicht korrekt. # -> Redirect auf index.php. - redirect(5, "index.php", "Bitte geben Sie korrekte Zugangsdaten ein.
".$ldapError, FALSE); + redirect(3, "index.php", "

Bitte geben Sie korrekte Zugangsdaten ein.

".$ldapError, FALSE); die; } } else { # UID und/oder Passwort wurden NICHT eingegeben - redirect(5, "index.php", "Bitte geben Sie User-Id und Passwort ein.
".$ldapError, FALSE); + redirect(3, "index.php", "

Bitte geben Sie User-Id und Passwort ein.

".$ldapError, FALSE); die; } } /** -* dummyUidCheck($uid) - Überprüft, ob UID im Gruppe1-LPAD vorhanden ist. +* dummyUidCheck($uid) - �berpr�ft, ob UID im Gruppe1-LPAD vorhanden ist. * -* Über den Dummyuser wird eine Verbindung zum Gruppe1-LDAP aufgebaut und die angegebene +* �ber den Dummyuser wird eine Verbindung zum Gruppe1-LDAP aufgebaut und die angegebene * UID wird gesucht. * * @param string UID @@ -131,7 +131,7 @@ function dummyUidCheck($uid) { redirect(5, "index.php", "Dummy-Login fehlgeschlagen!
".$ldapError, FALSE); die; } - # Im nächsten Schritt wird überprüft, ob ein Eintrag mit der UID $uid schon vorliegt: + # Im n�chsten Schritt wird �berpr�ft, ob ein Eintrag mit der UID $uid schon vorliegt: if(!($person_daten = uniLdapSearch($ds_dummy, "ou=people,".$suffix, "uid=$uid", array("*"), "", "list", 0, 0))) { redirect(5, "index.php", $ldapError, FALSE); die; @@ -149,8 +149,8 @@ function dummyUidCheck($uid) { /** * userAnlegen($uid,$userPassword,$ds_rz) * -* Legt mithilfe des Dummyusers einen noch nicht bei uns geführten User im Gruppe1-LDAP -* mit den Daten des Rechenzentrums an. Das Passwort ist dabei für alle User in der config.inc.php festgelegt. +* Legt mithilfe des Dummyusers einen noch nicht bei uns gef�hrten User im Gruppe1-LDAP +* mit den Daten des Rechenzentrums an. Das Passwort ist dabei f�r alle User in der config.inc.php festgelegt. * * @param string UID * @param string Password @@ -165,7 +165,7 @@ function userAnlegen($uid,$userPassword,$ds_rz) { redirect(5, "index.php", "Dummy-Login fehlgeschlagen!
".$ldapError, FALSE); die; } - # Im nächsten Schritt wird überprüft, ob ein Eintrag mit der UID $uid schon vorliegt: + # Im n�chsten Schritt wird �berpr�ft, ob ein Eintrag mit der UID $uid schon vorliegt: $ruffelder = array("uid", "sn", "givenname", "uidnumber", "gidnumber", "homedirectory", "loginshell", "rufnutzernummer", "rufanrede", "rufeinrichtung", "rufmatnr", "rufaccounttype", "ruffakultaet", "mail", "rufdienst"); if(!($person_daten = uniLdapSearch($ds_rz, "ou=people,".$suffix_rz, "uid=$uid", $ruffelder, "", "list", 0, 0))) { @@ -219,7 +219,7 @@ function userAnlegen($uid,$userPassword,$ds_rz) { } /** -* datenabgleich($uid, $userPassword, $ds_rz, $ds) - Überschreibt bei jedem Login die Daten des +* datenabgleich($uid, $userPassword, $ds_rz, $ds) - �berschreibt bei jedem Login die Daten des * Gruppe1-LDAP mit denen des RZ-LDAP mithilfe des Dummyusers. * * @param string UID @@ -236,7 +236,7 @@ function datenabgleich($uid, $userPassword, $ds_rz, $ds) { redirect(5, "index.php", "Dummy-Login fehlgeschlagen!
".$ldapError, FALSE); die; } - # Im nächsten Schritt wird überprüft, ob ein Eintrag mit der UID $uid schon vorliegt: + # Im n�chsten Schritt wird �berpr�ft, ob ein Eintrag mit der UID $uid schon vorliegt: $ruffelder = array("uid", "sn", "givenname", "uidnumber", "gidnumber", "homedirectory", "loginshell", "rufnutzernummer", "rufanrede", "rufeinrichtung", "rufmatnr", "rufaccounttype", "ruffakultaet", "mail", "rufdienst"); if(!($person_daten = uniLdapSearch($ds_rz, "ou=people,".$suffix_rz, "uid=$uid", $ruffelder, "", "list", 0, 0))) { @@ -298,12 +298,12 @@ function datenabgleich($uid, $userPassword, $ds_rz, $ds) { } /** -* userLogin($uid, $userPassword) - Führt den Login am Gruppe1-LDAP durch. +* userLogin($uid, $userPassword) - F�hrt den Login am Gruppe1-LDAP durch. * * Nach erfolgreicher Identifikation und ggf. neuem Anlegen oder Datenabgleich wird -* mit userLogin() der Bind am Gruppe1-LDAP durchgeführt. +* mit userLogin() der Bind am Gruppe1-LDAP durchgef�hrt. * Die Rechte und der CN des Users werden ausgelesen und in der Session gespeichert. -* Anschließend leitet das Skript auf die Startseite der Verwaltung (person_daten_show.php) weiter. +* Anschlie�end leitet das Skript auf die Startseite der Verwaltung (person_daten_show.php) weiter. * * @param string UID * @param string Password @@ -333,20 +333,22 @@ function userLogin($uid, $userPassword) { $_SESSION['dn'] = $userDN; $_SESSION['cn'] = $cn; $_SESSION['audn'] = ""; + $_SESSION['status'] = "in"; + $_SESSION['error']; # LDAP-Bind aufheben ldap_unbind($ds); $mesg = " - AU Management + AdminUnit Management - - diff --git a/ldap-site-mngmt/webinterface/standard_footer.inc.php b/ldap-site-mngmt/webinterface/standard_footer.inc.php new file mode 100644 index 00000000..afaf5a35 --- /dev/null +++ b/ldap-site-mngmt/webinterface/standard_footer.inc.php @@ -0,0 +1,19 @@ + + + +
- Bitte haben Sie einen Moment Geduld, die Seite wird geladen...
- Falls nicht, klicken Sie bitte hier. + +
+

Bitte einen Moment Geduld, die Seite wird geladen ...
+ Falls nicht, klicken Sie bitte hier.

@@ -355,7 +357,7 @@ function userLogin($uid, $userPassword) { redirect(0, "start.php", $mesg, TRUE); - # nichtmehr benötigte CSV-Dateien im tmp-Verzeichnis löschen + # nichtmehr ben�tigte CSV-Dateien im tmp-Verzeichnis l�schen # listen_sauber(); } diff --git a/ldap-site-mngmt/webinterface/logout_form.inc.dwt b/ldap-site-mngmt/webinterface/logout_form.inc.dwt index 96d4a552..0c6ce597 100644 --- a/ldap-site-mngmt/webinterface/logout_form.inc.dwt +++ b/ldap-site-mngmt/webinterface/logout_form.inc.dwt @@ -1,9 +1,9 @@
- + - +

Eingeloggt als:

Eingeloggt als:

{USERCN}

\ No newline at end of file diff --git a/ldap-site-mngmt/webinterface/rbs/rbs.dwt b/ldap-site-mngmt/webinterface/rbs/rbs.dwt index ec6d0cbc..31f62a70 100644 --- a/ldap-site-mngmt/webinterface/rbs/rbs.dwt +++ b/ldap-site-mngmt/webinterface/rbs/rbs.dwt @@ -5,18 +5,18 @@ - +
- - + + +
+ - +

Rechner und IP Management

Client / IP Management

+
@@ -36,16 +36,13 @@
{MAINMENU}
- - - - -
{MAINMENU}
- -
- + +
diff --git a/ldap-site-mngmt/webinterface/roles/roles.dwt b/ldap-site-mngmt/webinterface/roles/roles.dwt index 8e775327..48e8fe14 100644 --- a/ldap-site-mngmt/webinterface/roles/roles.dwt +++ b/ldap-site-mngmt/webinterface/roles/roles.dwt @@ -11,7 +11,7 @@
- +

Rechner und IP Management

Client / IP Management

+ + + + +"; + +echo "
php_errormsg: $php_errormsg"; +#$_SESSION['error'] .= $php_errormsg; + +#echo "Errors:
$_SESSION['error']"; + +?> \ No newline at end of file diff --git a/ldap-site-mngmt/webinterface/standard_header.inc.php b/ldap-site-mngmt/webinterface/standard_header.inc.php index bf975c90..21483eee 100644 --- a/ldap-site-mngmt/webinterface/standard_header.inc.php +++ b/ldap-site-mngmt/webinterface/standard_header.inc.php @@ -2,6 +2,7 @@ session_cache_expire(30); session_start(); + include('lib/config.inc.php'); include('lib/ldap.inc.php'); include('lib/ldap2.inc.php'); @@ -14,6 +15,21 @@ include('lib/dhcp_management_functions.php'); include('lib/rbs_management_functions.php'); include("class.FastTemplate.php"); +//print_r($_SESSION['status']); +if ( !isset($_SESSION['status']) ){ + redirect(0,"../index.php","",$addSessionId = FALSE); + exit; +} +if ( $_SESSION['status'] != "in" ){ + //$_SESSION['status'] != "out"; + redirect(0,"../index.php","",$addSessionId = FALSE); + exit; +} + + // Fehlerausgabe im Browser anschalten +ini_set('display_errors', 0); +// nur Laufzeitfehler ausgeben +error_reporting(E_ALL ^ E_NOTICE | E_STRICT); $uid = $_SESSION['uid']; $userPassword = $_SESSION['userPassword']; @@ -28,13 +44,13 @@ $rollen = $_SESSION['rollen']; if (!($ds = uniLdapConnect($uid,$userPassword))){ echo " - Rechner und IP Management + Zentrales Rechner / IP Management -
- Es konnte keine Verbindung zum LDAP Server hergestellt werden! +
+

Es konnte keine Verbindung zum LDAP Server hergestellt werden!

"; @@ -60,7 +76,7 @@ if ($auDN != ""){ if ($expAuDn[1] == "ou=RIPM"){ $domDN = "ou=DNS,".$suffix; } - else{$domDN = $domain_data[0]['dn']; echo "
";} + else{$domDN = $domain_data[0]['dn']; } $domprefix = str_replace('.'.$domsuffix,'',$assocdom); # print_r($domprefix); diff --git a/ldap-site-mngmt/webinterface/start.dwt b/ldap-site-mngmt/webinterface/start.dwt index db7cf92c..526d8ce4 100644 --- a/ldap-site-mngmt/webinterface/start.dwt +++ b/ldap-site-mngmt/webinterface/start.dwt @@ -1,16 +1,20 @@ +

+
-
- - +
@@ -18,13 +22,17 @@
-

Rechner und IP Managment

+

Zentrales Client / IP Management

+

+
Registrierung / Administration von Rechnern in den zentralen RZ Diensten
+ DHCP, Remote Boot (PXE/TFTP)
+

-
- - +
- +
+ + +
- +
+
+ LOGIN  -  Client / IP Management +
{LOGIN} @@ -35,3 +43,15 @@
+ + + + + + + + + + +

Rechenzentrum Universität Freiburg +
\ No newline at end of file diff --git a/ldap-site-mngmt/webinterface/start.php b/ldap-site-mngmt/webinterface/start.php index 413d1e4a..d0d34320 100644 --- a/ldap-site-mngmt/webinterface/start.php +++ b/ldap-site-mngmt/webinterface/start.php @@ -37,9 +37,10 @@ foreach ($roles as $item){ $expDN = explode(',',$auDN); $expOU = explode('=',$expDN[0]); $au = $expOU[1]; + $audata = get_au_data($auDN,array("cn","description")); - $template->assign(array( "MA" => "", "HA" => "", "DA" => "", "ZA" => "", "RA" => "")); - $template->assign(array( "AU" => $au, "AUDN" => $auDN, "ROLLEN" => implode('_',$item['role']))); + $template->assign(array( "CN" => "","MA" => "", "HA" => "", "DA" => "", "ZA" => "", "RA" => "")); + $template->assign(array( "AU" => $au, "AUDN" => $auDN, "CN" => $audata[0]['cn'], "ROLLEN" => implode('_',$item['role']))); $rollen = ""; foreach ($item['role'] as $role){ @@ -78,4 +79,5 @@ $template->parse("PAGE", "Vorlage"); # Fertige Seite an den Browser senden $template->FastPrint("PAGE"); + ?> diff --git a/ldap-site-mngmt/webinterface/styles.css b/ldap-site-mngmt/webinterface/styles.css index f2def7f0..aec22d79 100644 --- a/ldap-site-mngmt/webinterface/styles.css +++ b/ldap-site-mngmt/webinterface/styles.css @@ -20,7 +20,7 @@ a:active { text-decoration:underline; } body { - font-family: Arial; + font-family: helvetica, arial, sans-serif; font-size: 10pt; color: #000000; background-color: #FFFFFF; @@ -28,43 +28,43 @@ body { margin-left:0px; } h1 { - font-family: Arial; + font-family: arial, helvetica, sans-serif; font-size: 25pt; font-weight: bold; color: #000000; } h2 { - font-family: Arial; + font-family: arial, helvetica, sans-serif; font-size: 15pt; font-weight: bold; color: #000000; } h3 { - font-family: Arial; + font-family: arial, helvetica, sans-serif; font-size: 12pt; font-weight: bold; color: #000000; } h4 { - font-family: Arial; + font-family: arial, helvetica, sans-serif; font-size: 10pt; font-weight: bold; color: #000000; } .font_object { - font-family: Arial; + font-family: arial, helvetica, sans-serif; font-weight: bold; color: #505050; } .balken { - font-family: Arial; + font-family: arial, helvetica, sans-serif; font-size: 12pt; font-weight: bold; color: #FFFFFF; background-color: #006BB6; } .balken_mit_pd { - font-family: Arial; + font-family: arial, helvetica, sans-serif; font-size: 12pt; font-weight: bold; color: #FFFFFF; @@ -72,21 +72,39 @@ h4 { padding: 5; } .balken_kl { - font-family: Arial; + font-family: arial, helvetica, sans-serif; font-size: 10pt; color: #FFFFFF; background-color: #006BB6; } .small_loginform_field { - font-family: Arial; - font-size: 8pt; + font-family: arial, helvetica, sans-serif; + font-size: 10pt; color: #000000; border-style: solid; border-width: 1px 1px; border-color: #000000; background-color: #C0C0C0; + padding: 3px; + margin: 3px; } .small_loginform_button { + font-family: arial, helvetica, sans-serif; + font-size: 10pt; + width: 80px; + color: #FFFFFF; + border-style: solid; + border-width: 1px 1px; + border-color: #000000; + background-color: #880000; + margin: 3px; +} +.small_loginform_text { + font-family: arial, helvetica, sans-serif; + font-size: 10pt; + color: #000000; +} +.tiny_loginform_button { font-family: Arial; font-size: 8pt; width: 60px; @@ -96,8 +114,8 @@ h4 { border-color: #000000; background-color: #880000; } -.small_loginform_text { - font-family: Arial; +.tiny_loginform_text { + font-family: arial, helvetica, sans-serif; font-size: 8pt; color: #000000; } @@ -183,6 +201,16 @@ h4 { padding-left: 5px; margin: 5px; } +.100_form_selectbox { + font-family: Arial; + font-size: 10pt; + border-style: solid; + border-width: 1px 1px; + border-color: #000000; + width: 100; + padding-left: 10px; + margin: 5px; +} .tiny_form_selectbox { font-family: Arial; font-size: 10pt; @@ -212,6 +240,16 @@ h4 { font-size: 10pt; color: #FFFFFF; } +.menue_schrift { + font-family: Arial; + font-size: 11pt; + color: #FFFFFF; +} +.submenue_schrift { + font-family: Arial; + font-size: 10pt; + color: #FFFFFF; +} .tabellenzeile_hell { background-color: #E7F5FE; } -- cgit v1.2.3-55-g7522