diff options
Diffstat (limited to 'ldap-site-mngmt/webinterface/computers/mcdef_change.php')
-rw-r--r-- | ldap-site-mngmt/webinterface/computers/mcdef_change.php | 402 |
1 files changed, 0 insertions, 402 deletions
diff --git a/ldap-site-mngmt/webinterface/computers/mcdef_change.php b/ldap-site-mngmt/webinterface/computers/mcdef_change.php deleted file mode 100644 index 4aaa29fe..00000000 --- a/ldap-site-mngmt/webinterface/computers/mcdef_change.php +++ /dev/null @@ -1,402 +0,0 @@ -<?php -include('../standard_header.inc.php'); - -$mccn = "MC_".$_POST['mccn']; -$mcdesc = $_POST['mcdesc']; $mcdesc = htmlentities($mcdesc); - -$mcday = $_POST['mcday']; -$mcbeg = $_POST['mcbeg']; -$mcend = $_POST['mcend']; -foreach (array_keys($mcday) as $key){ - $mcday[$key] = htmlentities($mcday[$key]); -} -foreach (array_keys($mcbeg) as $key){ - $mcbeg[$key] = htmlentities($mcbeg[$key]); -} -foreach (array_keys($mcend) as $key){ - $mcend[$key] = htmlentities($mcend[$key]); -} - -$deltr = $_POST['deltr']; - -$newmcday = $_POST['newmcday']; $newmcday = htmlentities($newmcday); -$newmcbeg = $_POST['newmcbeg']; $newmcbeg = htmlentities($newmcbeg); -$newmcend = $_POST['newmcend']; $newmcend = htmlentities($newmcend); - -$oldmcdesc = $_POST['oldmcdesc']; $oldmcdesc = htmlentities($oldmcdesc); -$oldmcday = $_POST['oldmcday']; -$oldmcbeg = $_POST['oldmcbeg']; -$oldmcend = $_POST['oldmcend']; - -$crontab = $_POST['crontab']; -$oldcrontab = $_POST['oldcrontab']; -foreach (array_keys($crontab) as $key){ - $crontab[$key] = htmlentities($crontab[$key]); -} - -$mcDN = $_POST['mcdn']; -$oldmccn = "MC_".$_POST['oldmccn']; - -$nodeDN = $_POST['nodedn']; -$mnr = $_POST['mnr']; -$sbmnr = $_POST['sbmnr']; -$mcnr = $_POST['mcnr']; - -# sosntige Attribute -$attribs = $_POST['attribs']; -if (count($attribs) != 0){ - foreach (array_keys($attribs) as $key){ - $atts[$key] = htmlentities($attribs[$key]); - } -} -#print_r($atts); echo "<br><br>"; -$oldattribs = $_POST['oldattribs']; -if (count($oldattribs) != 0){ - foreach (array_keys($oldattribs) as $key){ - $oldatts[$key] = htmlentities($oldattribs[$key]); - } -} -#print_r($oldatts); echo "<br><br>"; - - -$seconds = 2; -$url = "mcdef.php?dn=".$mcDN."&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>"; - -############################################## -# MC CN (DN) - -if ( $oldmccn == $mccn ){ - # $mesg = "keine Aenderung<br>"; -} - -if ( $oldmccn != "" && $mccn != "" && $oldmccn != $mccn ){ - echo "Machine Config Name aendern<br>"; - # hier noch Syntaxcheck - # Formulareingaben anpassen - $expmc = explode(" ",$mccn); - foreach ($expmc as $word){$expuc[] = ucfirst($word);} - $mccn = implode(" ",$expuc); - $mccn = preg_replace ( '/\s+([0-9A-Z])/', '$1', $mccn); - - - $newmcDN = "cn=".$mccn.",".$nodeDN; - print_r($newmcDN); echo "<br><br>"; - - if(modify_mc_dn($mcDN, $newmcDN)){ - $mesg = "MC Name erfolgreich geändert<br><br>"; - $mcDN = $newmcDN; - }else{ - $mesg = "Fehler beim ändern des MC Name!<br><br>"; - } - - - # newsubmenu holen... - $url = "mcdef.php?dn=".$newmcDN."&mnr=".$mnr."&sbmnr=".$sbmnr."&mcnr=".$mcnr; -} - -if ( $oldmccn != "" && $mccn == "" ){ - echo "Gruppenname loeschen!<br> - Dieses ist Teil des DN, Sie werden die MachineConfig komplett löschen<br><br>"; - echo "Wollen Sie die MachineConfig <b>".$oldmccn."</b> wirklich löschen?<br><br> - <form action='mcdef_delete.php' method='post'> - Falls ja:<br><br> - <input type='hidden' name='dn' value='".$mcDN."'> - <input type='hidden' name='name' value='".$oldmccn."'> - <input type='Submit' name='apply' value='löschen' class='small_loginform_button'><br><br> - </form> - <form action='".$url."' method='post'> - Falls, nein:<br><br> - <input type='Submit' name='apply' value='zurück' class='small_loginform_button'> - </form>"; - $seconds = 600; -} - - -########################################## -# bereits vorhandene TimeRange(s) bearbeiten - -$entrymodtr = array(); -$modtr = 0; -# TimeRanges zusammensetzen -# $t = 0; # Laufvariable für $entrymodtr, da nicht jede Timerange ok sein muss -for ($i=0; $i<count($mcday); $i++){ - -$oldmctimerange = $oldmcday[$i]."_".$oldmcbeg[$i]."_".$oldmcend[$i]; - -if ( ($mcbeg[$i] <= $mcend[$i]) && ( ($mcday[$i] != $oldmcday[$i] && $mcday[$i] != "") || ($mcbeg[$i] != $oldmcbeg[$i] && $mcbeg[$i] != "") || ($mcend[$i] != $oldmcend[$i] && $mcend[$i] != "")) ){ - - - # TimeRange Syntax checken - $syntax = new Syntaxcheck; - if ($syntax->check_timerange_syntax($mcday[$i],$mcbeg[$i],$mcend[$i])){ - - # in Grossbuchstaben - if (preg_match("/([a-z]+)/",$mcday[$i])){$mcday[$i] = strtoupper($mcday[$i]);} - if (preg_match("/([a-z]+)/",$mcbeg[$i])){$mcbeg[$i] = strtoupper($mcbeg[$i]);} - if (preg_match("/([a-z]+)/",$mcend[$i])){$mcend[$i] = strtoupper($mcend[$i]);} - - # führende Nullen weg - $mcbeg[$i] = preg_replace ( '/0([0-9])/', '$1', $mcbeg[$i]); - $mcend[$i] = preg_replace ( '/0([0-9])/', '$1', $mcend[$i]); - - # TimeRange auf Überschneidung mit vorhandenen checken außer mit eigener alter TR da diese - # ja geändert werden soll - if(check_timerange($mcday[$i],$mcbeg[$i],$mcend[$i],$nodeDN,$oldmctimerange)){ - - $mctimerange = $mcday[$i]."_".$mcbeg[$i]."_".$mcend[$i]; - $entrymodtr ['timerange'][$i] = $mctimerange; - $modtr = 1; - - } - else{ - $mesg = "Es existiert bereits eine MachineConfig, die sich mit der eingegebenen Time Range - überschneidet!<br> - Bitte geben Sie eine andere Time Range ein.<br><br>"; - $entrymodtr ['timerange'][$i] = $oldmctimerange; - } - } - else{ - $mesg = "Falsche Syntax in der Timerange-Eingabe!<br> - Bitte geben Sie die erneut Time Range ein.<br><br>"; - $entrymodtr ['timerange'][$i] = $oldmctimerange; - } - -} - - -elseif ( $mcday[$i] == "" || $mcbeg[$i] == "" || $mcend[$i] == "" || $mcbeg[$i] > $mcend[$i]){ - - $mesg = "Sie haben die Time Range <b>Nr.".$i."</b> nicht vollständig angegeben. Diese ist aber ein notwendiges Attribut.<br> - Diese Time Range wird nicht bearbeitet.<br><br>"; - $entrymodtr ['timerange'][$i] = $oldmctimerange; -} - -else{$entrymodtr ['timerange'][$i] = $oldmctimerange;} -} # Ende for-Schleife für jede Timerange -# jetzt noch alle gesammelten Änderungen Durchführen ... -if ($modtr == 1){ - # erst ändern - echo "Ändern: "; print_r($entrymodtr); echo "<br>"; - if($result = ldap_mod_replace($ds,$mcDN,$entrymodtr)){ - $mesg = "TimeRanges erfolgreich geändert<br><br>"; - }else{ - $mesg = "Fehler beim ändern der TimeRanges!<br><br>"; - } -} - - -if ( count($deltr) != 0 && $modtr == 0 ){ - # Time Range löschen - $j = 0; - foreach ($deltr as $delrange){ - $entrydeltr ['timerange'][$j] = $delrange; - $j++; - } - # dann löschen - echo "Löschen: "; print_r($entrydeltr); echo "<br>"; - if($result = ldap_mod_del($ds,$mcDN,$entrydeltr)){ - $mesg = "TimeRanges erfolgreich gelöscht<br><br>"; - }else{ - $mesg = "Fehler beim löschen der TimeRanges!<br><br>"; - } -}elseif(count($deltr) != 0 && $modtr == 1){ - echo "Nur Ändern (gleichzeitig Löschen und Ändern geht nicht)"; -} - -##################################### -# TimeRange hinzufügen - -if ( $newmcday != "" && $newmcbeg != "" && $newmcend != "" && $newmcbeg <= $newmcend ){ - - # TimeRange Syntax checken - $syntax = new Syntaxcheck; - if ($syntax->check_timerange_syntax($newmcday,$newmcbeg,$newmcend)){ - - # in Grossbuchstaben - if (preg_match("/([a-z]+)/",$newmcday)){$newmcday = strtoupper($newmcday);} - if (preg_match("/([a-z]+)/",$newmcbeg)){$newmcbeg = strtoupper($newmcbeg);} - if (preg_match("/([a-z]+)/",$newmcend)){$newmcend = strtoupper($newmcend);} - - # führende Nullen weg - $newmcbeg = preg_replace ( '/0([0-9])/', '$1', $newmcbeg); - $newmcend = preg_replace ( '/0([0-9])/', '$1', $newmcend); - - # TimeRange auf Überschneidung mit vorhandenen checken - if(check_timerange($newmcday,$newmcbeg,$newmcend,$nodeDN,"")){ - - $newmctimerange = $newmcday."_".$newmcbeg."_".$newmcend; - $entrytr ['timerange'] = $newmctimerange; - if($result = ldap_mod_add($ds,$mcDN,$entrytr)){ - $mesg = "Zusätzliche TimeRange erfolgreich eingetragen<br><br>"; - }else{ - $mesg = "Fehler beim eintragen der zusätzlichen TimeRange!<br><br>"; - } - }else{ - $mesg = "Es existiert bereits eine MachineConfig, die sich mit der eingegebenen Time Range - überschneidet!<br> - Bitte geben Sie eine andere Time Range ein.<br><br>"; - } - }else{ - $mesg = "Falsche Syntax in der Timerange-Eingabe!<br> - Bitte geben Sie die erneut Time Range ein.<br><br>"; - } -} - -##################################### -# MC Description - -if ( $oldmcdesc == $mcdesc ){ - # $mesg = "keine Aenderung<br>"; -} - -if ( $oldmcdesc == "" && $mcdesc != "" ){ - echo "MC-Beschreibung neu anlegen<br>"; - # hier noch Syntaxcheck - $entrymc['description'] = $mcdesc; - if(ldap_mod_add($ds,$mcDN,$entrymc)){ - $mesg = "MC-Beschreibung erfolgreich eingetragen<br><br>"; - }else{ - $mesg = "Fehler beim eintragen der MC-Beschreibung<br><br>"; - } -} - -if ( $oldmcdesc != "" && $mcdesc != "" && $oldmcdesc != $mcdesc ){ - echo "MC-Beschreibung aendern<br>"; - # hier noch Syntaxcheck - $entrymc['description'] = $mcdesc; - if(ldap_mod_replace($ds,$mcDN,$entrymc)){ - $mesg = "MC-Beschreibung erfolgreich geaendert<br><br>"; - }else{ - $mesg = "Fehler beim aendern der MC-Beschreibung<br><br>"; - } -} - -if ( $oldmcdesc != "" && $mcdesc == "" ){ - echo "Rechner-Beschreibung loeschen<br>"; - # hier noch Syntaxcheck - $entrymc['description'] = $oldmcdesc; - if(ldap_mod_del($ds,$mcDN,$entrymc)){ - $mesg = "MC-Beschreibung erfolgreich geloescht<br><br>"; - }else{ - $mesg = "Fehler beim loeschen der MC-Beschreibung<br><br>"; - } -} - -##################################### -# Crontab Entries - -if (count($crontab) != 0 && (count(array_diff_assoc($crontab,$oldcrontab)) != 0 || count(array_diff_assoc($oldcrontab,$crontab)) != 0) ){ - - $crontabentry = array(); - foreach ($crontab as $ct){ - if ($ct != ""){ - $crontabentry ['crontab-entries'][] = $ct; - } - } - $oldcrontabentry = array(); - foreach ($oldcrontab as $oldct){ - if ($oldct != ""){ - $oldcrontabentry ['crontab-entries'][] = $oldct; - } - } - - if (count($crontabentry) == 0){ - echo "Crontab Eintrag löschen<br>"; - ldap_mod_del($ds,$mcDN,$oldcrontabentry); - }else{ - echo "Crontab Eintrag ändern<br>"; - print_r($crontabentry); - ldap_mod_replace($ds,$mcDN,$crontabentry); - } -} - -##################################### -# Restliche Attribute - -$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]; - } -} - -#print_r($entryadd); echo "<br>"; -#print_r($entrymod); echo "<br>"; -#print_r($entrydel); echo "<br>"; - - -if (count($entryadd) != 0 ){ - #print_r($entryadd); echo "<br>"; - #echo "neu anlegen<br>"; - foreach (array_keys($entryadd) as $key){ - $addatts .= "<b>".$key."</b>,"; - } - if(ldap_mod_add($ds,$mcDN,$entryadd)){ - $mesg = "Attribute ".$addatts." erfolgreich eingetragen<br><br>"; - }else{ - $mesg = "Fehler beim eintragen der Attribute ".$addatts."<br><br>"; - } -} - -if (count($entrymod) != 0 ){ - #print_r($entrymod); echo "<br>"; - #echo "ändern<br>"; - foreach (array_keys($entrymod) as $key){ - $modatts .= "<b>".$key."</b>,"; - } - if(ldap_mod_replace($ds,$mcDN,$entrymod)){ - $mesg = "Attribute ".$modatts." erfolgreich geaendert<br><br>"; - }else{ - $mesg = "Fehler beim aendern der Attribute ".$modatts."<br><br>"; - } -} - -if (count($entrydel) != 0 ){ - #print_r($entrydel); echo "<br>"; - #echo "löschen<br>"; - foreach (array_keys($entrydel) as $key){ - $delatts .= "<b>".$key."</b>,"; - } - if(ldap_mod_del($ds,$mcDN,$entrydel)){ - $mesg = "Attribute ".$delatts." erfolgreich geloescht<br><br>"; - }else{ - $mesg = "Fehler beim loeschen der Attribute ".$delatts."<br><br>"; - } -} - - - - -$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 |