12,7 → 12,10 |
* @version SVN: $$Id: AdminAdministrateur.php 128 2009-09-02 12:20:55Z aurelien $$ |
*/ |
class Recherche extends Controleur { |
|
const RENDU_TETE = 'tete'; |
const RENDU_CORPS = 'corps'; |
const RENDU_PIED = 'pied'; |
private $sortie = array(); |
private $parametres = array(); |
private $url = null; |
|
22,20 → 25,45 |
$this->url = $this->parametres['url']; |
parent::__construct(); |
} |
//+----------------------------------------------------------------------------------------------------------------+ |
// Méthodes à refactoriser dans une classe mère |
/** |
* Fonction d'affichage par défaut, elle appelle la liste des administrateurs |
*/ |
public function executerActionParDefaut() { |
return $this->chargerMoteurRecherche(); |
return $this->rechercher(); |
} |
/** |
* Fonction d'affichage par défaut, elle appelle la liste des administrateurs |
*/ |
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 ($fusionner) { |
$this->sortie[$position] .= $contenu; |
} else { |
$this->sortie[$position] = $contenu; |
} |
} |
} |
public function getSortie() { |
return $this->sortie; |
} |
|
//+----------------------------------------------------------------------------------------------------------------+ |
// Méthodes |
/** |
* Charge le moteur de recherche et l'envoie à la vue. |
* @return string la vue correspondante |
*/ |
public function chargerMoteurRecherche() { |
$donnees = array(); |
|
// Gestion des données de la requête |
$donnees['recherche'] = (isset($_GET['recherche']) ? $_GET['recherche'] : ''); |
|
// Gestion de l'url |
$this->url->setVariableRequete('module', 'Recherche'); |
$this->url->setVariableRequete('action', 'rechercher'); |
43,12 → 71,8 |
$donnees['url_module'] = 'Recherche'; |
$donnees['url_action'] = 'rechercher'; |
|
// Gestion du squelette |
$this->chargerVue('moteur', $donnees); |
|
// Attribution des morceaux de HTML à la sortie |
$sortie['corps'] = $this->moteur; |
return $sortie; |
// Gestion du squelette et de la sortie |
$this->setSortie(self::RENDU_TETE, $this->getVue('moteur', $donnees)); |
} |
|
/** |
95,11 → 119,17 |
} |
|
// Gestion des squelettes |
$this->chargerVue('resultat', $donnees); |
$sortie_moteur = $this->chargerMoteurRecherche(); |
$this->chargerMoteurRecherche(); |
$resultat = $this->getVue('resultat', $donnees); |
$this->setSortie(self::RENDU_CORPS, $resultat); |
$this->chargerPiedDePage(); |
} |
|
// Attribution des morceaux de HTML à la sortie |
$sortie['corps'] = $sortie_moteur['corps'].$this->resultat; |
return $sortie; |
/** |
* Recherche des collections. |
* @return string la vue correspondante |
*/ |
public function chargerPiedDePage() { |
$this->setSortie(self::RENDU_PIED, $this->getVue('pied')); |
} |
} |