Subversion Repositories eFlore/Applications.cel

Rev

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

Rev 1651 Rev 1656
Line 10... Line 10...
10
 
10
 
11
/**
11
/**
12
 * Service d'import de données d'observation du CEL au format XLS
12
 * Service d'import de données d'observation du CEL au format XLS
13
 *
13
 *
14
 * Sont define()'d commme n° de colonne tous les abbrevs retournés par
14
 * Sont define()'d commme n° de colonne tous les abbrevs retournés par
15
 * ExportXLS::nomEnsembleVersListeColonnes() préfixés par C_  cf: detectionEntete()
15
 * FormateurGroupeColonne::nomEnsembleVersListeColonnes() préfixés par C_  cf: detectionEntete()
16
 *
16
 *
17
 * Exemple d'un test:
17
 * Exemple d'un test:
18
 * $ GET "/jrest/ExportXLS/22506?format=csv&range=*&limite=13" \
18
 * $ GET "/jrest/ExportXLS/22506?format=csv&range=*&limite=13" \
19
 *   | curl -F "upload=@-" -F utilisateur=22506 "/jrest/ImportXLS"
19
 *   | curl -F "upload=@-" -F utilisateur=22506 "/jrest/ImportXLS"
Line 26... Line 26...
26
// TERM
26
// TERM
27
error_reporting(-1);
27
error_reporting(-1);
28
ini_set('html_errors', 0);
28
ini_set('html_errors', 0);
29
ini_set('xdebug.cli_color', 2);
29
ini_set('xdebug.cli_color', 2);
30
require_once('lib/PHPExcel/Classes/PHPExcel.php');
30
require_once('lib/PHPExcel/Classes/PHPExcel.php');
31
require_once('ExportXLS.php');
31
require_once('FormateurGroupeColonne.php');
Line 32... Line 32...
32
 
32
 
Line 33... Line 33...
33
 
33
 
Line 289... Line 289...
289
		die("$summary");
289
		die("$summary");
290
	}
290
	}
Line 291... Line 291...
291
 
291
 
292
	static function detectionEntete($entete) {
292
	static function detectionEntete($entete) {
293
		$colonnes_reconnues = Array();
293
		$colonnes_reconnues = Array();
294
		$cols = ExportXLS::nomEnsembleVersListeColonnes('standard');
294
		$cols = FormateurGroupeColonne::nomEnsembleVersListeColonnes('standard');
295
		foreach($entete as $k => $v) {
295
		foreach($entete as $k => $v) {
296
			$entete_simple = iconv('UTF-8', 'ASCII//TRANSLIT', strtolower(trim($v)));
296
			$entete_simple = iconv('UTF-8', 'ASCII//TRANSLIT', strtolower(trim($v)));
297
			foreach($cols as $col) {
297
			foreach($cols as $col) {
298
				$entete_officiel_simple = iconv('UTF-8', 'ASCII//TRANSLIT', strtolower(trim($col['nom'])));
298
				$entete_officiel_simple = iconv('UTF-8', 'ASCII//TRANSLIT', strtolower(trim($col['nom'])));
Line 310... Line 310...
310
 
310
 
311
		// eg: diff ( Array( H => Commune, I => rien ) , Array( H => 1, K => 1 )
311
		// eg: diff ( Array( H => Commune, I => rien ) , Array( H => 1, K => 1 )
312
		// ==> Array( I => rien )
312
		// ==> Array( I => rien )
Line 313... Line 313...
313
		$colonnesID_non_reconnues = array_diff_key($entete, $colonnes_reconnues);
313
		$colonnesID_non_reconnues = array_diff_key($entete, $colonnes_reconnues);
314
 
314
 
315
		// des colonnes de ExportXLS::nomEnsembleVersListeColonnes()
315
		// des colonnes de FormateurGroupeColonne::nomEnsembleVersListeColonnes()
Line 316... Line 316...
316
		// ne retient que celles marquées "importables"
316
		// ne retient que celles marquées "importables"
317
		$colonnes_automatiques = array_filter($cols, function($v) {	return !$v['importable']; });
317
		$colonnes_automatiques = array_filter($cols, function($v) {	return !$v['importable']; });