private function checkLimits($bornes) { $new_indispos = array(); $i = 0; $recheck = 0; foreach ($bornes as $datas) { $begin = $datas['begin']; $end = $datas['end']; if (count($new_indispos) == 0) { $new_indispos[0]['begin'] = $begin; $new_indispos[0]['end'] = $end; $new_indispos[0]['duration'] = $end-$begin; } else { $found = 0; foreach ($new_indispos as &$begin_end) { if ( ($begin_end['begin'] > $begin) && ($begin_end['end'] < $end) ) { echo ($read ? "$begin - $end -> zone plus grande\n": ''); $begin_end['begin'] = $begin; $begin_end['end'] = $end; $begin_end['duration'] = $begin_end['end']-$begin_end['begin']; $found = 1; $recheck = 1; break; } elseif ( ($begin_end['begin'] < $begin) && ($begin_end['end'] > $begin) && ($begin_end['end'] < $end) ) { echo ($read ? "$begin - $end -> fin apres\n": ''); $begin_end['end'] = $end; $begin_end['duration'] = $begin_end['end']-$begin_end['begin']; $found = 1; $recheck = 1; break; } elseif ( ($begin_end['begin'] > $begin) && ($begin_end['begin'] < $end) && ($begin_end['end'] > $end) ) { echo ($read ? "$begin - $end -> debut avant \n": ''); $begin_end['begin'] = $begin; $begin_end['duration'] = $begin_end['end']-$begin_end['begin']; $found = 1; $recheck = 1; break; } elseif ( ($begin_end['begin'] <= $begin) && ($begin_end['end'] >= $end) ) { echo ($read ? "$begin - $end -> dans la zone\n": ''); $found = 1; break; } } if (!$found) { $new_indispos[] = array ( 'begin' => $begin, 'end' => $end, 'duration' => ($end-$begin) ); } } } if ($recheck) { $new_indispos = PluginMonitoringWebservice::checkLimits($new_indispos); } return $new_indispos; }
static function methodGetServicesList($params, $protocol) { $array = PluginMonitoringWebservice::getServicesList($params['statetype'], $params['view']); return $array; }