Subversion Repositories eFlore/Archives.eflore-consultation-v2

Rev

Rev 106 | Only display areas with differences | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

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