Exemplo n.º 1
0
   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;
 }