Rev 87 | Go to most recent revision | Blame | Compare with Previous | 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, $aso_parametres = array(), $recuperer_ascendance = FALSE, &$aso_donnees = array())
{
$retour = '';
$collection = $this->recupererBlocksDeDonnees();
for($i = 0; $i < count($collection); $i++) {
$block = $collection[$i];
if ($recuperer_ascendance == TRUE) {
$retour .= $block->afficherPattern($chemin, $nom_fonction, $aso_parametres, $recuperer_ascendance, $aso_donnees);
} else {
$retour .= $block->afficherPattern($chemin, $nom_fonction, $aso_parametres);
}
}
return $retour;
}
function attribuerContexteSql($chemin, $cle_contexte, $cle_donnee)
{
for($i = 0; $i < count($this->collection); $i++) {
$block_donnees = $this->collection[$i];
$donnees = null;
$donnees = $block_donnees->attribuerContexteSql($chemin, $cle_contexte, $cle_donnee);
if (isset($donnees)) {
return $donnees;
}
}
return null;
}
function attribuerContexteValeur($chemin, $cle_contexte, $valeur = null)
{
for($i = 0; $i < count($this->collection); $i++) {
$block_donnees = $this->collection[$i];
$donnees = null;
$donnees = $block_donnees->attribuerContexteValeur($chemin, $cle_contexte, $valeur);
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();
}
}
}
?>