Subversion Repositories eFlore/Applications.cel

Rev

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

Rev 2251 Rev 2252
Line 131... Line 131...
131
	private function calculerNbLignesMaxParFichier($colonnes) {
131
	private function calculerNbLignesMaxParFichier($colonnes) {
132
		$limite = $this->limite_decoupage_defaut;		
132
		$limite = $this->limite_decoupage_defaut;		
133
		// TODO: gérer une réduction du nombre de ligne max différement suivant chaque colonne
133
		// TODO: gérer une réduction du nombre de ligne max différement suivant chaque colonne
134
		// demandée, car elles n'impactent pas toutes le temps de d'export de la même manière. 
134
		// demandée, car elles n'impactent pas toutes le temps de d'export de la même manière. 
135
		$facteur_reduction = count($colonnes) <= 2 ? 1 :  pow(0.85, count($colonnes) - 2);
135
		$facteur_reduction = count($colonnes) <= 2 ? 1 :  pow(0.85, count($colonnes) - 2);
136
		
136
				
137
		switch($this->format) {
137
		switch($this->format) {
138
			case 'csv':
138
			case 'csv':
139
				$limite = 20000;
139
				$limite = 20000;
140
				break;
140
				break;
141
			case 'xls':
141
			case 'xls':
Line 143... Line 143...
143
				break;
143
				break;
144
			case 'pdf':
144
			case 'pdf':
145
				$limite = 300;
145
				$limite = 300;
146
				break;
146
				break;
147
		}
147
		}
-
 
148
		
-
 
149
		$limite = floor($limite * $facteur_reduction);
-
 
150
		// précaution pour les données baseflor qui semblent très difficile à exporter par plus de 10000
-
 
151
		$limite = (in_array('baseflor', $colonnes) && $limite > 10000) ? 10000 : $limite;
Line 148... Line 152...
148
 
152
 
149
		return floor($limite * $facteur_reduction);
153
		return floor($limite * $facteur_reduction);
Line 150... Line 154...
150
	}
154
	}