function etabouvert($date_a_verifier, $de_heure, $a_heure, $classe_select) { global $prefix_base; global $dbDb; // a l'état initial l'établissement est considérer comme fermer $ouvert = 'non'; // on explose la date soit sql soit fr $date_selection = explode('/', $date_a_verifier); if(!empty($date_selection[1])) { $jour = $date_selection[0]; $mois = $date_selection[1]; $annee = $date_selection[2]; } else { $date_selection = explode('-', $date_a_verifier); $jour = $date_selection[2]; $mois = $date_selection[1]; $annee = $date_selection[0]; } // date au format SQL $date_sql = $annee.'-'.$mois.'-'.$jour; // pour connaitre le jour lundi, mardi, ... $joursem = aff_jour($jour, $mois, $annee); // on compte le nombre de jour trouvé qui soit ouvert $sql="SELECT count(*) FROM ".$prefix_base."horaires_etablissement WHERE jour_horaire_etablissement = '".$joursem."' AND ouvert_horaire_etablissement = '1' AND ( '".$de_heure."' BETWEEN ouverture_horaire_etablissement AND fermeture_horaire_etablissement OR '".$a_heure."' BETWEEN ouverture_horaire_etablissement AND fermeture_horaire_etablissement OR ouverture_horaire_etablissement BETWEEN '".$de_heure."' AND '".$a_heure."' OR fermeture_horaire_etablissement BETWEEN '".$de_heure."' AND '".$a_heure."' )"; //echo "0 : $sql<br />"; $requete_nb = old_mysql_result(mysqli_query($GLOBALS["mysqli"], $sql),0); // ensuit on vérifie qu'une table edt_calendrier existe $table_edt_calendrier = 'non'; $table= ''; $table = $prefix_base.'edt_calendrier'; $exist_table = mysql_table_exists($table, $dbDb); if ( $exist_table === 1 ) { $table_edt_calendrier = 'oui'; } // si la table existe est qu'elle n'est pas vide alors on vérifie que le jour ne soit pas férier ou dans une période de vacances $requete_nb_calendrier_1 = '0'; $requete_nb_calendrier_2 = '0'; // définition des dates en timestamps $debut_calendrier_ts_gmt = timestamps_encode($date_sql, $de_heure); $fin_calendrier_ts_gmt = timestamps_encode($date_sql, $a_heure); if ( $table_edt_calendrier === 'oui' ) { $sql="SELECT count(*) FROM ".$prefix_base."edt_calendrier WHERE etabferme_calendrier = '0' AND classe_concerne_calendrier = '' AND ( '".$debut_calendrier_ts_gmt."' BETWEEN debut_calendrier_ts AND fin_calendrier_ts OR '".$fin_calendrier_ts_gmt."' BETWEEN debut_calendrier_ts AND fin_calendrier_ts OR debut_calendrier_ts BETWEEN '".$debut_calendrier_ts_gmt."' AND '".$debut_calendrier_ts_gmt."' OR fin_calendrier_ts BETWEEN '".$debut_calendrier_ts_gmt."' AND '".$fin_calendrier_ts_gmt."' )"; //echo "1 : $sql<br />"; $requete_nb_calendrier_1 = old_mysql_result(mysqli_query($GLOBALS["mysqli"], $sql),0); } // on fait de même si c'est pour une classe est précisé if ( $table_edt_calendrier === 'oui' and $classe_select != '' ) { $sql="SELECT count(*) FROM ".$prefix_base."edt_calendrier WHERE etabferme_calendrier = '0' AND ( classe_concerne_calendrier LIKE '".$classe_select.";%;' OR classe_concerne_calendrier LIKE '%;".$classe_select.";%' OR classe_concerne_calendrier LIKE '%;".$classe_select."' OR classe_concerne_calendrier = '".$classe_select."' ) AND ( '".$debut_calendrier_ts_gmt."' BETWEEN debut_calendrier_ts AND fin_calendrier_ts OR '".$fin_calendrier_ts_gmt."' BETWEEN debut_calendrier_ts AND fin_calendrier_ts OR debut_calendrier_ts BETWEEN '".$debut_calendrier_ts_gmt."' AND '".$fin_calendrier_ts_gmt."' OR fin_calendrier_ts BETWEEN '".$debut_calendrier_ts_gmt."' AND '".$fin_calendrier_ts_gmt."' )"; //echo "2 : $sql<br />"; $requete_nb_calendrier_2 = old_mysql_result(mysqli_query($GLOBALS["mysqli"], $sql),0); } /* // DEBUG echo "<pre> \$requete_nb=$requete_nb \$requete_nb_calendrier_1=$requete_nb_calendrier_1 \$requete_nb_calendrier_2=$requete_nb_calendrier_2 </pre>"; */ if ( $requete_nb != '0' and $requete_nb_calendrier_1 === '0' and $requete_nb_calendrier_2 === '0' ) { $ouvert = 'oui'; } else { $ouvert = 'non'; } return($ouvert); }
function tableau_annuel($id_eleve, $mois_debut, $nb_mois, $annee_select, $tableau_info_donnee) { if(empty($mois_debut) or $mois_debut==='0') { $mois_debut = '8'; } if(empty($nb_mois) or $nb_mois==='0') { $nb_mois = '12'; } if(empty($annee_select) or $annee_select==='0') { $annee_select = '12'; } $nb_jour = '31'; $num_mois = '0'; $nb_jour_aff = '1'; $icouleur = '1'; echo '<table class="table_calendrier">'; //entête echo '<tr>'; echo '<td class="td_calendrier_mois" style="background-color: #F0FFCF;">Mois</td>'; // boucle des jours while($nb_jour_aff<=$nb_jour) { if($icouleur==='1') { $couleur_cellule='#FAFFEF'; $icouleur='2'; } else { $couleur_cellule='#F0FFCF'; $icouleur='1'; } echo '<td class="td_calendrier_jour" style="background-color: '.$couleur_cellule.'">'.$nb_jour_aff.'</td>'; $nb_jour_aff++; } echo '</tr>'; //donnée $nb_jour_aff = '1'; $nb_mois_aff = '1'; $icouleur = '1'; // boucle des mois while($nb_mois_aff<=$nb_mois) { // gestion du numéro du mois if($num_mois==='0') { $num_mois = $mois_debut; } else { if($num_mois!='12') { $num_mois = $num_mois + '1'; } else { $num_mois = '1'; $annee_select++; } } $mois_selectionne = $num_mois; if($icouleur==='1') { $couleur_cellule='#FAFFEF'; } else { $couleur_cellule='#F0FFCF'; } echo '<tr>'; echo '<td class="td_calendrier_mois" style="background-color: '.$couleur_cellule.'">'.aff_mois($mois_selectionne).' <span style="font-size : 0.6em;">'.$annee_select.'</span></td>'; // boucle des jours while($nb_jour_aff<=$nb_jour) { $jour_selectionne = $nb_jour_aff; //s'occupe de connaitre la couleur de la cellule si un jour non existant // vérifie l'existance de la date if(checkdate($num_mois, $jour_selectionne, $annee_select)) { if(aff_jour($jour_selectionne, $num_mois, $annee_select)!='Dimanche') { if($icouleur==='1') { $couleur_cellule='#FAFFEF'; } else { $couleur_cellule='#F0FFCF'; } } else { $couleur_cellule='#C3EF59'; } } else { $couleur_cellule='#5F5F5F'; } echo '<td class="td_calendrier_jour" style="background-color: '.$couleur_cellule.'" title="'.date_long_format($jour_selectionne, $num_mois, $annee_select).'">'; $passage = $jour_selectionne.'/'.$num_mois.'/'.$annee_select; if(empty($tableau_info_donnee[$passage]['absence'])) { $tableau_info_donnee[$passage]['absence'] = ''; } if(empty($tableau_info_donnee[$passage]['retard'])) { $tableau_info_donnee[$passage]['retard'] = ''; } if(empty($tableau_info_donnee[$passage]['retard']) and $tableau_info_donnee[$passage]['absence']==='oui') { ?><img src="../images/absence.png" style="width: 10px; height: 10px;" alt="" /><?php } if(empty($tableau_info_donnee[$passage]['absence']) and $tableau_info_donnee[$passage]['retard']==='oui') { ?><img src="../images/retard.png" style="width: 10px; height: 10px;" alt="" /><?php } if($tableau_info_donnee[$passage]['absence']==='oui' and $tableau_info_donnee[$passage]['retard']==='oui') { ?><img src="../images/absenceretard.png" style="width: 10px; height: 10px;" alt="" /><?php } ?></td><?php $nb_jour_aff++; } echo '</tr>'; $nb_jour_aff ='1'; if($icouleur==='2') { $icouleur = '1'; } else { $icouleur = '2'; } $nb_mois_aff++; } echo '</table>'; ?><img src="../images/absence.png" style="width: 10px; height: 10px;" alt="" /> - Absences<?php ?> <img src="../images/retard.png" style="width: 10px; height: 10px;" alt="" /> - Retard<?php ?> <img src="../images/absenceretard.png" style="width: 10px; height: 10px;" alt="" /> - Absences et retard<?php }
while ( $i <= 31 ) { $pdf->Cell($l_jour, $h_mois, $i, 1, 0, 'C', 0); $i = $i + 1; } // horaire de chaque jour $i = '0'; while ( !empty($mois[$i]) ) { $y_mois = $y_mois + $h_mois; $pdf->SetXY($x_mois, $y_mois); $pdf->Cell($l_mois, $h_mois, $mois[$i]['mois'], 'TLRB', 0, 'C', 0); $j = '1'; while ( $j <= '31' ) { if(checkdate($mois[$i]['num_mois'], $j, $mois[$i]['num_annee'])) { if(aff_jour($j, $mois[$i]['num_mois'], $mois[$i]['num_annee'])!='Dimanche') { $pdf->SetFillColor(255, 255, 255); $aff_couleur = '0'; } else { $pdf->SetFillColor(140, 239, 134); $aff_couleur = '1'; } $cadre = 'LRTB'; $pass = ''; if ( $j < 10 ) { $jour_num = '0'.$j; } else { $jour_num = $j; } $jour_select = $mois[$i]['num_annee'].'-'.$mois[$i]['num_mois'].'-'.$jour_num; if ( !empty($info_absence[$jour_select.'-0']) ) { // boucle pour vérifier si plusieurs horraire dans cette journé $cpt_horraire_jour = 0; $jour_select_tt = $jour_select.'-'.$cpt_horraire_jour; while ( !empty($info_absence[$jour_select_tt]) ) { // connaitre si l'absence à été le matin if ( $info_absence[$jour_select_tt]['heure_debut'] >= '06:00:00' and $info_absence[$jour_select_tt]['heure_fin'] <= '13:00:00' ) {