Browse Source

ne pas ajouter des images déjà présentes dans le sprite, mais les réutiliser - pour plugin/creer_sprites_css#2

master
jluc@no-log.org 3 years ago
parent
commit
631e064a8b
  1. 48
      creer_sprites_fonctions.php
  2. 2
      paquet.xml

48
creer_sprites_fonctions.php

@ -23,30 +23,34 @@ function sprite($img, $nom) {
}
}
$GLOBALS['sprites'][$nom]['fichiers'][] = $src;
$largeur = largeur($img);
$hauteur = hauteur($img);
if ($largeur > $GLOBALS['sprites'][$nom]['largeur']) {
$GLOBALS['sprites'][$nom]['largeur'] = $largeur;
}
$hauteur_old = max(0, $GLOBALS['sprites'][$nom]['hauteur']);
$GLOBALS['sprites'][$nom]['hauteur'] += $hauteur;
$alt = extraire_attribut($img, 'alt');
$class = extraire_attribut($img, 'class');
$fichier = sous_repertoire(_DIR_VAR, 'cache-sprites').$nom;
// On pose un marqueur pour le timestamp du futur fichier sprite
// qui garantira le raffraîchissement de l'affichage en cas de mise à jour du sprite
$fichier .= "?m=spiprempdate[$fichier]";
$date_src = @filemtime($src);
if ($date_src > $GLOBALS['sprites'][$nom]['date']) {
$GLOBALS['sprites'][$nom]['date'] = $date_src;
if (!in_array($src, $GLOBALS['sprites'][$nom]['fichiers'])) {
$GLOBALS['sprites'][$nom]['fichiers'][] = $src;
$largeur = largeur($img);
$hauteur = hauteur($img);
if ($largeur > $GLOBALS['sprites'][$nom]['largeur']) {
$GLOBALS['sprites'][$nom]['largeur'] = $largeur;
}
$hauteur_old = max(0, $GLOBALS['sprites'][$nom]['hauteur']);
$GLOBALS['sprites'][$nom]['hauteur'] += $hauteur;
$alt = extraire_attribut($img, 'alt');
$class = extraire_attribut($img, 'class');
$fichier = sous_repertoire(_DIR_VAR, 'cache-sprites') . $nom;
// On pose un marqueur pour le timestamp du futur fichier sprite
// qui garantira le raffraîchissement de l'affichage en cas de mise à jour du sprite
$fichier .= "?m=spiprempdate[$fichier]";
$date_src = @filemtime($src);
if ($date_src > $GLOBALS['sprites'][$nom]['date']) {
$GLOBALS['sprites'][$nom]['date'] = $date_src;
}
$GLOBALS['sprites'][$nom]['tags'][$src] = "<img src='" . find_in_path('rien.gif') . "' width='" . $largeur . "px' height='" . $hauteur . "px' style='width: " . $largeur . 'px; height: ' . $hauteur . "px; background: url($fichier) 0px -" . $hauteur_old . "px;' alt='$alt' class='$class' />";
}
return "<img src='".find_in_path('rien.gif')."' width='".$largeur."px' height='".$hauteur."px' style='width: ".$largeur.'px; height: '.$hauteur."px; background: url($fichier) 0px -".$hauteur_old."px;' alt='$alt' class='$class' />";
return $GLOBALS['sprites'][$nom]['tags'][$src];
}
/**

2
paquet.xml

@ -1,7 +1,7 @@
<paquet
prefix="creer_sprites"
categorie="multimedia"
version="2.0.0"
version="2.1.0"
etat="test"
compatibilite="[3.2.0;3.3.*]"
documentation="http://www.paris-beyrouth.org/tutoriaux-spip/article/plugin-creer-sprites-css"

Loading…
Cancel
Save