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; |
} |
} |