summaryrefslogtreecommitdiffstats
path: root/ldap-site-mngmt/webinterface/computers/mcdef_add.php
diff options
context:
space:
mode:
Diffstat (limited to 'ldap-site-mngmt/webinterface/computers/mcdef_add.php')
-rw-r--r--ldap-site-mngmt/webinterface/computers/mcdef_add.php160
1 files changed, 160 insertions, 0 deletions
diff --git a/ldap-site-mngmt/webinterface/computers/mcdef_add.php b/ldap-site-mngmt/webinterface/computers/mcdef_add.php
new file mode 100644
index 00000000..efb86e87
--- /dev/null
+++ b/ldap-site-mngmt/webinterface/computers/mcdef_add.php
@@ -0,0 +1,160 @@
+<?php
+include('../standard_header.inc.php');
+
+$mccn = $_POST['mccn']; $mccn = htmlentities($mccn);
+$mcdesc = $_POST['mcdesc']; $mcdesc = htmlentities($mcdesc);
+$mcday = $_POST['mcday']; $mcday = htmlentities($mcday);
+$mcbeg = $_POST['mcbeg']; $mcbeg = htmlentities($mcbeg);
+$mcend = $_POST['mcend']; $mcend = htmlentities($mcend);
+
+$nodeDN = $_POST['nodedn'];
+$mnr = $_POST['mnr'];
+$sbmnr = $_POST['sbmnr'];
+$mcnr = $_POST['mcnr'];
+
+$targets = $_POST['targets'];
+#print_r($targets); echo "<br>";
+$n = array_keys($targets,'none');
+#print_r($n); echo "<br>";
+for ($i=0; $i<count($n); $i++){
+ $match = array_search('none',$targets);
+ array_splice($targets, $match, 1);
+}
+#echo "Zielobjekte: ";print_r($targets); echo "<br>";
+
+$mcattribs = $_POST['mcattribs'];
+if (count($mcattribs) != 0){
+ foreach (array_keys($mcattribs) as $key){
+ $mcatts[$key] = htmlentities($mcattribs[$key]);
+ }
+}
+# print_r($mcatts); echo "<br><br>";
+
+$seconds = 2;
+$get_mccn = str_replace ( " ", "_", $mccn );
+$get_mcdesc = str_replace ( " ", "_", $mcdesc );
+$get_mcday = str_replace ( " ", "_", $mcday );
+$get_mcbeg = str_replace ( " ", "_", $mcbeg );
+$get_mcend = str_replace ( " ", "_", $mcend );
+$url = "new_mcdef.php?mccn=".$get_mccn."&mcdesc=".$get_mcdesc."&mcday=".$get_mcday."&mcbeg=".$get_mcbeg."&mcend=".$get_mcend."&mnr=".$mnr."&sbmnr=".$sbmnr;
+
+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>";
+
+if ( $mccn != "" && $mccn != "Hier_MC_NAME_eintragen"){
+
+ $mccn = "MC_".$mccn;
+ # Formulareingaben anpassen
+ $expmc = explode(" ",$mccn);
+ foreach ($expmc as $word){$expuc[] = ucfirst($word);}
+ $mccn = implode(" ",$expuc);
+ $mccn = preg_replace ( '/\s+([0-9A-Z])/', '$1', $mccn);
+
+ $mctimerange = "";
+
+ if (count($targets) != 0){
+ foreach ($targets as $targetDN){
+
+ $exptargetdn = ldap_explode_dn($targetDN, 1);
+ $targetcn = $exptargetdn[0];
+ $targettype = $exptargetdn[1];
+
+ # Check auf eindeutigen MC-Namen am Zielobjekt
+ $brothers = get_machineconfigs($targetDN,array("cn"));
+ $brother = 0;
+ foreach ($brothers as $item){
+ if( $item['cn'] == $mccn ){
+ $mesg = "Es existiert bereits ein PXE Boot Men&uuml; mit dem eingegebenen Namen!<br>
+ Bitte geben Sie einen anderen Namen ein.<br><br>";
+ $url = "new_mcdef.php?mccn=".$get_mccn."&mcday=".$get_mcday."&mcbeg=".$get_mcbeg."&mcend=".$get_mcend."&mnr=".$mnr."&sbmnr=".$sbmnr;
+ $brother = 1;
+ break;
+ }
+ }
+ if ($brother == 0){
+
+ if ( $mcday != "" && $mcbeg != "" && $mcend != "" && $mcbeg <= $mcend ){
+
+ # TimeRange Syntax checken
+ $syntax = new Syntaxcheck;
+ if ($syntax->check_timerange_syntax($mcday,$mcbeg,$mcend)){
+
+ # in Grossbuchstaben
+ if (preg_match("/([a-z]+)/",$mcday)){$mcday = strtoupper($mcday);}
+ if (preg_match("/([a-z]+)/",$mcbeg)){$mcbeg = strtoupper($mcbeg);}
+ if (preg_match("/([a-z]+)/",$mcend)){$mcend = strtoupper($mcend);}
+
+ # führende Nullen weg
+ $mcbeg = preg_replace ( '/0([0-9])/', '$1', $mcbeg);
+ $mcend = preg_replace ( '/0([0-9])/', '$1', $mcend);
+
+ # TimeRange auf Überschneidung mit vorhandenen checken
+ if(check_timerange($mcday,$mcbeg,$mcend,$targetDN,"")){
+ $mctimerange = $mcday."_".$mcbeg."_".$mcend;
+ }
+ else{
+ $mesg = "Es existiert bereits eine MachineConfig, die sich mit der eingegebenen Time Range
+ &uuml;berschneidet!<br>
+ Die neue MachineConfig wird ohne Time Range angelegt.<br>
+ Bitte geben Sie diese anschlie&szlig;end ein.<br><br>";
+ }
+ }
+ else{
+ $mesg = "Falsche Syntax in der Time-Range-Eingabe! Die neue MachineConfig wird ohne Time Range angelegt.<br>
+ Bitte geben Sie diese anschlie&szlig;end ein.<br><br>";
+ }
+ }
+ else{
+ $mesg = "Keine vollst&auml;ndige Time-Range-Eingabe! Die neue MachineConfig wird ohne Time Range angelegt.<br>
+ Bitte geben Sie diese anschlie&szlig;end ein.<br><br>";
+ }
+
+ $mcDN = "cn=".$mccn.",".$targetDN;
+ print_r($mcDN); echo "<br>";
+
+ if (add_mc($mcDN,$mccn,$mctimerange,$mcdesc,$mcattribs)){
+ $mesg .= "<br>Neue MachineConfig erfolgreich angelegt<br>";
+ if ($targettype == "computers"){
+ $url = "mcdef.php?dn=".$mcDN."&mnr=1";
+ }
+ if ($targettype == "groups"){
+ $url = "mcdef.php?dn=".$mcDN."&mnr=2";
+ }
+ if ($targettype == $au_ou){
+ $url = "machineconfig_default.php";
+ }
+ }
+ else{
+ $mesg .= "<br>Fehler beim anlegen der MachineConfig!<br>";
+ }
+ }
+ }
+ }
+ else{
+ $mesg .= "<br>Sie haben kein Ziel angegeben!<br>";
+ }
+}
+
+elseif ( $mccn == "" || $mccn == "Hier_MC_NAME_eintragen"){
+
+ $mesg = "Sie haben den Namen der neuen Machine Config nicht angegeben. Dieser ist aber ein notwendiges Attribut.<br>
+ Bitte geben Sie ihn an.<br><br>";
+ $url = "new_mcdef.php?mccn=Hier_MC_NAME_eintragen&mcdesc=".$get_mcdesc."&mcday=".$get_mcday."&mcbeg=".$get_mcbeg."&mcend=".$get_mcend."&mnr=".$mnr."&sbmnr=".$sbmnr;
+}
+
+
+
+$mesg .= "<br>Sie werden automatisch auf die vorherige Seite zur&uuml;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