Subversion Repositories eFlore/Applications.cel

Rev

Rev 1516 | Rev 1536 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 1516 Rev 1526
Line 82... Line 82...
82
			$this->debug[] = "Le fichier ini '$fichier_config' du projet n'existe pas.";
82
			$this->debug[] = "Le fichier ini '$fichier_config' du projet n'existe pas.";
83
		}
83
		}
84
	}
84
	}
Line 85... Line 85...
85
	
85
 
-
 
86
	private function chargerProjetsVersion() {
86
	private function chargerProjetsVersion() {
87
		if (isset($this->configProjet)) {
87
		foreach ($this->configProjet as $config => $valeur) {
88
			foreach ($this->configProjet as $config => $valeur) {
88
			if(strstr($config,'.version')) {
89
				if(strstr($config,'.version')) {
89
				$this->projetsVersions[str_replace('.version', '', $config)] = $valeur;
90
					$this->projetsVersions[str_replace('.version', '', $config)] = $valeur;
90
			}
91
				}
91
		}
92
			}
-
 
93
		}
Line 92... Line 94...
92
	}
94
	}
93
 
95
 
94
	public function executerWidget() {
96
	public function executerWidget() {
95
		$referentiel_impose = false;
97
		$referentiel_impose = false;
Line 107... Line 109...
107
		$widget['donnees']['logo'] = isset($_GET['logo']) ? $_GET['logo'] : 'defaut';
109
		$widget['donnees']['logo'] = isset($_GET['logo']) ? $_GET['logo'] : 'defaut';
108
		$widget['donnees']['titre'] = isset($_GET['titre']) ? $_GET['titre'] : 'defaut';
110
		$widget['donnees']['titre'] = isset($_GET['titre']) ? $_GET['titre'] : 'defaut';
109
		$widget['donnees']['titre'] = ($widget['donnees']['titre'] == '0') ? '' : $widget['donnees']['titre'];
111
		$widget['donnees']['titre'] = ($widget['donnees']['titre'] == '0') ? '' : $widget['donnees']['titre'];
Line 110... Line 112...
110
		
112
 
111
		// cas du projet par défaut ou bien d'un projet n'ayant pas de squelette spécifique
113
		// cas du projet par défaut ou bien d'un projet n'ayant pas de squelette spécifique
112
		if ($this->projet == 'defaut' || !$this->projetASquelette()) {
114
		if ($this->projet == 'defaut' || $this->projet == 'florileges' || !$this->projetASquelette()) {
113
			$urlWsNsTpl = $this->config['chemins']['baseURLServicesEfloreTpl'];
115
			$urlWsNsTpl = $this->config['chemins']['baseURLServicesEfloreTpl'];
114
			$urlWsNs = sprintf($urlWsNsTpl, self::EFLORE_API_VERSION, $this->NS_PROJET, self::WS_NOM);
116
			$urlWsNs = sprintf($urlWsNsTpl, self::EFLORE_API_VERSION, $this->NS_PROJET, self::WS_NOM);
115
			$urlWsNsSansRef = sprintf($urlWsNsTpl, self::EFLORE_API_VERSION, '{referentiel}', self::WS_NOM);
117
			$urlWsNsSansRef = sprintf($urlWsNsTpl, self::EFLORE_API_VERSION, '{referentiel}', self::WS_NOM);
116
			$widget['donnees']['url_ws_autocompletion_ns'] = $urlWsNs;
118
			$widget['donnees']['url_ws_autocompletion_ns'] = $urlWsNs;
117
			$widget['donnees']['url_ws_autocompletion_ns_tpl'] = $urlWsNsSansRef;
119
			$widget['donnees']['url_ws_autocompletion_ns_tpl'] = $urlWsNsSansRef;
118
			$widget['donnees']['ns_referentiel'] = $this->NS_PROJET.':'.$this->NS_PROJET_VERSION;
120
			$widget['donnees']['ns_referentiel'] = $this->NS_PROJET.':'.$this->NS_PROJET_VERSION;
119
			$widget['donnees']['ns_projet'] = $this->NS_PROJET;
121
			$widget['donnees']['ns_projet'] = $this->NS_PROJET;
120
			$widget['donnees']['ns_version'] = $this->NS_PROJET_VERSION;
122
			$widget['donnees']['ns_version'] = $this->NS_PROJET_VERSION;
121
			$widget['donnees']['referentiel_impose'] = $referentiel_impose;
123
			$widget['donnees']['referentiel_impose'] = $referentiel_impose;
122
			$widget['donnees']['projets_versions'] = $this->projetsVersions;
-
 
123
			if(self::especeEstImposee()) {
-
 
124
				$nom = self::executerChargementInfosTaxon($_GET['num_nom']);
-
 
125
				$widget['donnees']['espece_imposee'] = true;
-
 
126
				$widget['donnees']['nn_espece_defaut'] = $_GET['num_nom'];
-
 
127
				$widget['donnees']['nom_sci_espece_defaut'] = $nom['nom_sci'];
-
 
128
				$widget['donnees']['infos_espece'] = $this->array2js($nom, true);
-
 
129
			} else {
124
			$widget['donnees']['projets_versions'] = $this->projetsVersions;
130
				$widget['donnees']['espece_imposee'] = false;
125
			$widget['donnees']['espece_imposee'] = false;
131
				$widget['donnees']['nn_espece_defaut'] = '';
126
			$widget['donnees']['nn_espece_defaut'] = '';
132
				$widget['donnees']['nom_sci_espece_defaut'] = '';
127
			$widget['donnees']['nom_sci_espece_defaut'] = '';
-
 
128
			$widget['donnees']['infos_espece'] = array();
-
 
129
 
-
 
130
			if ($this->especeEstImposee()) {
-
 
131
				$nom = $this->executerChargementInfosTaxon($_GET['num_nom']);
-
 
132
				$widget['donnees']['espece_imposee'] = true;
-
 
133
				$widget['donnees']['nn_espece_defaut'] = $_GET['num_nom'];
-
 
134
				$widget['donnees']['nom_sci_espece_defaut'] = $nom['nom_sci'];
133
				$widget['donnees']['infos_espece'] = array();
135
				$widget['donnees']['infos_espece'] = $this->array2js($nom, true);
134
			}
136
			}
135
		} else {
137
		} else {
136
			$widget['donnees']['taxons'] = $this->recupererListeTaxon();
138
			$widget['donnees']['taxons'] = $this->recupererListeTaxon();
137
			$widget['donnees']['milieux'] = $this->parserMilieux();
139
			$widget['donnees']['milieux'] = $this->parserMilieux();
Line 301... Line 303...
301
	// si une image est en jpeg car le type renvoyé par les navigateurs
303
	// si une image est en jpeg car le type renvoyé par les navigateurs
302
	// peut varier (ex. sous ie qui renvoie image/pjpeg 
304
	// peut varier (ex. sous ie qui renvoie image/pjpeg
303
	private function verifierFormatJpeg($chemin) {
305
	private function verifierFormatJpeg($chemin) {
304
		// get imagesize renvoie un résultat consistant par contre
306
		// get imagesize renvoie un résultat consistant par contre
305
		$infos = getimagesize($chemin, $infos);
307
		$infos = getimagesize($chemin, $infos);
306
		return (isset($infos["mime"]) && $infos["mime"] == "image/jpeg");
308
		return (isset($infos['mime']) && $infos['mime'] == 'image/jpeg');
307
	}
309
	}
Line 308... Line 310...
308
	
310
 
309
	private function array2js($array,$show_keys)
-
 
310
    {
311
	private function array2js($array,$show_keys) {
311
        $dimensions = array();
312
		$dimensions = array();
Line 312... Line 313...
312
        $valeurs = array();
313
		$valeurs = array();
313
              
314
 
314
        $total = count ($array)-1;
315
		$total = count($array) - 1;
315
        $i=0;
316
		$i = 0;
316
        foreach($array as $key=>$value){
317
		foreach ($array as $key => $value) {
-
 
318
			if (is_array($value)) {
317
            if (is_array($value)) {
319
				$dimensions[$i] = array2js($value,$show_keys);
-
 
320
				if ($show_keys) {
318
                $dimensions[$i] = array2js($value,$show_keys);
321
					$dimensions[$i] = '"'.$key.'":'.$dimensions[$i];
319
                if ($show_keys) $dimensions[$i] = '"'.$key.'":'.$dimensions[$i];
322
				}
-
 
323
			} else {
320
            } else {
324
				$dimensions[$i] = '"'.addslashes($value).'"';
-
 
325
				if ($show_keys) {
-
 
326
					$dimensions[$i] = '"'.$key.'":'.$dimensions[$i];
-
 
327
				}
-
 
328
			}
-
 
329
			if ($i == 0) {
-
 
330
				$dimensions[$i] = '{'.$dimensions[$i];
-
 
331
			}
321
                $dimensions[$i] = '"'.addslashes($value).'"';
332
			if ($i == $total) {
322
                if ($show_keys) $dimensions[$i] = '"'.$key.'":'.$dimensions[$i];
-
 
323
            }
-
 
324
            if ($i==0) $dimensions[$i] = '{'.$dimensions[$i];
333
				$dimensions[$i].= '}';
325
            if ($i==$total) $dimensions[$i].= '}';
334
			}
326
            $i++;
335
			$i++;
327
        }
336
		}
328
        return implode(',',$dimensions);
337
		return implode(',',$dimensions);