Subversion Repositories eFlore/Applications.eflore-consultation

Rev

Rev 1210 | Blame | Compare with Previous | Last modification | View Log | RSS feed

<?php
class AppUrls {
        private $urlBase = null;
        private $urlMobile = null;
        private $urlBaseDossier = null;
        private $urlCourante = null;
        private $urlRedirection = null;
        private $urlPopUp = null;

        public function __construct(Url $urlBase = null, Url $urlBaseDossier = null, Url $urlPopUp = null, Url $urlMobile = null) {
                $this->urlBase = (is_null($urlBase)) ? Registre::get('eFlore.urlBase') : $urlBase;
                $this->urlBaseDossier = (is_null($urlBaseDossier)) ? Registre::get('eFlore.urlBaseDossier') : $urlBaseDossier;
                $this->urlPopUp = (is_null($urlPopUp)) ? Registre::get('eFlore.urlPopUp') : $urlPopUp;
                $this->urlMobileTpl = (is_null($urlMobile)) ? Registre::get('eFlore.urlMobileTpl') : $urlMobile;
        }

        public function obtenirUrlBase() {
                $this->urlBase->setRequete(array());
                $url = $this->urlBase->getURL();
                return $url;
        }

        public function obtenirUrlBaseDossier() {
                $this->urlBaseDossier->setRequete(array());
                $url = $this->urlBaseDossier->getURL();
                return $url;
        }

        public function redirigerVers($url) {
                $url = str_replace('&amp;', '&', $url);
                header("Location: $url");
        }

        public function getParametresUrlListe() {
                $parametres = array(
                        'referentiel' => Registre::get('parametres.referentiel'),
                        'module' => 'liste',
                        'action' => 'liste',
                        'rang' => $this->rang,
                        'lettre' => $this->lettre
                );
                return $parametres;
        }

        public function obtenirUrlListeFamille() {
                $parametres = $this->getParametresUrlListe();
                $parametres['rang'] = 'F';
                $this->urlBase->setRequete($parametres);
                $url = $this->urlBase->getURL();
                return $url;
        }

        public function obtenirUrlListeGenre() {
                $parametres = $this->getParametresUrlListe();
                $parametres['rang'] = 'G';
                $this->urlBase->setRequete($parametres);
                $url = $this->urlBase->getURL();
                return $url;
        }

        public function getParametresUrlRecherche() {
                $parametres = array(
                        'referentiel' => Registre::get('parametres.referentiel'),
                        'module' => 'recherche',
                        'action' => 'rechercheSimple',
                        'submit' => 'Rechercher'
                );
                return $parametres;
        }

        public function obtenirUrlRechercheSimple($nom = null, $type = 'nom_scientifique') {
                $parametres = $this->getParametresUrlRecherche();
                $parametres['type_nom'] = $type;
                $parametres['nom'] = $nom;
                $this->urlBase->setRequete($parametres);
                $url = $this->urlBase->getURL();
                return $url;
        }

        public function getParametresUrlRechercheAvancee() {
                $parametres = array(
                        'referentiel' => Registre::get('parametres.referentiel'),
                        'niveau' => Registre::get('parametres.niveau'),
                        'module' => 'recherche',
                        'action' => 'rechercheAvancee',
                        'type_nom' => 'nom_scientifique'
                );
                return $parametres;
        }

        public function obtenirUrlResultat($typeResultat, $params = array()) {
                $parametres = $this->getParametresUrlResultat();
                $parametres['resultat'] = $typeResultat;
                $parametres = array_merge($parametres, $params);
                $this->urlBase->setRequete($parametres);
                $url = $this->urlBase->getURL();
                return $url;
        }

        public function obtenirUrlResultatAvanceOnglets($onglet, $params = array()) {
                $parametres = $this->getParametresUrlRechercheAvancee();
                $parametres['resultat'] = $onglet;
                $parametres = array_merge($parametres, $params);
                $this->urlBase->setRequete($parametres);
                $url = $this->urlBase->getURL();
                return $url;
        }

        public function obtenirUrlRechercheAvancee($params = array()) {
                $parametres = $this->getParametresUrlRechercheAvancee();
                $parametres = array_merge($parametres,$params);
                $this->urlBase->setRequete($parametres);
                $url = $this->urlBase->getURL();
                return $url;
        }

        public function getParametresUrlResultat() {
                $parametres = array(
                        'referentiel' => Registre::get('parametres.referentiel'),
                        'module' => 'recherche',
                        'niveau' => Registre::get('parametres.niveau'),
                        'action' => Registre::get('parametres.action'),
                        'submit' => 'Rechercher',
                        'type_nom' => isset($_GET['type_nom']) ? $_GET['type_nom'] : 'nom_scientifique',
                        'nom' => isset($_GET['nom']) ? $_GET['nom'] : ''
                );
                return $parametres;
        }

        /*public function obtenirUrlResultatDetermination() {
                $parametres = $this->getParametresUrlResultat();
                $parametres['resultat'] = 'determination';
                $this->urlBase->setRequete($parametres);
                $url = $this->urlBase->getURL();
                return $url;
        }

        public function obtenirUrlResultatAlphab() {
                $parametres = $this->getParametresUrlResultat();
                $parametres['resultat'] = 'alphab';
                $this->urlBase->setRequete($parametres);
                $url = $this->urlBase->getURL();
                return $url;
        }

        public function obtenirUrlResultatRetenu() {
                $parametres = $this->getParametresUrlResultat();
                $parametres['resultat'] = 'retenu';
                $this->urlBase->setRequete($parametres);
                $url = $this->urlBase->getURL();
                return $url;
        }

        public function obtenirUrlResultatDecompo() {
                $parametres = $this->getParametresUrlResultat();
                $parametres['resultat'] = 'decompo';
                $this->urlBase->setRequete($parametres);
                $url = $this->urlBase->getURL();
                return $url;
        }*/

        public function getParametresUrlFiche() {
                $parametres = array(
                        'referentiel' => Registre::get('parametres.referentiel'),
                        'niveau' => Registre::get('parametres.niveau'),
                        'module' => 'fiche',
                        'action' => 'fiche'
                );
                return $parametres;
        }

        public function obtenirUrlFiche($numNom, $type_nom = 'nom_vernaculaire', $nom = '') {
                $parametres = $this->getParametresUrlFiche();
                $parametres['num_nom'] = $numNom;
                $parametres['type_nom'] = $type_nom;
                $parametres['nom'] = $nom;
                $this->urlBase->setRequete($parametres);
                $url = $this->urlBase->getURL();
                return $url;
        }

        public function obtenirUrlMobile($numNom) {
                $parametres = array(
                        'referentiel' => Registre::get('parametres.referentiel'),
                        'num_nom' => $numNom
                );
                $urlMobile = $this->urlMobileTpl;
                foreach ($parametres as $cle => $val) {
                        $urlMobile = str_replace('{'.$cle.'}', rawurlencode($val), $urlMobile);
                }
                return $urlMobile;
        }

        public function getParametresUrlMetaDonnees() {
                $parametres = array(
                        'module' => 'fiche-metadonnees',
                        'action' => 'affichageMetaDonnees'
                );
                return $parametres;
        }

        public function obtenirUrlMetaDonnees($projet) {
                $parametres = $this->getParametresUrlMetaDonnees();
                $parametres['projet'] = $projet;
                $this->urlBase->setRequete($parametres);
                $url = $this->urlBase->getURL();
                return $url;
        }


        public function getParametresUrlListeFancyBoxPhytosocio() {
                $parametres = array(
                        'module' => 'liste-fancy-box-phytosocio',
                        'action' => 'lister'
                );
                return $parametres;
        }

        public function obtenirUrlListeFancyBoxPhytosocio($liste,$referentiel,$num_nom, $catminat) {
                $parametres = $this->getParametresUrlListeFancyBoxPhytosocio();
                $parametres['type'] = $liste;
                $parametres['referentiel'] = $referentiel;
                $parametres['num_nom'] = $num_nom;
                $parametres['catminat'] = $catminat;
                $this->urlBase->setRequete($parametres);
                $url = $this->urlBase->getURL();
                return $url;
        }

        public function getParametresUrlPopUpIllustrations() {
                $parametres = array(
                        'module' => 'popup-illustrations',
                        'action' => 'fiche',
                        'referentiel' => Registre::get('parametres.referentiel')
                );
                return $parametres;
        }

        public function obtenirUrlPopUpIllustrations($idImg) {
                $parametres = $this->getParametresUrlPopUpIllustrations();
                $parametres['id'] = $idImg;
                $this->urlPopUp->setRequete($parametres);
                $url = $this->urlPopUp->getURL();
                return $url;
        }

        public function getParametresPdfExport() {
                $parametres = array(
                        'referentiel' => Registre::get('parametres.referentiel'),
                        'niveau' => Registre::get('parametres.niveau'),
                        'module' => 'pdf-export',
                        'action' => 'pdf-export'
                );
                return $parametres;
        }


        public function obtenirUrlPdfExport($numNom) {
                $parametres = $this->getParametresPdfExport();
                $parametres['num_nom'] = $numNom;
                $this->urlBase->setRequete($parametres);
                $url = $this->urlBase->getURL();
                return $url;
        }

        public function getParametresUrlPopUpContact($action) {
                $action = is_null($action) ? 'form' : $action;
                $parametres = array(
                        'module' => 'popup-contact',
                        'action' => $action,
                        'referentiel' => Registre::get('parametres.referentiel')
                );
                return $parametres;
        }

        public function obtenirUrlPopUpContact($idDestinataire, $idImage, $action = null) {
                $parametres = $this->getParametresUrlPopUpContact($action);
                $parametres['id_destinataire'] = $idDestinataire;
                $parametres['id_img'] = $idImage;
                $this->urlPopUp->setRequete($parametres);
                $url = $this->urlPopUp->getURL();
                return $url;
        }
        
        public function obtenirUrlMauvaiseIdentification($idObs) {
                $tpl = Config::get('urlMauvaiseIdentificationTpl');
                $url = sprintf($tpl, $idObs);
                return $url;
        }
        
        public function obtenirUrlProfilAnnuaire($idUtilisateur) {
                $tpl = Config::get('baseUrlProfilAnnuaireTpl');
                $url = sprintf($tpl, $idUtilisateur);
                return $url;
        }
}
?>