Subversion Repositories eFlore/Applications.eflore-consultation

Rev

Rev 76 | Rev 83 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 76 Rev 79
Line 47... Line 47...
47
 	* Attribue une position de sortie à un contenu.
47
 	* Attribue une position de sortie à un contenu.
48
 	*/
48
 	*/
49
	protected function setSortie($position, $contenu, $fusionner = false) {
49
	protected function setSortie($position, $contenu, $fusionner = false) {
50
		if ($this->verifierExistenceTypeSortie($position)) {
50
		if ($this->verifierExistenceTypeSortie($position)) {
51
			if ($fusionner) {
51
			if ($fusionner) {
-
 
52
				if (isset($this->sortie[$position])) {
52
				$this->sortie[$position] .= $contenu;
53
					$this->sortie[$position] .= $contenu;
-
 
54
				} else {
-
 
55
					$this->sortie[$position] = $contenu;
-
 
56
				}
53
			} else {
57
			} else {
54
				$this->sortie[$position] = $contenu;
58
				$this->sortie[$position] = $contenu;
55
			}
59
			}
56
		}
60
		}
57
	}
61
	}
Line 86... Line 90...
86
 
90
 
87
	/**
91
	/**
88
	 * Fusionne un tableau de sortie par défaut avec le tableau passé en paramêtre.
92
	 * Fusionne un tableau de sortie par défaut avec le tableau passé en paramêtre.
89
	 * @param array le tableau à fusionner
93
	 * @param array le tableau à fusionner
90
	 */
94
	 */
91
	private function fusionnerSortie($sortie) {
95
	private function fusionnerSortie($nouvelleSortie) {
-
 
96
		$sortieActuelle = $this->getSortie();
-
 
97
		foreach ($nouvelleSortie as $position => $nouveauContenu) {
-
 
98
			if ($nouveauContenu != '') {
-
 
99
				$contenuPrecedent = isset($sortieActuelle[$position]) ? $sortieActuelle[$position] : null;
-
 
100
				if ($nouveauContenu != $contenuPrecedent) {
-
 
101
					$this->setSortie($position, $nouveauContenu, true);
-
 
102
				}
-
 
103
			}
92
		$this->sortie = array_merge($this->sortie, $sortie);
104
		}
Line 93... Line 105...
93
	}
105
	}
94
 
106
 
95
	/**
107
	/**
96
	 * Execute l'action d'un module donnée et fusionne le résultat avec le tableau de sortie.
108
	 * Execute l'action d'un module donnée et fusionne le résultat avec le tableau de sortie.
97
	 * Permet à une action d'un module donnée de charger le résultat d'une autre action de module.
109
	 * Permet à une action d'un module donnée de charger le résultat d'une autre action de module.
98
	 */
110
	 */
-
 
111
	protected function executerAction($ClasseModule, $action) {
99
	protected function executerAction($ClasseModule, $action) {
112
		$module = new $ClasseModule();
-
 
113
		$sortiePrecedente = $this->getSortie();
100
		$module = new $ClasseModule();
114
		$module->$action();
101
		$module->$action();
-
 
102
		$this->fusionnerSortie($module->getSortie());
115
		$nouvelleSortie = $module->getSortie();
Line 103... Line 116...
103
		
116
		$this->fusionnerSortie($nouvelleSortie);
104
	}
117
	}
105
	
118