/** * Ajoute une section 'Dimanche' en fin de mois si: * - $jourPrecedent n'est pas null * - numéro de $jourPrecedent ne dépasse pas le mois * note: l'indice du jour est pris dans la variable: $_SESSION['joursDeLaSemaine'] * * @param String $jourPrecedent * @param String $jourAAfficher * @param String $culte */ function gestionAffichageDimancheFinMois($journeePrecedente, $moisEnCours, $anneeEnCours, $culte) { if ($journeePrecedente == null) { return; } // Cas particulier du dernier jour du mois (qui n'est pas déjà renseigné dans le planning) // il est peut-êtr possible d'ajouter un dimanche... on va calculer ça... $numJourPrecedent = intval($journeePrecedente->getNumeroDuJour()); $numJourDernierDimanche = $numJourPrecedent + (6 - getIndiceDuJour($journeePrecedente->getNomDuJour())); if ($numJourDernierDimanche < 32 && $numJourPrecedent != $numJourDernierDimanche) { // on va checker la date par le systeme, histoire de ne pas afficher n'importe quoi if (checkdate(getIndiceMoisEnCours($moisEnCours), $numJourDernierDimanche, intval($anneeEnCours))) { // et on affiche le tag spécifique au dimanche $journee = new Journee(); $journee->preciseLeJour(Constantes::$DIMANCHE . " " . $numJourDernierDimanche); $journee->preciseActivites($culte); afficheDebutTagSpecheulDimanche($journee); afficheFinTagEntree(); } } }
/** * Cette fontion permet de lire le fichier planning.ini et le stocke dans un * tableau tous les mois lus dans le fichier * * Les commentaires et lignes vides sont superbement ignorées * * @param $nomFichier * @return un tableau PlanningMois[] */ function lirefichierPlanning() { //$tableauRetour = array(); // Construction du chemin absolu du fichier $cheminAbsolu = dirname(__FILE__); $cheminAbsolu = str_replace("/archi", "", $cheminAbsolu); $cheminAbsolu = str_replace("\\archi", "", $cheminAbsolu); $nomFichier = $cheminAbsolu . "/parametres/planning.ini"; // Gestion cas limite: le fichier du planning n'a pas été trouvé if (!($fp = fopen($nomFichier, "r"))) { echo "Echec de l'ouverture du fichier " . $nomFichier; exit; } // Sinon, bah, on cré le conteneur de planning $planningDeLAnnee = new PlanningAnnee(); $planningMois = null; $insideSectionParametre = false; while (!feof($fp)) { // On récupère une ligne $ligne = trim(fgets($fp, 1024)); if (isLigneVide($ligne)) { continue; } // titre de section ? // une section commence par [, contient plusieurs caractères et finit par ] if (preg_match("/^[\\[]/", $ligne) == 1) { if ($ligne == '[Parametres]') { // Il s'agit de la section parametre $insideSectionParametre = true; continue; } $insideSectionParametre = false; // Sinon, il s'agit d'un mois! Bigre! // On cree une instance de PlanningMois $planningMois = new PlanningMois(); $planningMois->setMois($ligne); // et on le push dans le tableau de retour de fonction $planningDeLAnnee->ajoutePlanningMensuel($planningMois); } else { if ($ligne == "#incomplet#") { $planningMois->setIncomplet(true); // Dans les autre cas, on a une relation jour <-> activité // et donc un objet Journee } else { // sauvegarde des parametres du fichier ini if ($insideSectionParametre == true) { $parametre = explode(" = ", $ligne); if (count($parametre) == 2) { $planningDeLAnnee->ajouteParametre($parametre[0], $parametre[1]); } continue; } // Si je n'ai pas de mois en cours, alors les lignes trouvée sont des scories // que je ne prend pas en compte if ($planningMois == null) { continue; } $journee = new Journee(); // On va décortiquer la ligne qu'on vient de lire $relation = explode(" = ", $ligne); if (count($relation) == 2) { $journee->preciseLeJour(trim($relation[0])); $journee->preciseActivites(trim($relation[1])); // et on ajoute cette journee au planning du mois $planningMois->ajouteJournee($journee); } } } } fclose($fp); // On ferme le fichier // et on sort de là... return $planningDeLAnnee; }