Browse Source

fix: #5209 (suite) Compatibilité d'Imagick avec Windows

Imagick a besoin du chemin absolu et non relatif pour lire et écrire les fichiers sous Windows

Refs: #5209 #5221
issue_deprecated_null_sql_quote
RealET 4 weeks ago committed by Matthieu Marcillaud
parent
commit
7162026e14
  1. 2
      CHANGELOG.md
  2. 11
      ecrire/inc/filtres_images_lib_mini.php

2
CHANGELOG.md

@ -22,7 +22,7 @@
- #5228 Rétablir le filtrage des valeurs `null` envoyées à la fonction `objet_modifier_champs()`
- #5223 Éviter une erreur fatale sur `sql_selectdb()` sur une base inexistante en mysql
- #5218 Éviter l’autocomplétion d’identifiants email en éditant un auteur
- #5209 Fonctionnement de Imagick sous Windows
- #5209 #5221 Fonctionnement de Imagick sous Windows
- #5206 Échouer en minipres si on ne peut pas écrire le fichier des clés lors du login
- #5213 Prendre en compte le sens du critère `tri` en présence d’un tri `multi`
- #5190 Dans le formulaire de configuration de l'email de suivi, pouvoir indiquer une liste d'emails séparés par des virgules

11
ecrire/inc/filtres_images_lib_mini.php

@ -1426,13 +1426,20 @@ function _image_creer_vignette($valeurs, $maxWidth, $maxHeight, $process = 'AUTO
// php5 imagemagick
elseif ($process == 'imagick') {
$vignette = "$destination." . $format_sortie;
if (!class_exists(\Imagick::class)) {
spip_log('Classe Imagick absente !', _LOG_ERREUR);
return;
}
// chemin compatible Windows
$output = realpath(dirname($destination));
if (!$output) {
return;
}
$vignette = $output . DIRECTORY_SEPARATOR . basename($destination) . '.' . $format_sortie;
$imagick = new Imagick();
$imagick->readImage(realpath($image));
$imagick->resizeImage(
@ -1448,6 +1455,8 @@ function _image_creer_vignette($valeurs, $maxWidth, $maxHeight, $process = 'AUTO
return;
}
// remettre le chemin relatif car c'est ce qu'attend SPIP pour la suite (en particluoer action/tester)
$vignette = $destination . '.' . $format_sortie;
}
// netpbm

Loading…
Cancel
Save