Subversion Repositories eFlore/Applications.coel-consultation

Compare Revisions

Ignore whitespace Rev 10 → Rev 11

/trunk/bibliotheque/noyau/ColControleur.php
11,7 → 11,7
* @license http://www.gnu.org/licenses/gpl.html Licence GNU-GPL
* @version SVN: $Id$
*/
abstract class ColControleur {
abstract class ColControleur extends Controleur {
 
const RENDU_TETE = 'tete';
const RENDU_CORPS = 'corps';
19,7 → 19,8
private $sortie = array();
private $parametres = array();
private $url = null;
// FIXME : voir s'il est plus intéressant d'utiliser une méthode dans les classes filles
protected $url = null;
public function __construct() {
$registre = Registre::getInstance();
29,14 → 30,10
}
/**
* Fonction d'affichage par défaut, elle appelle la liste des administrateurs
* Attribue à la bonne position de sortie un contenu.
*/
protected function setSortie($position, $contenu, $fusionner = false) {
if ($position != self::RENDU_TETE &&
$position != self::RENDU_CORPS &&
$position != self::RENDU_PIED) {
trigger_error("La position '$position' n'existe pas", E_USER_WARNING);
} else {
if ($this->verifierExistencePosition($position)) {
if ($fusionner) {
$this->sortie[$position] .= $contenu;
} else {
44,9 → 41,46
}
}
}
/**
* Vérifie l'existence de la position indiquée pour son utilisation dans le tableau de sortie.
* @param string la position à tester.
* @return bool true si la position est valide, sinon false.
*/
private function verifierExistencePosition($position) {
$existe = true;
if ($position != self::RENDU_TETE &&
$position != self::RENDU_CORPS &&
$position != self::RENDU_PIED) {
trigger_error("La position '$position' n'est pas une valeur prédéfinie.", E_USER_WARNING);
$existe = false;
}
return $existe;
}
/**
* Retourne le tableau de sortie à utiliser dans le controleur principal de l'application.
*/
public function getSortie() {
return $this->sortie;
}
 
/**
* Execute l'action d'un module donnée et fusionne le résultat avec le tableau de sortie.
*/
protected function executerAction($ClasseModule, $action) {
$module = new $ClasseModule();
$module->$action();
$this->fusionnerSortie($module->getSortie());
}
/**
* 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);
}
}