Subversion Repositories eFlore/Applications.cel

Rev

Rev 3256 | Rev 3260 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 3256 Rev 3257
Line 84... Line 84...
84
			$retour = $this->$methode();
84
			$retour = $this->$methode();
85
		} else {
85
		} else {
86
			$this->messages[] = "Ce type de service '$methode' n'est pas disponible.";
86
			$this->messages[] = "Ce type de service '$methode' n'est pas disponible.";
87
		}
87
		}
Line 88... Line 88...
88
 
88
 
89
		$contenu = '';
89
		$contenu = ''; //print_r($retour);exit;
90
		if (is_null($retour)) {
90
		if (is_null($retour)) {
91
			$this->messages[] = 'La ressource demandée a retourné une valeur nulle.';
91
			$this->messages[] = 'La ressource demandée a retourné une valeur nulle.';
92
		} else {
92
		} else {
93
			if (isset($retour['donnees'])) {
93
			if (isset($retour['donnees'])) {
Line 130... Line 130...
130
		$estProjetDefini = true;
130
		$estProjetDefini = true;
131
		$tab = array();
131
		$tab = array();
132
		$url = $this->config['manager']['celUrlTpl'].'?projet='.$this->parametres['projet'].'&langue='.$this->parametres['langue'];
132
		$url = $this->config['manager']['celUrlTpl'].'?projet='.$this->parametres['projet'].'&langue='.$this->parametres['langue'];
133
		$json = $this->getDao()->consulter($url);
133
		$json = $this->getDao()->consulter($url);
Line 134... Line 134...
134
 
134
 
135
		if ( $json ) {
135
		if ( $json !== "[]" ) {
136
			$tab = $this->rechercherChampsSupp();
136
			$tab = $this->rechercherChampsSupp();
137
		} else {
137
		} else {
138
			$url = $this->config['manager']['celUrlTpl'].'?projet=base&langue='.$this->parametres['langue'];
138
			$url = $this->config['manager']['celUrlTpl'].'?projet=base&langue='.$this->parametres['langue'];
139
			$json = $this->getDao()->consulter($url);
139
			$json = $this->getDao()->consulter($url);
Line 199... Line 199...
199
		$clean_string = preg_replace( $patterns, $replacements, $string );
199
		$clean_string = preg_replace( $patterns, $replacements, $string );
Line 200... Line 200...
200
 
200
 
201
		return $clean_string;
201
		return $clean_string;
Line 202... Line -...
202
	}
-
 
203
 
-
 
204
	private function remove_accents($string) {
-
 
205
		if ( !preg_match('/[\x80-\xff]/', $string) )
-
 
206
			return $string;
-
 
207
 
-
 
208
		$chars = array(
-
 
209
			// Decompositions for Latin-1 Supplement
-
 
210
			chr(195).chr(128) => 'A', chr(195).chr(129) => 'A',
-
 
211
			chr(195).chr(130) => 'A', chr(195).chr(131) => 'A',
-
 
212
			chr(195).chr(132) => 'A', chr(195).chr(133) => 'A',
-
 
213
			chr(195).chr(135) => 'C', chr(195).chr(136) => 'E',
-
 
214
			chr(195).chr(137) => 'E', chr(195).chr(138) => 'E',
-
 
215
			chr(195).chr(139) => 'E', chr(195).chr(140) => 'I',
-
 
216
			chr(195).chr(141) => 'I', chr(195).chr(142) => 'I',
-
 
217
			chr(195).chr(143) => 'I', chr(195).chr(145) => 'N',
-
 
218
			chr(195).chr(146) => 'O', chr(195).chr(147) => 'O',
-
 
219
			chr(195).chr(148) => 'O', chr(195).chr(149) => 'O',
-
 
220
			chr(195).chr(150) => 'O', chr(195).chr(153) => 'U',
-
 
221
			chr(195).chr(154) => 'U', chr(195).chr(155) => 'U',
-
 
222
			chr(195).chr(156) => 'U', chr(195).chr(157) => 'Y',
-
 
223
			chr(195).chr(159) => 's', chr(195).chr(160) => 'a',
-
 
224
			chr(195).chr(161) => 'a', chr(195).chr(162) => 'a',
-
 
225
			chr(195).chr(163) => 'a', chr(195).chr(164) => 'a',
-
 
226
			chr(195).chr(165) => 'a', chr(195).chr(167) => 'c',
-
 
227
			chr(195).chr(168) => 'e', chr(195).chr(169) => 'e',
-
 
228
			chr(195).chr(170) => 'e', chr(195).chr(171) => 'e',
-
 
229
			chr(195).chr(172) => 'i', chr(195).chr(173) => 'i',
-
 
230
			chr(195).chr(174) => 'i', chr(195).chr(175) => 'i',
-
 
231
			chr(195).chr(177) => 'n', chr(195).chr(178) => 'o',
-
 
232
			chr(195).chr(179) => 'o', chr(195).chr(180) => 'o',
-
 
233
			chr(195).chr(181) => 'o', chr(195).chr(182) => 'o',
-
 
234
			chr(195).chr(182) => 'o', chr(195).chr(185) => 'u',
-
 
235
			chr(195).chr(186) => 'u', chr(195).chr(187) => 'u',
-
 
236
			chr(195).chr(188) => 'u', chr(195).chr(189) => 'y',
-
 
237
			chr(195).chr(191) => 'y',
-
 
238
			// Decompositions for Latin Extended-A
-
 
239
			chr(196).chr(128) => 'A', chr(196).chr(129) => 'a',
-
 
240
			chr(196).chr(130) => 'A', chr(196).chr(131) => 'a',
-
 
241
			chr(196).chr(132) => 'A', chr(196).chr(133) => 'a',
-
 
242
			chr(196).chr(134) => 'C', chr(196).chr(135) => 'c',
-
 
243
			chr(196).chr(136) => 'C', chr(196).chr(137) => 'c',
-
 
244
			chr(196).chr(138) => 'C', chr(196).chr(139) => 'c',
-
 
245
			chr(196).chr(140) => 'C', chr(196).chr(141) => 'c',
-
 
246
			chr(196).chr(142) => 'D', chr(196).chr(143) => 'd',
-
 
247
			chr(196).chr(144) => 'D', chr(196).chr(145) => 'd',
-
 
248
			chr(196).chr(146) => 'E', chr(196).chr(147) => 'e',
-
 
249
			chr(196).chr(148) => 'E', chr(196).chr(149) => 'e',
-
 
250
			chr(196).chr(150) => 'E', chr(196).chr(151) => 'e',
-
 
251
			chr(196).chr(152) => 'E', chr(196).chr(153) => 'e',
-
 
252
			chr(196).chr(154) => 'E', chr(196).chr(155) => 'e',
-
 
253
			chr(196).chr(156) => 'G', chr(196).chr(157) => 'g',
-
 
254
			chr(196).chr(158) => 'G', chr(196).chr(159) => 'g',
-
 
255
			chr(196).chr(160) => 'G', chr(196).chr(161) => 'g',
-
 
256
			chr(196).chr(162) => 'G', chr(196).chr(163) => 'g',
-
 
257
			chr(196).chr(164) => 'H', chr(196).chr(165) => 'h',
-
 
258
			chr(196).chr(166) => 'H', chr(196).chr(167) => 'h',
-
 
259
			chr(196).chr(168) => 'I', chr(196).chr(169) => 'i',
-
 
260
			chr(196).chr(170) => 'I', chr(196).chr(171) => 'i',
-
 
261
			chr(196).chr(172) => 'I', chr(196).chr(173) => 'i',
-
 
262
			chr(196).chr(174) => 'I', chr(196).chr(175) => 'i',
-
 
263
			chr(196).chr(176) => 'I', chr(196).chr(177) => 'i',
-
 
264
			chr(196).chr(178) => 'IJ',chr(196).chr(179) => 'ij',
-
 
265
			chr(196).chr(180) => 'J', chr(196).chr(181) => 'j',
-
 
266
			chr(196).chr(182) => 'K', chr(196).chr(183) => 'k',
-
 
267
			chr(196).chr(184) => 'k', chr(196).chr(185) => 'L',
-
 
268
			chr(196).chr(186) => 'l', chr(196).chr(187) => 'L',
-
 
269
			chr(196).chr(188) => 'l', chr(196).chr(189) => 'L',
-
 
270
			chr(196).chr(190) => 'l', chr(196).chr(191) => 'L',
-
 
271
			chr(197).chr(128) => 'l', chr(197).chr(129) => 'L',
-
 
272
			chr(197).chr(130) => 'l', chr(197).chr(131) => 'N',
-
 
273
			chr(197).chr(132) => 'n', chr(197).chr(133) => 'N',
-
 
274
			chr(197).chr(134) => 'n', chr(197).chr(135) => 'N',
-
 
275
			chr(197).chr(136) => 'n', chr(197).chr(137) => 'N',
-
 
276
			chr(197).chr(138) => 'n', chr(197).chr(139) => 'N',
-
 
277
			chr(197).chr(140) => 'O', chr(197).chr(141) => 'o',
-
 
278
			chr(197).chr(142) => 'O', chr(197).chr(143) => 'o',
-
 
279
			chr(197).chr(144) => 'O', chr(197).chr(145) => 'o',
-
 
280
			chr(197).chr(146) => 'OE',chr(197).chr(147) => 'oe',
-
 
281
			chr(197).chr(148) => 'R',chr(197).chr(149) => 'r',
-
 
282
			chr(197).chr(150) => 'R',chr(197).chr(151) => 'r',
-
 
283
			chr(197).chr(152) => 'R',chr(197).chr(153) => 'r',
-
 
284
			chr(197).chr(154) => 'S',chr(197).chr(155) => 's',
-
 
285
			chr(197).chr(156) => 'S',chr(197).chr(157) => 's',
-
 
286
			chr(197).chr(158) => 'S',chr(197).chr(159) => 's',
-
 
287
			chr(197).chr(160) => 'S', chr(197).chr(161) => 's',
-
 
288
			chr(197).chr(162) => 'T', chr(197).chr(163) => 't',
-
 
289
			chr(197).chr(164) => 'T', chr(197).chr(165) => 't',
-
 
290
			chr(197).chr(166) => 'T', chr(197).chr(167) => 't',
-
 
291
			chr(197).chr(168) => 'U', chr(197).chr(169) => 'u',
-
 
292
			chr(197).chr(170) => 'U', chr(197).chr(171) => 'u',
-
 
293
			chr(197).chr(172) => 'U', chr(197).chr(173) => 'u',
-
 
294
			chr(197).chr(174) => 'U', chr(197).chr(175) => 'u',
-
 
295
			chr(197).chr(176) => 'U', chr(197).chr(177) => 'u',
-
 
296
			chr(197).chr(178) => 'U', chr(197).chr(179) => 'u',
-
 
297
			chr(197).chr(180) => 'W', chr(197).chr(181) => 'w',
-
 
298
			chr(197).chr(182) => 'Y', chr(197).chr(183) => 'y',
-
 
299
			chr(197).chr(184) => 'Y', chr(197).chr(185) => 'Z',
-
 
300
			chr(197).chr(186) => 'z', chr(197).chr(187) => 'Z',
-
 
301
			chr(197).chr(188) => 'z', chr(197).chr(189) => 'Z',
-
 
Line 302... Line -...
302
			chr(197).chr(190) => 'z', chr(197).chr(191) => 's'
-
 
303
		);
-
 
304
 
-
 
305
		$string = strtr($string, $chars);
-
 
Line 306... Line 202...
306
 
202
	}
307
		return $string;
203
 
308
	}
204
 
309
 
205
 
Line 334... Line 230...
334
 
230
 
Line 335... Line 231...
335
		if ( isset( $infos_projets['type_especes'] ) ) {
231
		if ( isset( $infos_projets['type_especes'] ) ) {
336
 
232
 
337
			switch ( $infos_projets['type_especes'] ) {
233
			switch ( $infos_projets['type_especes'] ) {
338
				case 'fixe' :
234
				case 'fixe' :
339
					$retour['especes'] = $this->chargerInfosTaxon( $infos_projets['referentiel'], $infos_projets['especes'] );
235
					$retour = $this->chargerInfosTaxon( $infos_projets['referentiel'], $infos_projets['especes'] );
340
					break;
236
					break;
341
				case 'referentiel' :
237
				case 'referentiel' : break;
342
				case 'liste' :
238
				case 'liste' :
343
					$referentiel = $infos_projets['referentiel'];
239
					$referentiel = $infos_projets['referentiel'];
344
////////////////////// temporaire test transmission liste taxons
240
////////////////////// temporaire test transmission liste taxons
345
					$retour['taxons'] = $this->recupererListeNomsSci();
241
					$retour['taxons'] = $this->recupererListeNomsSci();
346
					break;
242
					break;
347
			}
243
			}
348
		} else if ( isset( $infos_projets['referentiel'] ) ) {
244
		} else if ( isset( $infos_projets['referentiel'] ) ) {
349
			$referentiel = $infos_projets['referentiel'];
245
			$referentiel = $infos_projets['referentiel'];
350
			if ( isset($infos_projets['num_nom'] ) ) {
246
			if ( isset($infos_projets['num_nom'] ) ) {
351
				$retour['especes'] = $this->chargerInfosTaxon( $infos_projets['referentiel'], $infos_projets['num_nom'] );
247
				$retour = $this->chargerInfosTaxon( $infos_projets['referentiel'], $infos_projets['num_nom'] );
352
			}
-
 
353
		}
-
 
354
 
-
 
355
		// $projetsAListeDeNoms = $this->transformerEnTableau( $this->config['projets']['liste_noms'] ) ;
-
 
356
		// if ( in_array( $this->parametres['projet'], $projetsAListeDeNoms ) && !$this->especeEstImposee() ) {
-
 
357
		// var_dump($this->parametres['projet']);
-
 
358
		// 	$projetsAListeDeNomsSciEtVerna = $this->transformerEnTableau( $this->config['projets']['liste_noms_sci_et_verna'] );
-
 
359
		// 	if ( in_array( $this->parametres['projet'], $projetsAListeDeNomsSciEtVerna ) ) {
-
 
360
		// 		$retour['taxons'] = $this->recupererListeNoms();
-
 
361
		// 	} else {
-
 
362
		// 		$retour['taxons'] = $this->recupererListeNomsSci();
-
 
363
		// 	}
248
			}
364
		// }
249
		}
Line 365... Line 250...
365
		return $retour;
250
		return $retour;
366
	}
251
	}
Line 470... Line 355...
470
	 */
355
	 */
471
	protected function recupererListeTaxon() {
356
	protected function recupererListeTaxon() {
472
		$taxons = array();
357
		$taxons = array();
473
		$langue_projet_url = ( isset ( $this->parametres['langue'] ) && $this->parametres['langue'] !== 'fr' ) ? '_' . $this->parametres['langue'] : '';
358
		$langue_projet_url = ( isset ( $this->parametres['langue'] ) && $this->parametres['langue'] !== 'fr' ) ? '_' . $this->parametres['langue'] : '';
474
		$chemin_images = dirname(__FILE__) . self::DS . '..' . self::DS . 'manager' . self::DS . 'squelettes' . self::DS . 'img' . self::DS . 'images_projets' . self::DS;
359
		$chemin_images = dirname(__FILE__) . self::DS . '..' . self::DS . 'manager' . self::DS . 'squelettes' . self::DS . 'img' . self::DS . 'images_projets' . self::DS;
475
		if ( $this->parametres['projet'] == 'missions-flore' ) {
-
 
476
			// chemin temporaire à modifier une fois réorganisés avec le nouveau widget
-
 
477
			// $fichier_csv = $chemin_images . $this->parametres['projet'] . '_'.$this->mission . $langue_projet_url . '/especes.csv';
-
 
478
			$fichier_csv = dirname(__FILE__).self::DS.'configurations'.self::DS.$this->parametres['projet'].'_'.$this->mission.'_taxons.tsv';
-
 
479
		} else {
-
 
480
			$fichier_csv = $chemin_images . $this->parametres['projet'] . $langue_projet_url . self::DS . 'especes.csv'; ;
360
		$fichier_csv = $chemin_images . $this->parametres['projet'] . $langue_projet_url . self::DS . 'especes.csv'; ;
481
		}
361
 
482
		if ( file_exists( $fichier_csv ) && is_readable( $fichier_csv ) ) {
362
		if ( file_exists( $fichier_csv ) && is_readable( $fichier_csv ) ) {
483
			$taxons = $this->decomposerFichierCsv( $fichier_csv );
363
			$taxons = $this->decomposerFichierCsv( $fichier_csv );
484
		} else {
364
		} else {
485
			$this->debug[] = "Impossible d'ouvrir le fichier '$fichier_csv'.";
365
			$this->debug[] = "Impossible d'ouvrir le fichier '$fichier_csv'.";
486
		}
366
		}
Line 541... Line 421...
541
			$tableauJs = implode(',', $dimensions);
421
			$tableauJs = implode(',', $dimensions);
542
		}
422
		}
543
		return $tableauJs;
423
		return $tableauJs;
544
	}
424
	}
Line -... Line 425...
-
 
425
 
-
 
426
	private function remove_accents($string) {
-
 
427
	    if ( !preg_match('/[\x80-\xff]/', $string) )
-
 
428
	        return $string;
-
 
429
	        
-
 
430
	        $chars = array(
-
 
431
	            // Decompositions for Latin-1 Supplement
-
 
432
	            chr(195).chr(128) => 'A', chr(195).chr(129) => 'A',
-
 
433
	            chr(195).chr(130) => 'A', chr(195).chr(131) => 'A',
-
 
434
	            chr(195).chr(132) => 'A', chr(195).chr(133) => 'A',
-
 
435
	            chr(195).chr(135) => 'C', chr(195).chr(136) => 'E',
-
 
436
	            chr(195).chr(137) => 'E', chr(195).chr(138) => 'E',
-
 
437
	            chr(195).chr(139) => 'E', chr(195).chr(140) => 'I',
-
 
438
	            chr(195).chr(141) => 'I', chr(195).chr(142) => 'I',
-
 
439
	            chr(195).chr(143) => 'I', chr(195).chr(145) => 'N',
-
 
440
	            chr(195).chr(146) => 'O', chr(195).chr(147) => 'O',
-
 
441
	            chr(195).chr(148) => 'O', chr(195).chr(149) => 'O',
-
 
442
	            chr(195).chr(150) => 'O', chr(195).chr(153) => 'U',
-
 
443
	            chr(195).chr(154) => 'U', chr(195).chr(155) => 'U',
-
 
444
	            chr(195).chr(156) => 'U', chr(195).chr(157) => 'Y',
-
 
445
	            chr(195).chr(159) => 's', chr(195).chr(160) => 'a',
-
 
446
	            chr(195).chr(161) => 'a', chr(195).chr(162) => 'a',
-
 
447
	            chr(195).chr(163) => 'a', chr(195).chr(164) => 'a',
-
 
448
	            chr(195).chr(165) => 'a', chr(195).chr(167) => 'c',
-
 
449
	            chr(195).chr(168) => 'e', chr(195).chr(169) => 'e',
-
 
450
	            chr(195).chr(170) => 'e', chr(195).chr(171) => 'e',
-
 
451
	            chr(195).chr(172) => 'i', chr(195).chr(173) => 'i',
-
 
452
	            chr(195).chr(174) => 'i', chr(195).chr(175) => 'i',
-
 
453
	            chr(195).chr(177) => 'n', chr(195).chr(178) => 'o',
-
 
454
	            chr(195).chr(179) => 'o', chr(195).chr(180) => 'o',
-
 
455
	            chr(195).chr(181) => 'o', chr(195).chr(182) => 'o',
-
 
456
	            chr(195).chr(182) => 'o', chr(195).chr(185) => 'u',
-
 
457
	            chr(195).chr(186) => 'u', chr(195).chr(187) => 'u',
-
 
458
	            chr(195).chr(188) => 'u', chr(195).chr(189) => 'y',
-
 
459
	            chr(195).chr(191) => 'y',
-
 
460
	            // Decompositions for Latin Extended-A
-
 
461
	            chr(196).chr(128) => 'A', chr(196).chr(129) => 'a',
-
 
462
	            chr(196).chr(130) => 'A', chr(196).chr(131) => 'a',
-
 
463
	            chr(196).chr(132) => 'A', chr(196).chr(133) => 'a',
-
 
464
	            chr(196).chr(134) => 'C', chr(196).chr(135) => 'c',
-
 
465
	            chr(196).chr(136) => 'C', chr(196).chr(137) => 'c',
-
 
466
	            chr(196).chr(138) => 'C', chr(196).chr(139) => 'c',
-
 
467
	            chr(196).chr(140) => 'C', chr(196).chr(141) => 'c',
-
 
468
	            chr(196).chr(142) => 'D', chr(196).chr(143) => 'd',
-
 
469
	            chr(196).chr(144) => 'D', chr(196).chr(145) => 'd',
-
 
470
	            chr(196).chr(146) => 'E', chr(196).chr(147) => 'e',
-
 
471
	            chr(196).chr(148) => 'E', chr(196).chr(149) => 'e',
-
 
472
	            chr(196).chr(150) => 'E', chr(196).chr(151) => 'e',
-
 
473
	            chr(196).chr(152) => 'E', chr(196).chr(153) => 'e',
-
 
474
	            chr(196).chr(154) => 'E', chr(196).chr(155) => 'e',
-
 
475
	            chr(196).chr(156) => 'G', chr(196).chr(157) => 'g',
-
 
476
	            chr(196).chr(158) => 'G', chr(196).chr(159) => 'g',
-
 
477
	            chr(196).chr(160) => 'G', chr(196).chr(161) => 'g',
-
 
478
	            chr(196).chr(162) => 'G', chr(196).chr(163) => 'g',
-
 
479
	            chr(196).chr(164) => 'H', chr(196).chr(165) => 'h',
-
 
480
	            chr(196).chr(166) => 'H', chr(196).chr(167) => 'h',
-
 
481
	            chr(196).chr(168) => 'I', chr(196).chr(169) => 'i',
-
 
482
	            chr(196).chr(170) => 'I', chr(196).chr(171) => 'i',
-
 
483
	            chr(196).chr(172) => 'I', chr(196).chr(173) => 'i',
-
 
484
	            chr(196).chr(174) => 'I', chr(196).chr(175) => 'i',
-
 
485
	            chr(196).chr(176) => 'I', chr(196).chr(177) => 'i',
-
 
486
	            chr(196).chr(178) => 'IJ',chr(196).chr(179) => 'ij',
-
 
487
	            chr(196).chr(180) => 'J', chr(196).chr(181) => 'j',
-
 
488
	            chr(196).chr(182) => 'K', chr(196).chr(183) => 'k',
-
 
489
	            chr(196).chr(184) => 'k', chr(196).chr(185) => 'L',
-
 
490
	            chr(196).chr(186) => 'l', chr(196).chr(187) => 'L',
-
 
491
	            chr(196).chr(188) => 'l', chr(196).chr(189) => 'L',
-
 
492
	            chr(196).chr(190) => 'l', chr(196).chr(191) => 'L',
-
 
493
	            chr(197).chr(128) => 'l', chr(197).chr(129) => 'L',
-
 
494
	            chr(197).chr(130) => 'l', chr(197).chr(131) => 'N',
-
 
495
	            chr(197).chr(132) => 'n', chr(197).chr(133) => 'N',
-
 
496
	            chr(197).chr(134) => 'n', chr(197).chr(135) => 'N',
-
 
497
	            chr(197).chr(136) => 'n', chr(197).chr(137) => 'N',
-
 
498
	            chr(197).chr(138) => 'n', chr(197).chr(139) => 'N',
-
 
499
	            chr(197).chr(140) => 'O', chr(197).chr(141) => 'o',
-
 
500
	            chr(197).chr(142) => 'O', chr(197).chr(143) => 'o',
-
 
501
	            chr(197).chr(144) => 'O', chr(197).chr(145) => 'o',
-
 
502
	            chr(197).chr(146) => 'OE',chr(197).chr(147) => 'oe',
-
 
503
	            chr(197).chr(148) => 'R',chr(197).chr(149) => 'r',
-
 
504
	            chr(197).chr(150) => 'R',chr(197).chr(151) => 'r',
-
 
505
	            chr(197).chr(152) => 'R',chr(197).chr(153) => 'r',
-
 
506
	            chr(197).chr(154) => 'S',chr(197).chr(155) => 's',
-
 
507
	            chr(197).chr(156) => 'S',chr(197).chr(157) => 's',
-
 
508
	            chr(197).chr(158) => 'S',chr(197).chr(159) => 's',
-
 
509
	            chr(197).chr(160) => 'S', chr(197).chr(161) => 's',
-
 
510
	            chr(197).chr(162) => 'T', chr(197).chr(163) => 't',
-
 
511
	            chr(197).chr(164) => 'T', chr(197).chr(165) => 't',
-
 
512
	            chr(197).chr(166) => 'T', chr(197).chr(167) => 't',
-
 
513
	            chr(197).chr(168) => 'U', chr(197).chr(169) => 'u',
-
 
514
	            chr(197).chr(170) => 'U', chr(197).chr(171) => 'u',
-
 
515
	            chr(197).chr(172) => 'U', chr(197).chr(173) => 'u',
-
 
516
	            chr(197).chr(174) => 'U', chr(197).chr(175) => 'u',
-
 
517
	            chr(197).chr(176) => 'U', chr(197).chr(177) => 'u',
-
 
518
	            chr(197).chr(178) => 'U', chr(197).chr(179) => 'u',
-
 
519
	            chr(197).chr(180) => 'W', chr(197).chr(181) => 'w',
-
 
520
	            chr(197).chr(182) => 'Y', chr(197).chr(183) => 'y',
-
 
521
	            chr(197).chr(184) => 'Y', chr(197).chr(185) => 'Z',
-
 
522
	            chr(197).chr(186) => 'z', chr(197).chr(187) => 'Z',
-
 
523
	            chr(197).chr(188) => 'z', chr(197).chr(189) => 'Z',
-
 
524
	            chr(197).chr(190) => 'z', chr(197).chr(191) => 's'
-
 
525
	        );
-
 
526
	        
-
 
527
	        $string = strtr($string, $chars);
-
 
528
	        
-
 
529
	        return $string;
545
 
530
	}
546
}
531
}