function check_timerange($mcday, $mcbeg, $mcend, $nodeDN, $excepttimerange) { global $ds, $suffix, $auDN, $ldapError; $brothers = get_machineconfigs($nodeDN, array("timerange")); # keine Überschneidungen pro Spez.Ebene zulassen #print_r($brothers); echo "<br><br>"; if (count($brothers) != 0) { $intersect = 0; foreach ($brothers as $item) { # Fall, dass Brother mehrere TimeRanges hat if (count($item['timerange']) > 1) { foreach ($item['timerange'] as $tr) { if ($tr != $excepttimerange) { $exptime = explode('_', $tr); $bmcday = $exptime[0]; $bmcbeg = $exptime[1]; $bmcend = $exptime[2]; #echo "mcday:"; print_r($mcday); echo "<br>"; #echo "bmcday:"; print_r($bmcday); echo "<br>"; #echo "mcbeg:"; print_r($mcbeg); echo "<br>"; #echo "bmcbeg:"; print_r($bmcbeg); echo "<br>"; #echo "mcend:"; print_r($mcend); echo "<br>"; #echo "bmcend:"; print_r($bmcend); echo "<br>"; if ($mcday == $bmcday) { if ($mcbeg > $bmcend || $mcend < $bmcbeg) { # keine Überschneidung in der Uhrzeit } else { # Uhrzeit Überschneidung $intersect = 1; $intersecttr = $bmcday . "_" . $bmcbeg . "_" . $bmcend; break; } } } } } elseif (count($item['timerange']) == 1) { if ($item['timerange'] != $excepttimerange) { $exptime = explode('_', $item['timerange']); $bmcday = $exptime[0]; $bmcbeg = $exptime[1]; $bmcend = $exptime[2]; #echo "mcday:"; print_r($mcday); echo "<br>"; #echo "bmcday:"; print_r($bmcday); echo "<br>"; #echo "mcbeg:"; print_r($mcbeg); echo "<br>"; #echo "bmcbeg:"; print_r($bmcbeg); echo "<br>"; #echo "mcend:"; print_r($mcend); echo "<br>"; #echo "bmcend:"; print_r($bmcend); echo "<br>"; if ($mcday == $bmcday) { if ($mcbeg > $bmcend || $mcend < $bmcbeg) { # keine Überschneidung in der Uhrzeit } else { # Uhrzeit Überschneidung $intersect = 1; $intersecttr = $bmcday . "_" . $bmcbeg . "_" . $bmcend; break; } } } } } #echo "intersect: "; print_r($intersect); echo "<br>"; if ($intersect == 1) { echo "<b>[" . $mcday . "_" . $mcbeg . "_" . $mcend . "]</b> überschneidet sich mit der \n\t\t\t\t\tbereits existierende <b>Time Range [" . $intersecttr . "]</b> !"; return 0; } else { return 1; } } else { return 1; } }
$sbmnr = -1; $mcnr = -1; ################################################################################### $sbmnr = $_GET['sbmnr']; # Menuleisten erstellen createMainMenu($rollen, $mainnr); createComputersMenu($rollen, $mnr, $auDN, $sbmnr, $mcnr); ################################################################################### $hostDN = "HostName=" . $_GET['host'] . ",cn=computers," . $auDN; $attributes = array("hostname", "domainname", "ipaddress", "hwaddress", "description", "dhcphlpcont", "inventarnr", "hwinventarnr", "geolocation", "geoattribut"); $host = get_node_data($hostDN, $attributes); $hostip = explode('_', $host['ipaddress']); $template->assign(array("HOSTDN" => $hostDN, "HOSTNAME" => $host['hostname'], "DOMAINNAME" => $host['domainname'], "HWADDRESS" => $host['hwaddress'], "IPADDRESS" => $hostip[0], "DESCRIPTION" => $host['description'], "DHCPCONT" => $host['dhcphlpcont'], "GEOLOC" => $host['geolocation'], "GEOATT" => $host['geoattribut'], "INVNR" => $host['inventarnr'], "HWINVNR" => $host['hwinventarnr'], "DHCPLINK" => "<a href='host_dhcp.php?host=" . $host['hostname'] . "&sbmnr=" . $sbmnr . "' class='headerlink'>", "HOSTLINK" => "<a href='host.php?host=" . $host['hostname'] . "&sbmnr=" . $sbmnr . "' class='headerlink'>", "RBSLINK" => "", "AUDN" => $auDN, "SBMNR" => $sbmnr)); ########################################################## # MC Wochenübersicht $mc_array = get_machineconfigs($hostDN, array("dn", "cn", "timerange", "description")); # print_r($mc_array); for ($i = 0; $i < count($mc_array); $i++) { # Timerange Komponenten if (count($mc_array[$i]['timerange']) > 1) { foreach ($mc_array[$i]['timerange'] as $tr) { $exptime = array_merge(explode('_', $tr), $mc_array[$i]['description']); $timeranges[$i][] = $exptime; # Für grafische Wo-Ansicht } } else { $exptime = array_merge(explode('_', $mc_array[$i]['timerange']), $mc_array[$i]['description']); $timeranges[$i] = $exptime; # Für grafische Wo-Ansicht } }