Subversion Repositories eFlore/Applications.cel

Rev

Rev 1736 | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 1736 Rev 1741
Line 41... Line 41...
41
		"ve_mat_org_sol" => "Matière Organique",
41
		"ve_mat_org_sol" => "Matière Organique",
42
		"catminat_code" => "Code Catminat",
42
		"catminat_code" => "Code Catminat",
43
		"syntaxon" => "Syntaxon",
43
		"syntaxon" => "Syntaxon",
44
	);
44
	);
Line -... Line 45...
-
 
45
 
-
 
46
	// TODO: dirty, ordre des champs étendus... souhaité pour florilèges:
-
 
47
	static $ordre_champ_etendus_Florileges = array(
-
 
48
		"personneStructure",
-
 
49
		"personneService",
-
 
50
		"personneFonction",
-
 
51
		"adresse",
-
 
52
		"latitudeDebutRue",
-
 
53
		"longitudeDebutRue",
-
 
54
		"latitudeFinRue",
-
 
55
		"longitudeFinRue",
-
 
56
		"typoUrbaine",
-
 
57
		"revetementSol",
-
 
58
		"presenceZoneVegetalise",
-
 
59
		"hauteurBatimentAvoisinant",
-
 
60
		"intensiteGestion",
-
 
61
		"periodiciteTraitementPhyto",
-
 
62
		"dateArretTraitementPhyto",
-
 
63
		"itineraireGestion",
-
 
64
		"dateDerniereIntervention",
-
 
65
		"hauteurPlante",
-
 
66
		"resistanceTraitementPhyto",
-
 
67
		"vitesseCroissance",
-
 
68
		"perceptionTechnicien",
-
 
69
		"perceptionRiverainMauvaise",
-
 
70
	);
45
 
71
 
46
	static function colGroupsValidation($groupe_de_champs = 'standard,avance') {
72
	static function colGroupsValidation($groupe_de_champs = 'standard,avance') {
47
		if(! $groupe_de_champs) return FALSE;
73
		if(! $groupe_de_champs) return FALSE;
48
		if(is_string($groupe_de_champs)) {
74
		if(is_string($groupe_de_champs)) {
49
			$groupe_de_champs = array_flip(explode(',', $groupe_de_champs));
75
			$groupe_de_champs = array_flip(explode(',', $groupe_de_champs));
Line 575... Line 601...
575
	}
601
	}
Line 576... Line 602...
576
 
602
 
577
	static function champsEtendus_preload($cel, $obsids) {
603
	static function champsEtendus_preload($cel, $obsids) {
578
		$gestion_champs_etendus = new GestionChampsEtendus($cel->config, 'obs');
604
		$gestion_champs_etendus = new GestionChampsEtendus($cel->config, 'obs');
-
 
605
		$colonnes_champs_supp_par_obs = $gestion_champs_etendus->consulterClesParLots($obsids);
-
 
606
		// ces deux lignes réordonnent l'ordre des colonnes des champs étendus en fonction de l'ordre (très spécifique)
-
 
607
		// de self::$ordre_champ_etendus_Florileges, les champs non-mentionnés sont ajoutés à la fin.
-
 
608
		$colonnes_champs_supp_par_obs = self::sortArrayByArray(array_flip($colonnes_champs_supp_par_obs),
-
 
609
															   self::$ordre_champ_etendus_Florileges);
-
 
610
		$colonnes_champs_supp_par_obs = array_keys($colonnes_champs_supp_par_obs);
579
		$colonnes_champs_supp_par_obs = $gestion_champs_etendus->consulterClesParLots($obsids);
611
 
580
		// si le SELECT des clefs ne retourne rien, une autre requêtes est inutile
612
		// si le SELECT des clefs ne retourne rien, une autre requêtes est inutile
581
		// TODO: optimize, 1 seule requête
613
		// TODO: optimize, 1 seule requête
Line 582... Line 614...
582
		if(!$colonnes_champs_supp_par_obs) return Array('header' => array(), 'data' => array());
614
		if(!$colonnes_champs_supp_par_obs) return Array('header' => array(), 'data' => array());
-
 
615
 
583
 
616
		$champs_supp_par_obs = $gestion_champs_etendus->consulterParLots($obsids);
584
		$champs_supp_par_obs = $gestion_champs_etendus->consulterParLots($obsids);
617
 
585
		self::$cache['champsEtendus']['header'] = $colonnes_champs_supp_par_obs;
618
		self::$cache['champsEtendus']['header'] = $colonnes_champs_supp_par_obs;
586
		foreach($champs_supp_par_obs as &$v) {
619
		foreach($champs_supp_par_obs as &$v) {
587
			$v = self::champsEtendus_aplatir($v);
620
			$v = self::champsEtendus_aplatir($v);
Line 630... Line 663...
630
		}
663
		}
Line 631... Line 664...
631
 
664
 
632
		// XXX/ array_merge() ?
665
		// XXX/ array_merge() ?
633
		$ligne += $ligne_etendue_fmt;
666
		$ligne += $ligne_etendue_fmt;
-
 
667
	}
-
 
668
 
-
 
669
	/* HELPERS */
-
 
670
 
-
 
671
	// http://stackoverflow.com/questions/348410/sort-an-array-based-on-another-array
-
 
672
	// XXX; redéfinition, utilisé aussi par ExportXLS
-
 
673
	static function sortArrayByArray($array, $orderArray) {
-
 
674
		$ordered = array();
-
 
675
		foreach($orderArray as $key) {
-
 
676
			if(array_key_exists($key, $array)) {
-
 
677
				$ordered[$key] = $array[$key];
-
 
678
				unset($array[$key]);
-
 
679
			}
-
 
680
		}
-
 
681
		return $ordered + $array;
-
 
682
	}
634
	}
683