Пример #1
0
/**
 * 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();
        }
    }
}
Пример #2
0
/**
 * 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;
}