49,7 → 49,11 |
protected function setSortie($position, $contenu, $fusionner = false) { |
if ($this->verifierExistenceTypeSortie($position)) { |
if ($fusionner) { |
$this->sortie[$position] .= $contenu; |
if (isset($this->sortie[$position])) { |
$this->sortie[$position] .= $contenu; |
} else { |
$this->sortie[$position] = $contenu; |
} |
} else { |
$this->sortie[$position] = $contenu; |
} |
88,8 → 92,16 |
* Fusionne un tableau de sortie par défaut avec le tableau passé en paramêtre. |
* @param array le tableau à fusionner |
*/ |
private function fusionnerSortie($sortie) { |
$this->sortie = array_merge($this->sortie, $sortie); |
private function fusionnerSortie($nouvelleSortie) { |
$sortieActuelle = $this->getSortie(); |
foreach ($nouvelleSortie as $position => $nouveauContenu) { |
if ($nouveauContenu != '') { |
$contenuPrecedent = isset($sortieActuelle[$position]) ? $sortieActuelle[$position] : null; |
if ($nouveauContenu != $contenuPrecedent) { |
$this->setSortie($position, $nouveauContenu, true); |
} |
} |
} |
} |
|
/** |
98,9 → 110,10 |
*/ |
protected function executerAction($ClasseModule, $action) { |
$module = new $ClasseModule(); |
$sortiePrecedente = $this->getSortie(); |
$module->$action(); |
$this->fusionnerSortie($module->getSortie()); |
|
$nouvelleSortie = $module->getSortie(); |
$this->fusionnerSortie($nouvelleSortie); |
} |
|
//+------------------------------------------------------------------------------------------------------+ |