Browse Source

fixes #1 : compatibilité des testes avec Windows (+ documentation d'installation).

Code de compatibilité repris de https://beamtic.com/if-command-exists-php
master
RealET 11 months ago
parent
commit
7c007ced84
  1. 9
      README.md
  2. 13
      formulaires/configurer_optimages.php

9
README.md

@ -15,6 +15,15 @@ Le plugin Images optimisées s'appuie sur le [package _image-optimizer_ de Spati
En l'état, le plugin ne gère que les images jpg, png et gif.
## Installation sous Windows
Les binaires sont à mettre dans le dossier System32 de Windows (testé avec Laragon 5) :
- jpegoptim : https://github.com/XhmikosR/jpegoptim-windows/releases
- optipng : http://optipng.sourceforge.net/
- pngquant : https://pngquant.org/ (binary for Windows)
- gifsicle : https://eternallybored.org/misc/gifsicle/
- cwebp : https://developers.google.com/speed/webp/download (seulement bin/cwebp)
## Fonctionnement
Sans grand mérite, on a copié le fonctionnement du plugin GIS qui associe un point GIS lors de l'upload d'une image si elle possède des données EXIF.

13
formulaires/configurer_optimages.php

@ -4,6 +4,11 @@ if (!defined('_ECRIRE_INC_VERSION')) {
return;
}
function optimages_command_exists($command_name) {
$test_method = (false === stripos(PHP_OS, 'win')) ? 'command -v' : 'where';
return (null === shell_exec("$test_method $command_name")) ? false : true;
}
function formulaires_configurer_optimages_saisies_dist(){
$saisies = array(
array(
@ -128,7 +133,7 @@ function formulaires_configurer_optimages_saisies_dist(){
);
// Affichage conditionné à la présence de jpegoptim
if (`which jpegoptim`) {
if (optimages_command_exists('jpegoptim')) {
$saisies[1]['saisies'][0]['options']['attention'] = '<:optimages:configurer_jpegoptim_attention:>';
}
else {
@ -137,7 +142,7 @@ function formulaires_configurer_optimages_saisies_dist(){
}
// Affichage conditionné à la présence de pngquant
if (`which pngquant`) {
if (optimages_command_exists('pngquant')) {
$saisies[1]['saisies'][1]['saisies'][0]['options']['attention'] = '<:optimages:configurer_pngquant_attention:>';
}
else {
@ -146,7 +151,7 @@ function formulaires_configurer_optimages_saisies_dist(){
}
// Affichage conditionné à la présence de optipng
if (`which optipng`) {
if (optimages_command_exists('optipng')) {
$saisies[1]['saisies'][1]['saisies'][2]['options']['attention'] = '<:optimages:configurer_optipng_attention:>';
}
else {
@ -155,7 +160,7 @@ function formulaires_configurer_optimages_saisies_dist(){
}
// Affichage conditionné à la présence de gifsicle
if (`which gifsicle`) {
if (optimages_command_exists('gifsicle')) {
$saisies[1]['saisies'][2]['options']['attention'] = '<:optimages:configurer_gifsicle_attention:>';
}
else {

Loading…
Cancel
Save