Subversion Repositories eFlore/Applications.cel

Rev

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

Rev 2666 Rev 2667
Line 326... Line 326...
326
		restore_error_handler();
326
		restore_error_handler();
Line 327... Line 327...
327
 
327
 
328
		if ($this->bilan) {
328
		if ($this->bilan) {
329
			$retour = array('import_erreurs' => implode("\n", $this->bilan) . "\n");
329
			$retour = array('import_erreurs' => implode("\n", $this->bilan) . "\n");
-
 
330
		} else {
-
 
331
			// le cast en string des nombres permet d'unifier le parsing du retour
330
		} else {
332
			// car il n'est destiné qu'à être affiché 
331
			$retour = array(
333
			$retour = array(
332
						'import_obs_ajoutees' => '"'.$obs_ajouts.'"',
334
						'import_obs_ajoutees' => (string)$obs_ajouts,
333
						'import_images_ajoutees' => '"'.$nb_images_ajoutees.'"',
335
						'import_images_ajoutees' => (string)$nb_images_ajoutees,
334
						'import_mots_cles_ajoutes' => '"'.$nb_mots_cle_ajoutes.'"',
336
						'import_mots_cles_ajoutes' => (string)$nb_mots_cle_ajoutes,
335
						'import_colonnes_non_traitees' => '"'.implode(', ', $filtre->exclues).'"'
337
						'import_colonnes_non_traitees' => implode(', ', $filtre->exclues)
336
					);
338
					);
337
		}
339
		}
338
		// le JSON ci-dessus est envoyé à la main car provenant d'une requête synchrone 
340
		// Dans le cas où le client ne sait pas lire le retour d'upload
339
		// certains navigateurs/plugins le modifient à la volée pour l'afficher (genre jsonView) 
341
		// on stocke les stats en session pour les appeler plus tard
-
 
342
		// car ceci peut poser notamment problème pour les requêtes CORS
-
 
343
		$_SESSION['upload_stats'] = $retour;
340
		// ce qui fait rater le parsing de la requete
344
		// On envoie quand même les stats pour les clients qui savent ou peuvent 
341
		header("Content-Type: text/html; charset=utf-8");
345
		// les lire directement après l'upload
342
		echo implode("###",$retour);
346
		$this->envoyerJson($retour);
343
		die();
347
		die();
-
 
348
	}
-
 
349
	
-
 
350
	public function getRessource() {
-
 
351
		return self::getStatsDernierUpload();
-
 
352
	}
-
 
353
	
-
 
354
	static function getStatsDernierUpload() {
-
 
355
		// renvoi des statistiques du dernier envoi de fichier
-
 
356
		$stats = !empty($_SESSION['upload_stats']) ? $_SESSION['upload_stats'] : null;
-
 
357
		header("Content-Type: application/json; charset=utf-8");
-
 
358
		echo json_encode($stats);
-
 
359
		die();
Line 344... Line 360...
344
	}
360
	}
345
 
361
 
346
	/* detectionEntete() sert deux rôles:
362
	/* detectionEntete() sert deux rôles:
347
	 1) détecter le type de colonne attendu à partir des textes de la ligne d'en-tête afin de define()
363
	 1) détecter le type de colonne attendu à partir des textes de la ligne d'en-tête afin de define()