1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90
| <?php
function timestamp_date($d,$m,$y,$h,$mn,$s ){
return mktime($h,$mn, $s, $m, $d, $y);
}
function getMinPlage($min){
return $min*60;
}
function calandarbydate($date, $start , $end ){
$dateTab = explode('-',$date);
$startTab = explode(':',$start);
$endTab = explode(':',$end);
return
array(
'date'=>$date,
'start'=>timestamp_date( $dateTab[0],$dateTab[1],$dateTab[2],$startTab[0],$startTab[1],$startTab[2]),
'end'=> timestamp_date( $dateTab[0],$dateTab[1],$dateTab[2],$endTab[0],$endTab[1],$endTab[2]),
'register' => array()
);
}
function viewCalandar($calandar ,$plage ){
foreach ($calandar as $key => $values){
$nbdispoplage = round(( $values['end'] - $values['start'] )/ $plage) ;
$timestampDate = $values['start'] +$nbdispoplage;
echo '<br/><u>'.$nbdispoplage. ' plages de '.($plage/60).'mn disponible pour le '.$values['date'].'</u><br/>';
for( $i=0;$i< $nbdispoplage ;$i++){
$style= "";
$timestampDate = $values['start'] + ( $i*$plage );
if($timestampDate + $plage > $values['end'] ){
$style='style="color:red"';
}
foreach ($values['register'] as $k => $v ){
if($timestampDate >= $v['start'] && $timestampDate < $v['end'] ){
$style='style="color:red"';
}
else if($timestampDate + $plage > $v['start'] && $timestampDate < $v['end'] ){
$style='style="color:red"';
}
}
echo"<span $style >".date("H:i:s", $timestampDate).'</span> | ';
}
}
}
$calandar = array();
echo '<br/>Enregistrement dans le calandrier disponibilités POSTE 1: "23-08-2012", "8:0:0" , "12:0:0" <br/>';
echo '<br/>Enregistrement dans le calandrier disponibilités POSTE 2: "23-08-2012", "9:0:0" , "12:0:0" <br/>';
echo '<br/>Enregistrement dans le calandrier disponibilités POSTE 1:"24-08-2012", "8:0:0" , "12:0:0" <br/>';
$calandar["23-08-2012-1"] = calandarbydate("23-08-2012", "8:0:0" , "12:0:0" );
$calandar["23-08-2012-2"] = calandarbydate("23-08-2012", "9:0:0" , "12:0:0" );
$calandar["24-08-2012-1"] = calandarbydate("24-08-2012", "8:0:0" , "12:0:0" );
$min = 15;
$plage= getMinPlage($min);
echo "<br/><b>Voici les plages de $min mn </b><br/>";
echo viewCalandar($calandar ,$plage );
$min = 30;
$plage= getMinPlage($min);
echo "<br/><b>Voici les plages de $min mn </b><br/>";
echo viewCalandar($calandar ,$plage );
echo '<br/>Enregistrement réservation "23-08-2012", "8:30:0" , "9:30:0" POSTE 1<br/>';
echo '<br/>Enregistrement réservation "23-08-2012", "10:30:0" , "11:0:0" POSTE 2<br/>';
$calandar["23-08-2012-1"]['register'][] = calandarbydate("23-08-2012", "8:30:0" , "9:30:0" );
$calandar["23-08-2012-2"]['register'][] = calandarbydate("23-08-2012", "10:30:0" , "11:0:0" );
$min = 15;
$plage= getMinPlage($min);
echo "<br/><b>Voici les plages de $min mn </b><br/>";
echo viewCalandar($calandar ,$plage );
$min = 50;
$plage= getMinPlage($min);
echo "<br/><b>Voici les plages de $min mn </b><br/>";
echo viewCalandar($calandar ,$plage );
?> |
Partager