Subversion Repositories eFlore/Applications.eflore-consultation

Compare Revisions

Ignore whitespace Rev 60 → Rev 61

/trunk/controleurs/AppControleur.php
35,12 → 35,13
$sortie = array('titre' => '', 'description' => '', 'tags' => '',
'corps' => '', 'tete' => '', 'pied' => '',
'navigation' => '', 'menu' => '');
$url = new Url(Config::get('url_base_index'));
self::$parametres = array(
'referentiel' => Config::get('referentiel_defaut'),
'module' => Config::get('module_defaut'),
'action' => Config::get('action_defaut'),
'sortie' => $sortie,
'url' => $url);
'niveau' => Config::get('niveau_defaut'),
'sortie' => $sortie);
parent::__construct();
}
98,8 → 99,10
}
private static function initialiserRegistre() {
self::$parametres['url']->setRequete(array('action' => self::$parametres['action'], 'module' => self::$parametres['module']));
Registre::set('eflore.urlCourrante', &self::$parametres['url']);
Registre::set('eFlore.urlBase', new Url(Config::get('url_base_index')));
Registre::set('eFlore.urlCourante', self::getUrlCourante());
Registre::set('eFlore.urlRedirection', self::getUrlRedirection());
Registre::set('parametres.referentiel', &self::$parametres['referentiel']);
Registre::set('parametres.module', &self::$parametres['module']);
Registre::set('parametres.action', &self::$parametres['action']);
106,6 → 109,28
Registre::set('parametres.niveau', &self::$parametres['niveau']);
}
private static function getUrlCourante() {
$url = false;
if (isset($_SERVER['REQUEST_URI']) && !empty($_SERVER['QUERY_STRING'])) {
$url = $_SERVER['REQUEST_URI'].'?'.$_SERVER['QUERY_STRING'];
} else {
$url = $_SERVER['REQUEST_URI'];
}
return ($url) ? new Url($url) : $url;
}
private static function getUrlRedirection() {
$url = false;
if (isset($_SERVER['REDIRECT_URL']) && !empty($_SERVER['REDIRECT_URL'])) {
if (isset($_SERVER['REDIRECT_QUERY_STRING']) && !empty($_SERVER['REDIRECT_QUERY_STRING'])) {
$url = $_SERVER['REDIRECT_URL'].'?'.$_SERVER['REDIRECT_QUERY_STRING'];
} else {
$url = $_SERVER['REDIRECT_URL'];
}
}
return ($url) ? new Url($url) : $url;
}
private static function chargerClasse($nom_classe) {
$dossiers_classes = array(Config::get('chemin_modules').self::getNomDossierModuleCourrant().DS,
Config::get('chemin_modeles').'api_0.1'.DS);
/trunk/controleurs/aControleur.php
24,8 → 24,8
const RENDU_MENU = 'menu';
private $sortie = array();
private $parametres = array();
protected $url = null;
protected $urlBase = null;
protected $urlCourante = null;
public function __construct() {
$chemin = Config::get('chemin_modules').
32,11 → 32,17
AppControleur::getNomDossierDepuisClasse(get_class($this)).DS.
Config::get('dossier_squelettes').DS;
Registre::set('tbf.chemin_squelettes', $chemin);
$this->parametres = Registre::get('parametres');
$this->url = $this->parametres['url'];
$this->urlBase = Registre::get('eFlore.urlBase');
$this->urlCourante = Registre::get('eFlore.urlCourante');
$this->urlRedirection = Registre::get('eFlore.urlRedirection');
parent::__construct();
}
//+------------------------------------------------------------------------------------------------------+
// GESTION de l'AFFICHAGE en SORTIE
/**
* Attribue une position de sortie à un contenu.
*/
79,6 → 85,14
}
 
/**
* 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);
}
 
/**
* Execute l'action d'un module donnée et fusionne le résultat avec le tableau de sortie.
* Permet à une action d'un module donnée de charger le résultat d'une autre action de module.
*/
89,15 → 103,9
}
//+------------------------------------------------------------------------------------------------------+
// GESTION du VUES COMMUNES
/**
* 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);
}
/**
* Charge un squelette de vue depuis l'emplacement commune.
* @param String $tpl le nom du squelette à charger sans l'extenssion de fichier.
* @param Array $donnees les données à passer au squelette PHP.
143,16 → 151,60
$this->setSortie(self::RENDU_PIED, $this->getVueCommune('pied_page', $donnees));
}
protected function obtenirUrlRecherche($txt = null) {
$this->url->setRequete(false);
$this->url->setVariableRequete('module', 'Recherche');
$this->url->setVariableRequete('action', 'rechercher');
if (!is_null($txt)) {
$this->url->setVariableRequete('recherche', $txt);
//+------------------------------------------------------------------------------------------------------+
// GESTION du CHARGEMENT des CLASSES MÉTIERS
protected function getEfloreNoms() {
if (! isset($this->EfloreNoms)) {
$this->EfloreNoms = new Noms();
}
$url = $this->url->getURL();
$this->url->unsetVariablesRequete(array('module', 'action', 'recherche'));
return $this->EfloreNoms;
}
protected function getEfloreTaxons() {
if (! isset($this->EfloreTaxons)) {
$this->EfloreTaxons = new Taxons();
}
return $this->EfloreTaxons;
}
//+------------------------------------------------------------------------------------------------------+
// GESTION des URLs
protected function obtenirUrlBase() {
$url = $this->urlBase->getURL();
return $url;
}
private function getParametresUrlListe() {
$parametres = array(
'referentiel' => Registre::get('parametres.referentiel'),
'module' => 'liste',
'action' => 'liste',
'rang' => $this->rang,
'lettre' => $this->lettre
);
return $parametres;
}
protected function obtenirUrlListeFamille() {
$parametres = $this->getParametresUrlListe();
$parametres['rang'] = 'F';
$this->urlBase->setRequete($parametres);
$url = $this->urlBase->getURL();
return $url;
}
protected function obtenirUrlListeGenre() {
$parametres = $this->getParametresUrlListe();
$parametres['rang'] = 'G';
$this->urlBase->setRequete($parametres);
$url = $this->urlBase->getURL();
return $url;
}
protected function obtenirUrlRecherche($txt = null) {
// TODO : à revoir selon le modèle ci-dessus
return $url;
}
}
?>