Valider 7162026e rédigé par RealET's avatar RealET 👍 Validation de marcimat
Parcourir les fichiers

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
parent e88bd744
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
@@ -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
+10 −1
Numéro de ligne d'origine Numéro de ligne de diff Ligne de diff
@@ -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