70,7 → 70,8 |
|
if ( $mode === 'modification' ) { |
$parametres = $this->traiterParametresModif(); |
$json = $this->getDao()->modifier( $this->cel_url_tpl, $parametres ); |
$donnees = array_merge( $parametres, $this->traiterDonneesFiles() ); |
$json = $this->getDao()->modifier( $this->cel_url_tpl, $donnees ); |
} else { |
$donnees = array_merge( $_POST, $this->traiterDonneesFiles() ); |
// var_dump($donnees); |
184,7 → 185,6 |
|
foreach( $this->parametres as $nom_critere => $valeur_critere ) { |
if ( in_array( $nom_critere, $criteres ) ) { |
|
$valeur_critere = str_replace( ' ', '%20', $valeur_critere ); |
$parametres_flux .= $nom_critere . '=' . $valeur_critere . '&'; |
} |
222,12 → 222,10 |
$dossier_url = __DIR__ . '/squelettes/img/images_projets/' . $_POST['projet'] . $image_projet_langue . '/'; |
|
foreach ( array_keys( $_FILES ) as $file ) { |
|
if ( $_FILES[$file]['name'] !== '' ) { |
$extension = $this->obtenirExtension( $_FILES[$file] ); |
|
if ( $extension ) { |
|
$transmettre_donnees = true; |
|
if ( strstr( $file, 'help-') ) { |
240,7 → 238,6 |
$files_names[$file] = $file .'.' . $extension; |
} |
} else { |
|
echo ( |
"<div class=\"message-echec container\">Echec du téléchargement : ". |
"L\'extention de l\'image pour " . $nom . " n\'est pas bonne". |
253,10 → 250,8 |
|
if ( $transmettre_donnees ) { |
if( !is_dir( $dossier_url ) ) { |
|
mkdir( $dossier_url, 0755 ); |
} |
|
// Téléversements |
if ( count( $files_names ) > 0 ) { |
foreach ( array_keys( $files_names ) as $file ) { |
269,7 → 264,6 |
} |
} |
} |
|
return $return; |
} |
|
277,17 → 271,37 |
$taille_maxi = 5242880; |
$taille = filesize( $_FILES[$file]['tmp_name'] ); |
$extension = $this->obtenirExtension( $_FILES[$file] ); |
$file_name = str_replace( $extension, '', $full_name ); |
$file_name = str_replace( '.' . $extension, '', $full_name ); |
$file_exists = file_exists( $dossier_url . $full_name ); |
$ex_file_name = $full_name; |
|
// verifier l'existance d'un fichier avec une extention différente |
// ex: logo.png vers logo.jpg |
if ( !$file_exists ) { |
switch ( $extension ) { |
case 'png': |
$ex_file_name = $file_name . '.jpg'; |
break; |
case 'csv': |
$ex_file_name = $file_name . '.tsv'; |
break; |
case 'tsv': |
$ex_file_name = $file_name . '.csv'; |
break; |
case 'jpg': |
default: |
$ex_file_name = $file_name . '.png'; |
break; |
} |
$file_exists = file_exists( $dossier_url . $ex_file_name ); |
} |
|
//Début des vérifications de sécurité... |
if ( file_exists( $dossier_url . $full_name ) ) { |
|
if ( $_POST['mode'] === 'modification' ) { |
|
if ( $file_exists ) { |
if ( $this->parametres['mode'] === 'modification' ) { |
// Le fichier existe déjà, c'est normal si on est en mode modification |
unlink ( $dossier_url . $full_name ); |
unlink( $dossier_url . $ex_file_name ); |
} else { |
|
$erreur = |
"<div class=\"message-echec container\">Echec du téléchargement : ". |
"Un fichier pour \"" . $file_name. |
299,7 → 313,6 |
} |
|
if ( !$extension ) { |
|
//Si le format n'est pas bon |
$erreur = |
"<div class=\"message-echec container\">". |
310,7 → 323,6 |
} |
|
if ( $taille > $taille_maxi ) { |
|
$erreur = |
"<div class=\"message-echec container\">". |
"Echec du téléchargement pour ". |
320,11 → 332,10 |
} |
|
if ( isset( $erreur ) ) { |
|
echo $erreur; |
} else { |
|
if ( !move_uploaded_file( $_FILES[$file]['tmp_name'], $dossier_url . $this->remove_accents( $full_name ) ) ) { |
$dest_file = $dossier_url . $this->remove_accents( $full_name ); |
if ( !move_uploaded_file( $_FILES[$file]['tmp_name'], $dest_file ) ) { |
// move_uploaded_file() renvoie false si l'upload a échoué |
echo |
"<div class=\"message-echec container\">". |
331,6 → 342,8 |
"Erreur du téléchargement pour ". |
"\"" . $file_name . "\"". |
"</div>"; |
} else { |
chmod($dest_file, 0666); |
} |
} |
} |
337,9 → 350,9 |
|
private function obtenirExtension( $files ) { |
$type = exif_imagetype( $files['tmp_name'] ); |
|
//une vérif pas mal pour les types image |
if ( $type == ( IMAGETYPE_PNG || IMAGETYPE_JPEG || IMAGETYPE_GIF ) ) { |
|
switch ( $type ) { |
case '1' : |
$format = 'gif'; |
356,10 → 369,10 |
} elseif ( str_replace( '.csv' , '', $files['name'] ) && substr( strrchr($files['type'], '/' ), 1 ) === 'csv' ) { |
// Pas trouvé mieux pour csv : |
// Les fonctions qui pourraient utiliser $_FILES[file]["tmp_path"] me répondent "text/plain"... |
|
$format = 'csv'; |
} elseif ( str_replace( '.tsv' , '', $files['name'] ) && substr( strrchr($files['type'], '/' ), 1 ) === 'tsv' ) { |
$format = 'tsv'; |
} else { |
|
return false; |
} |
return $format; |