Subversion Repositories eFlore/Archives.eflore-consultation-v2

Rev

Rev 87 | Go to most recent revision | Only display areas with differences | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 87 Rev 106
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)
21
    {
21
    {
22
        $block = new blockdedonnees($this->identifiant);
22
        $block = new blockdedonnees($this->identifiant);
23
        $block->affecterDonnees($donnees);
23
        $block->affecterDonnees($donnees);
24
        $this->affecterBlockDeDonnees($block);
24
        $this->affecterBlockDeDonnees($block);
25
    }
25
    }
26
    
26
    
27
    function affecterBlockDeDonnees($block_donnees)
27
    function affecterBlockDeDonnees($block_donnees)
28
    {
28
    {
29
        array_push($this->collection,$block_donnees);
29
        array_push($this->collection,$block_donnees);
30
    }
30
    }
31
    
31
    
32
    function recupererBlocksDeDonnees()
32
    function recupererBlocksDeDonnees()
33
    {
33
    {
34
        return $this->collection;
34
        return $this->collection;
35
    }
35
    }
36
    
36
    
37
    function recupererIdentifiant()
37
    function recupererIdentifiant()
38
    {
38
    {
39
        return $this->identifiant;
39
        return $this->identifiant;
40
    }
40
    }
41
    
41
    
42
    function recupererErreur()
42
    function recupererErreur()
43
    {
43
    {
44
        return $this->erreur;
44
        return $this->erreur;
45
    }
45
    }
46
    
46
    
47
    function afficherPattern($chemin, $nom_fonction, $recuperer_descendance = FALSE, $aso_parametres = array())
47
    function afficherPattern($chemin, $nom_fonction, $aso_parametres = array(), $recuperer_ascendance = FALSE, &$aso_donnees = array())
48
    {
48
    {
49
        $retour = '';
49
        $retour = '';
50
        $collection = $this->recupererBlocksDeDonnees();
50
        $collection = $this->recupererBlocksDeDonnees();
51
        for($i = 0; $i < count($collection); $i++) {
51
        for($i = 0; $i < count($collection); $i++) {
52
            $block_donnees = $collection[$i];
52
            $block = $collection[$i];
-
 
53
            if ($recuperer_ascendance == TRUE) {
53
            $retour .= $block_donnees->afficherPattern($chemin, $nom_fonction, $recuperer_descendance, $aso_parametres);
54
                $retour .= $block->afficherPattern($chemin, $nom_fonction, $aso_parametres, $recuperer_ascendance, $aso_donnees);
-
 
55
            } else {
-
 
56
                $retour .= $block->afficherPattern($chemin, $nom_fonction, $aso_parametres);
-
 
57
            }
54
        }
58
        }
55
        return $retour;
59
        return $retour;
56
    }
60
    }
57
    
61
    
58
    function attribuerContexte($chemin, $cle_contexte, $cle_donnee)
62
    function attribuerContexteSql($chemin, $cle_contexte, $cle_donnee)
59
    {
63
    {
60
        for($i = 0; $i < count($this->collection); $i++) {
64
        for($i = 0; $i < count($this->collection); $i++) {
61
            $block_donnees = $this->collection[$i];
65
            $block_donnees = $this->collection[$i];
62
            $donnees = null;
66
            $donnees = null;
63
            $donnees = $block_donnees->attribuerContexte($chemin, $cle_contexte, $cle_donnee);
67
            $donnees = $block_donnees->attribuerContexteSql($chemin, $cle_contexte, $cle_donnee);
-
 
68
            if (isset($donnees)) {
-
 
69
                return $donnees;
-
 
70
            }
-
 
71
        }
-
 
72
        return null;
-
 
73
    }
-
 
74
    
-
 
75
    function attribuerContexteValeur($chemin, $cle_contexte, $valeur = null)
-
 
76
    {
-
 
77
        for($i = 0; $i < count($this->collection); $i++) {
-
 
78
            $block_donnees = $this->collection[$i];
-
 
79
            $donnees = null;
-
 
80
            $donnees = $block_donnees->attribuerContexteValeur($chemin, $cle_contexte, $valeur);
64
            if (isset($donnees)) {
81
            if (isset($donnees)) {
65
                return $donnees;
82
                return $donnees;
66
            }
83
            }
67
        }
84
        }
68
        return null;
85
        return null;
69
    }
86
    }
70
    
87
    
71
    function afficher()
88
    function afficher()
72
    {
89
    {
73
        echo '<li><b>'.$this->identifiant.'</b></li>';
90
        echo '<li><b>'.$this->identifiant.'</b></li>';
74
        for($i = 0; $i < count($this->collection); $i++) {
91
        for($i = 0; $i < count($this->collection); $i++) {
75
            $une_collection = $this->collection[$i];
92
            $une_collection = $this->collection[$i];
76
            $une_collection->afficher();
93
            $une_collection->afficher();
77
        }
94
        }
78
    }
95
    }
79
}
96
}
80
?>
97
?>