Subversion Repositories Applications.referentiel

Compare Revisions

Ignore whitespace Rev 36 → Rev 37

/trunk/interfaces/controleurs/AppliControleur.php
16,6 → 16,8
const RENDU_TETE = 'tete';
const RENDU_CORPS = 'corps';
const RENDU_PIED = 'pied';
const RENDU_NAVIGATION = 'navigation';
const RENDU_MENU = 'menu';
// FIXME : voir s'il est plus intéressant d'utiliser une méthode dans les classes filles
protected $url = null;
84,7 → 86,9
$existe = true;
if ($position != self::RENDU_TETE &&
$position != self::RENDU_CORPS &&
$position != self::RENDU_PIED) {
$position != self::RENDU_PIED &&
$position != self::RENDU_NAVIGATION &&
$position != self::RENDU_MENU) {
trigger_error("La position '$position' n'est pas une valeur prédéfinie.", E_USER_WARNING);
$existe = false;
}
139,5 → 143,120
$txt = preg_replace('/&(?!([a-z]+|#[0-9]+|#x[0-9a-f]+);)/i', '&', $txt, -1);
return $txt;
}
/**
* Construction du menu et stockage dans le conteneur de sortie RENDU_MENU.
*
* @param string $referentiel code du référentiel.
*/
protected function construireMenu($referentiel) {
$menu['nom'] = 'Accueil';
$menu['url'] = $this->obtenirUrlMenuAccueil();
$donnees['menus'][] = $menu;
$menu['nom'] = 'Tests';
$menu['url'] = $this->obtenirUrlMenuTest($referentiel);
$donnees['menus'][] = $menu;
$menu['nom'] = 'Versionnage';
$menu['url'] = $this->obtenirUrlMenuVersionnage($referentiel);
$donnees['menus'][] = $menu;
$menu['nom'] = 'Consultation';
$menu['url'] = $this->obtenirUrlMenuConsultation($referentiel);
$donnees['menus'][] = $menu;
$this->setSortie(self::RENDU_MENU, $this->getVue('menu', $donnees), false);
}
/**
* Construction du fil d'ariane et stockage dans le conteneur de sortie RENDU_NAVIGATION.
*
* @param $referentiel code du référentiel
* @param $id_traitement id du traitement
* @param $id_resultat id du résultat
*/
protected function construireFilAriane($referentiel = null, $id_traitement = null, $id_resultat = null) {
$entree['nom'] = 'Accueil';
$entree['url'] = $this->obtenirUrlMenuAccueil();
$donnees['entrees'][] = $entree;
if (isset($referentiel)) {
$entree['nom'] = strtoupper($referentiel);
$entree['url'] = $this->obtenirUrlDetailReferentiel($referentiel);
$donnees['entrees'][] = $entree;
$module = Referentiel::getModule();
if ($module != 'Accueil') {
$entree['nom'] = $module;
$entree['url'] = $this->obtenirUrlMenu($module, $referentiel);
$donnees['entrees'][] = $entree;
}
if (isset($id_traitement)) {
$entree['nom'] = "Traitement #$id_traitement";
$entree['url'] = $this->obtenirUrlFicheTraitement($referentiel, $id_traitement);
$donnees['entrees'][] = $entree;
}
if (isset($id_resultat)) {
$entree['nom'] = "Résultat #$id_resultat";
$entree['url'] = $this->obtenirUrlFicheResultat($referentiel, $id_resultat);
$donnees['entrees'][] = $entree;
}
}
$this->setSortie(self::RENDU_NAVIGATION, $this->getVue('fil_ariane', $donnees), false);
}
protected function obtenirUrlDetailReferentiel($referentiel) {
$this->url->setRequete(false);
$this->url->setVariableRequete('module', 'Accueil');
$this->url->setVariableRequete('action', 'afficherDetail');
$this->url->setVariableRequete('ref', $referentiel);
$url = $this->url->getURL();
$this->url->unsetVariablesRequete(array('module', 'action', 'ref'));
return $url;
}
protected function obtenirUrlMenuAccueil() {
return $this->obtenirUrlMenu('Accueil');
}
protected function obtenirUrlMenuTest($referentiel) {
return $this->obtenirUrlMenu('Test', $referentiel);
}
protected function obtenirUrlMenuVersionnage($referentiel) {
return $this->obtenirUrlMenu('Versionnage', $referentiel);
}
protected function obtenirUrlMenuConsultation($referentiel) {
return $this->obtenirUrlMenu('Consultation', $referentiel);
}
private function obtenirUrlMenu($menu, $referentiel = null) {
$this->url->setRequete(false);
$this->url->setVariableRequete('module', $menu);
if (isset($referentiel)) {
$this->url->setVariableRequete('ref', $referentiel);
}
$url = $this->url->getURL();
$this->url->unsetVariablesRequete(array('module', 'ref'));
return $url;
}
protected function obtenirUrlFicheTraitement($referentiel, $id_traitement) {
$this->url->setRequete(false);
$this->url->setVariableRequete('module', 'Traitement');
$this->url->setVariableRequete('id-t', $id_traitement);
$this->url->setVariableRequete('ref', $referentiel);
$url = $this->url->getURL();
$this->url->unsetVariablesRequete(array('module', 'id-t', 'ref'));
return $url;
}
protected function obtenirUrlFicheResultat($referentiel, $id_resultat) {
$this->url->setRequete(false);
$this->url->setVariableRequete('module', 'Resultat');
$this->url->setVariableRequete('id-r', $id_resultat);
$this->url->setVariableRequete('ref', $referentiel);
$url = $this->url->getURL();
$this->url->unsetVariablesRequete(array('module', 'id-r', 'ref'));
return $url;
}
}