Valider 666bbe13 rédigé par marcimat's avatar marcimat
Parcourir les fichiers

Prendre en compte un post 'bigup_reinjecter_uniquement' indiquant

un ou plusieurs identifiants de fichier bigup, pour ne remettre
que ceux là dans $_FILES lors du passage dans 'pre_verifier'.

Pour le formulaire d'ajout de documents, cela permet qu'un hit
ajax sur le vérifier et le traiter du formulaire ne concerne
que le fichier concerné par le hit.
parent 6d1969d5
Chargement en cours
Chargement en cours
Chargement en cours
Chargement en cours
+1 −1
Numéro de ligne d'origine Numéro de ligne de diff Ligne de diff
@@ -136,7 +136,7 @@ function bigup_formulaire_charger($flux) {
function bigup_formulaire_pre_verifier($flux) {
	if (_request('bigup_retrouver_fichiers')) {
		$bigup = bigup_get_bigup($flux);
		$bigup->reinserer_fichiers();
		$bigup->reinserer_fichiers(_request('bigup_reinjecter_uniquement'));
	}
	return $flux;
}
+14 −2
Numéro de ligne d'origine Numéro de ligne de diff Ligne de diff
@@ -242,16 +242,28 @@ class Bigup {
	 * Retrouve les fichiers qui ont été téléchargés et sont en attente pour ce formulaire
	 * et les réaffecte à `$_FILES` au passage.
	 *
	 * @param string|array $uniquement
	 *      Identifant ou liste d'identifiant de fichiers que l'on souhaite
	 *      uniquement réinsérer, le cas échéant.
	 * @return array
	**/
	public function reinserer_fichiers() {
	public function reinserer_fichiers($uniquement = []) {

		if (!$uniquement) {
			$uniquement = [];
		} elseif (!is_array($uniquement)) {
			$uniquement = [$uniquement];
		}

		$this->calculer_chemin_repertoires();
		$liste = $this->trouver_fichiers_complets();
		foreach ($liste as $champ => $fichiers) {
			foreach ($fichiers as $description) {
				if (!$uniquement or in_array($description['identifiant'], $uniquement)) {
					$this->integrer_fichier($description);
				}
			}
		}
		return $liste;
	}