Subversion Repositories eFlore/Archives.eflore-consultation-v2

Rev

Rev 72 | Go to most recent revision | Blame | Last modification | View Log | RSS feed

<?php

class collectionblockdedonnees{
    
    protected $identifiant;
    protected $collection;
    protected $erreur;
    
    function __construct($identifiant)
    {
        $this->identifiant = $identifiant;
        $this->collection = array();
    }
   
   function affecterIdentifiant($identifiant)
    {
        $this->identifiant = $identifiant;
    }
    
    function ajouterDonnees($donnees)
    {
        $block = new blockdedonnees($this->identifiant);
        $block->affecterDonnees($donnees);
        $this->affecterBlockDeDonnees($block);
    }
    
    function affecterBlockDeDonnees($block_donnees)
    {
        array_push($this->collection,$block_donnees);
    }
    
    function recupererBlocksDeDonnees()
    {
        return $this->collection;
    }
    
    function recupererIdentifiant()
    {
        return $this->identifiant;
    }
    
    function recupererErreur()
    {
        return $this->erreur;
    }
    
    function afficherPattern($chemin, $nom_fonction, $recuperer_descendance = FALSE, $aso_parametres = array())
    {
        $retour = '';
        $collection = $this->recupererBlocksDeDonnees();
        for($i = 0; $i < count($collection); $i++) {
            $block_donnees = $collection[$i];
            $retour .= $block_donnees->afficherPattern($chemin, $nom_fonction, $recuperer_descendance, $aso_parametres);
        }
        return $retour;
    }
    
    function attribuerContexte($chemin, $cle_contexte, $cle_donnee)
    {
        for($i = 0; $i < count($this->collection); $i++) {
            $block_donnees = $this->collection[$i];
            $donnees = null;
            $donnees = $block_donnees->attribuerContexte($chemin, $cle_contexte, $cle_donnee);
            if (isset($donnees)) {
                return $donnees;
            }
        }
        return null;
    }
    
    function afficher()
    {
        echo '<li><b>'.$this->identifiant.'</b></li>';
        for($i = 0; $i < count($this->collection); $i++) {
            $une_collection = $this->collection[$i];
            $une_collection->afficher();
        }
    }
}
?>