Subversion Repositories eFlore/Archives.eflore-consultation-v2

Rev

Rev 106 | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
87 jpm 1
<?php
2
 
3
class collectionblockdedonnees{
4
 
5
    protected $identifiant;
6
    protected $collection;
7
    protected $erreur;
8
 
9
    function __construct($identifiant)
10
    {
11
        $this->identifiant = $identifiant;
12
        $this->collection = array();
13
    }
14
 
15
   function affecterIdentifiant($identifiant)
16
    {
17
        $this->identifiant = $identifiant;
18
    }
19
 
139 jpm 20
    function ajouterDonnees($donnees, $identifiant = null)
87 jpm 21
    {
139 jpm 22
        if (is_null($identifiant)) {
23
            $block = new blockdedonnees($this->identifiant);
24
        } else {
25
            $block = new blockdedonnees($identifiant);
26
        }
87 jpm 27
        $block->affecterDonnees($donnees);
28
        $this->affecterBlockDeDonnees($block);
29
    }
30
 
31
    function affecterBlockDeDonnees($block_donnees)
32
    {
33
        array_push($this->collection,$block_donnees);
34
    }
35
 
36
    function recupererBlocksDeDonnees()
37
    {
38
        return $this->collection;
39
    }
40
 
41
    function recupererIdentifiant()
42
    {
43
        return $this->identifiant;
44
    }
45
 
46
    function recupererErreur()
47
    {
48
        return $this->erreur;
49
    }
50
 
106 jpm 51
    function afficherPattern($chemin, $nom_fonction, $aso_parametres = array(), $recuperer_ascendance = FALSE, &$aso_donnees = array())
87 jpm 52
    {
53
        $retour = '';
54
        $collection = $this->recupererBlocksDeDonnees();
55
        for($i = 0; $i < count($collection); $i++) {
106 jpm 56
            $block = $collection[$i];
57
            if ($recuperer_ascendance == TRUE) {
58
                $retour .= $block->afficherPattern($chemin, $nom_fonction, $aso_parametres, $recuperer_ascendance, $aso_donnees);
59
            } else {
60
                $retour .= $block->afficherPattern($chemin, $nom_fonction, $aso_parametres);
61
            }
87 jpm 62
        }
63
        return $retour;
64
    }
65
 
106 jpm 66
    function attribuerContexteSql($chemin, $cle_contexte, $cle_donnee)
87 jpm 67
    {
68
        for($i = 0; $i < count($this->collection); $i++) {
69
            $block_donnees = $this->collection[$i];
70
            $donnees = null;
106 jpm 71
            $donnees = $block_donnees->attribuerContexteSql($chemin, $cle_contexte, $cle_donnee);
87 jpm 72
            if (isset($donnees)) {
73
                return $donnees;
74
            }
75
        }
76
        return null;
77
    }
78
 
106 jpm 79
    function attribuerContexteValeur($chemin, $cle_contexte, $valeur = null)
80
    {
81
        for($i = 0; $i < count($this->collection); $i++) {
82
            $block_donnees = $this->collection[$i];
83
            $donnees = null;
84
            $donnees = $block_donnees->attribuerContexteValeur($chemin, $cle_contexte, $valeur);
85
            if (isset($donnees)) {
86
                return $donnees;
87
            }
88
        }
89
        return null;
90
    }
91
 
87 jpm 92
    function afficher()
93
    {
94
        echo '<li><b>'.$this->identifiant.'</b></li>';
95
        for($i = 0; $i < count($this->collection); $i++) {
96
            $une_collection = $this->collection[$i];
97
            $une_collection->afficher();
98
        }
99
    }
100
}
101
?>