diff options
author | Tarik Gasmi | 2007-05-14 10:03:48 +0200 |
---|---|---|
committer | Tarik Gasmi | 2007-05-14 10:03:48 +0200 |
commit | 59cf91925ca8da43d2427331b23e4673b0e53095 (patch) | |
tree | 871f39414143192cb3e8bd6f4bd2b7462e7076b9 /ldap-site-mngmt/webinterface/computers/menuentry_add.php | |
parent | Some webinterface data. (diff) | |
download | core-59cf91925ca8da43d2427331b23e4673b0e53095.tar.gz core-59cf91925ca8da43d2427331b23e4673b0e53095.tar.xz core-59cf91925ca8da43d2427331b23e4673b0e53095.zip |
Other webinterface data.
git-svn-id: http://svn.openslx.org/svn/openslx/trunk@1077 95ad53e4-c205-0410-b2fa-d234c58c8868
Diffstat (limited to 'ldap-site-mngmt/webinterface/computers/menuentry_add.php')
-rw-r--r-- | ldap-site-mngmt/webinterface/computers/menuentry_add.php | 263 |
1 files changed, 263 insertions, 0 deletions
diff --git a/ldap-site-mngmt/webinterface/computers/menuentry_add.php b/ldap-site-mngmt/webinterface/computers/menuentry_add.php new file mode 100644 index 00000000..dd10e7c2 --- /dev/null +++ b/ldap-site-mngmt/webinterface/computers/menuentry_add.php @@ -0,0 +1,263 @@ +<?php +include('../standard_header.inc.php'); + +$mecn = $_POST['mecn']; $mecn = htmlentities($mecn); +$gbmDN = $_POST['gbm']; +$menpos = $_POST['menpos']; +$maxpos = $_POST['maxpos']; + +$typ = $_POST['typ']; +$pxeDN = $_POST['pxedn']; +$timespan = $_POST['timerange']; +$mnr = $_POST['mnr']; +$sbmnr = $_POST['sbmnr']; +$mcnr = $_POST['mcnr']; + +$meattribs = $_POST['attribs']; +if (count($meattribs) != 0){ + foreach (array_keys($meattribs) as $key){ + $meatts[$key] = htmlentities($meattribs[$key]); + } +} +# print_r($meatts); echo "<br><br>"; + +# PXE Typ (computers/groups) für Submenulinks +$pxearray = ldap_explode_dn($pxeDN, 1); +$pxetype = $pxearray[2]; + +$seconds = 2; +$get_mecn = str_replace ( " ", "_", $mecn ); +$url = "pxe.php?dn=".$pxeDN."&mecn=".$get_mecn."&mnr=".$mnr."&sbmnr=".$sbmnr."&mcnr=".$mcnr; + +echo " +<html> +<head> + <title>Computers Management</title> + <link rel='stylesheet' href='../styles.css' type='text/css'> +</head> +<body> +<table border='0' cellpadding='30' cellspacing='0'> +<tr><td>"; +# switch wäre besser ... +if ($typ == "newme" && $typ != "local" && $typ != "text" && $typ != "leer" && $typ != "submenu" ){ + + if ( $mecn != "" && $mecn != "Hier_NAME_eintragen" && $gbmDN != "none" ){ + + # Formulareingaben anpassen + $expme = explode(" ",$mecn); + foreach ($expme as $word){$expuc[] = ucfirst($word);} + $mecn = implode(" ",$expuc); + $mecn = preg_replace ( '/\s+([0-9A-Z])/', '$1', $mecn); + + if ($menpos != ""){ + # Syntaxcheck Menüposition + #$syntax = new Syntaxcheck; + #if (!($syntax->check_menuposition($menpos))){ + # $menpos = $maxpos; + #} + }else{ + $menpos = $maxpos; + } + if (strlen($menpos) == 1){ + $menpos = "0".$menpos; + } + # nun doch führende Nullen erzwingen + # also obsolet: $menpos = preg_replace ( '/0([0-9])/', '$1', $menpos); + + $meDN = "cn=".$mecn.",".$pxeDN; + + if (add_me($meDN,$mecn,$gbmDN,$menpos,$meatts,$pxeDN)){ + $mesg .= "<br>Neuen Menü Eintrag erfolgreich angelegt<br>"; + $url = "pxe.php?dn=".$pxeDN."&mnr=".$mnr."&sbmnr=".$sbmnr."&mcnr=".$mcnr;; + } + else{ + $mesg .= "<br>Fehler beim anlegen des Menü Eintrags!<br>"; + } + } + + elseif ( $mecn == "" || $mecn == "Hier_NAME_eintragen" || $gbmDN == "none" ){ + + $mesg = "Sie haben den Namen des neuen Menü Eintrags nicht angegeben oder kein + Generisches Boot Image ausgewählt. Beide sind aber ein notwendige Attribute.<br> + Bitte geben Sie sie an.<br><br>"; + $url = "new_menuentry.php?mecn=Hier_NAME_eintragen&mnr=".$mnr."&sbmnr=".$sbmnr."&mcnr=".$mcnr; + } +} + +# Localboot Zeile hinzufügen +elseif ($typ == "local" && $typ != "newme" && $typ != "text" && $typ != "leer" && $typ != "submenu" ){ + + # Menu Position + $menpos = $_POST['localpos']; + if ($menpos != ""){ + # Syntaxcheck Menüposition + #$syntax = new Syntaxcheck; + #if (!($syntax->check_menuposition($menpos))){ + # $menpos = $maxpos; + #} + }else{ + $menpos = $maxpos; + } + if (strlen($menpos) == 1){ + $menpos = "0".$menpos; + } + # nun doch führende Nullen erzwingen + # also obsolet: $menpos = preg_replace ( '/0([0-9])/', '$1', $menpos); + + # CN bilden + $brothers = get_menuentries($pxeDN,array("dn","cn")); + $i=1; + $localcn = "localboot".$i; + if(count($brothers) != 0){ + for ($c=0; $c<count($brothers); $c++){ + foreach ($brothers as $item){ + if ($localcn == strtolower($item['cn'])){ + $i++; + $localcn = "localboot".$i; + } + } + } + } + $meDN = "cn=".$localcn.",".$pxeDN; + $entry ['objectclass'][0] = "MenuEntry"; + $entry ['objectclass'][1] = "top"; + $entry ['cn'] = $localcn; + $entry ['menuposition'] = $menpos; + $entry ['label'] = $localcn; + $entry ['menulabel'] = $_POST['locallabel']; + $entry ['menupasswd'] = $_POST['localpasswd']; + $entry ['localboot'] = "level 0"; + $pos = preg_replace ( '/0([0-9])/', '$1', $menpos); + increment_menupositions($pxeDN,$pos); # andere jeweils um 1 erhöhen + if (ldap_add($ds,$meDN,$entry)){ + $mesg .= "Localboot Zeile erfolgeich an Position ".$menpos." eingetragen"; + }else{ + $mesg .= "Fehler beim eintragen der Localboot Zeile!"; + } + $url = "pxe.php?dn=".$pxeDN."&mnr=".$mnr."&sbmnr=".$sbmnr."&mcnr=".$mcnr; +} + + +# Text Zeile hinzufügen +elseif ($typ == "text" && $typ != "newme" && $typ != "local" && $typ != "leer" && $typ != "submenu" ){ + + # Menu Position + $menpos = $_POST['textpos']; + if ($menpos != ""){ + # Syntaxcheck Menüposition + #$syntax = new Syntaxcheck; + #if (!($syntax->check_menuposition($menpos))){ + # $menpos = $maxpos; + #} + }else{ + $menpos = $maxpos; + } + if (strlen($menpos) == 1){ + $menpos = "0".$menpos; + } + # nun doch führende Nullen erzwingen + # also obsolet: $menpos = preg_replace ( '/0([0-9])/', '$1', $menpos); + + $text = $_POST['text']; + if($text != "" && $text != "TEXT"){ + $brothers = get_menuentries($pxeDN,array("dn","cn")); + $i=1; + $textcn = "textzeile".$i; + if(count($brothers) != 0){ + for ($c=0; $c<count($brothers); $c++){ + foreach ($brothers as $item){ + if ($textcn == strtolower($item['cn'])){ + $i++; + $textcn = "textzeile".$i; + } + } + } + } + $meDN = "cn=".$textcn.",".$pxeDN; + $entry ['objectclass'][0] = "MenuEntry"; + $entry ['objectclass'][1] = "top"; + $entry ['cn'] = $textcn; + $entry ['menuposition'] = $menpos; + $entry ['label'] = $text; + $entry ['kernel'] = "menu.c32"; + # Submenulink auf sich selbst + $pxedata = get_node_data($pxeDN,array("filename")); + $entry ['submenulink'] = "self"; + + $pos = preg_replace ( '/0([0-9])/', '$1', $menpos); + increment_menupositions($pxeDN,$pos); # andere jeweils um 1 erhöhen + if (ldap_add($ds,$meDN,$entry)){ + $mesg .= "Textzeile erfolgeich an Position ".$menpos." eingetragen"; + }else{ + $mesg .= "Fehler beim eintragen der Textzeile!"; + } + $url = "pxe.php?dn=".$pxeDN."&mnr=".$mnr."&sbmnr=".$sbmnr."&mcnr=".$mcnr; + } +} + + +elseif ($typ == "leer" && $typ != "newme" && $typ != "local" && $typ != "text" && $typ != "submenu" ){ + + # Menu Position + $menpos = $_POST['leerpos']; + if ($menpos != ""){ + # Syntaxcheck Menüposition + #$syntax = new Syntaxcheck; + #if (!($syntax->check_menuposition($menpos))){ + # $menpos = $maxpos; + #} + }else{ + $menpos = $maxpos; + } + if (strlen($menpos) == 1){ + $menpos = "0".$menpos; + } + # nun doch führende Nullen erzwingen + # also obsolet: $menpos = preg_replace ( '/0([0-9])/', '$1', $menpos); + + # CN bilden + $brothers = get_menuentries($pxeDN,array("dn","cn")); + $i=1; + $leercn = "leerzeile".$i; + if(count($brothers) != 0){ + for ($c=0; $c<count($brothers); $c++){ + foreach ($brothers as $item){ + if ($leercn == strtolower($item['cn'])){ + $i++; + $leercn = "leerzeile".$i; + } + } + } + } + $meDN = "cn=".$leercn.",".$pxeDN; + $entry ['objectclass'][0] = "MenuEntry"; + $entry ['objectclass'][1] = "top"; + $entry ['cn'] = $leercn; + $entry ['menuposition'] = $menpos; + $entry ['kernel'] = "menu.c32"; + # Submenulink auf sich selbst + $pxedata = get_node_data($pxeDN,array("filename")); + $entry ['submenulink'] = "self"; + + # wieder führende Nullen weg für increment_menpos + $pos = preg_replace ( '/0([0-9])/', '$1', $menpos); + increment_menupositions($pxeDN,$pos); # andere jeweils um 1 erhöhen + if (ldap_add($ds,$meDN,$entry)){ + $mesg .= "Leerzeile erfolgeich an Position ".$menpos." eingetragen"; + }else{ + $mesg .= "Fehler beim eintragen der Leerzeile!"; + } + $url = "pxe.php?dn=".$pxeDN."&mnr=".$mnr."&sbmnr=".$sbmnr."&mcnr=".$mcnr; +} + + +elseif ($typ == "submenu" && $typ != "newme" && $typ != "local" && $typ != "text" && $typ != "leer" ){ +} + +$mesg .= "<br>Sie werden automatisch auf die vorherige Seite zurückgeleitet. <br> + Falls nicht, klicken Sie hier <a href=".$url." style='publink'>back</a>"; +redirect($seconds, $url, $mesg, $addSessionId = TRUE); + +echo "</td></tr></table></body> +</html>"; +?>
\ No newline at end of file |