Changeset 118011 in spip-zone


Ignore:
Timestamp:
Oct 1, 2019, 1:06:50 PM (12 months ago)
Author:
jluc@…
Message:

un peu de PHPCS + renommage de variables plus parlant + sortir constantes des boucles

File:
1 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/creer_sprites_css/trunk/creer_sprites_fonctions.php

    r118010 r118011  
    11<?php
    22
    3 $GLOBALS["sprites"] = false;
     3$GLOBALS['sprites'] = false;
    44
    55function sprite ($img, $nom) {
    6        
    7 
    86        // Extraire le nom du fichier, soit directement soit dans <img src>
    97        if (@file_exists($img)) $src = $img;   
     
    1210                        $src = preg_replace(",\?[0-9]*$,", "", $src);
    1311                        // Si pas de fichier, ignorer
    14                         if (!@file_exists($src)) return;
     12                        if (!@file_exists($src)) {
     13                                return;
     14                        }
    1515                }
    16                
    17                
    18         $GLOBALS["sprites"]["$nom"]["fichiers"][] = $src;
     16
     17        $GLOBALS['sprites']["$nom"]["fichiers"][] = $src;
    1918       
    2019        $largeur = largeur($img);
    2120        $hauteur = hauteur($img);
    22        
    23         if ($largeur > $GLOBALS["sprites"]["$nom"]["largeur"]) $GLOBALS["sprites"]["$nom"]["largeur"] = $largeur;
    24         $hauteur_old = max(0, $GLOBALS["sprites"]["$nom"]["hauteur"]);
    25         $GLOBALS["sprites"]["$nom"]["hauteur"] += $hauteur;
    26        
     21        if ($largeur > $GLOBALS['sprites']["$nom"]["largeur"]) $GLOBALS['sprites']["$nom"]["largeur"] = $largeur;
     22        $hauteur_old = max(0, $GLOBALS['sprites']["$nom"]["hauteur"]);
     23        $GLOBALS['sprites']["$nom"]["hauteur"] += $hauteur;
     24
    2725        $alt = extraire_attribut($img, "alt");
    2826        $class = extraire_attribut($img, "class");
     
    3129       
    3230        $date_src = @filemtime($src);
    33         if ($date_src > $GLOBALS["sprites"]["$nom"]["date"]) $GLOBALS["sprites"]["$nom"]["date"] = $date_src;
     31        if ($date_src > $GLOBALS['sprites']["$nom"]["date"]) $GLOBALS['sprites']["$nom"]["date"] = $date_src;
    3432
    3533        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' />";
     
    4745
    4846function creer_sprites($flux) {
    49         $sprites = $GLOBALS["sprites"];
     47        $sprites = $GLOBALS['sprites'];
    5048        $page = $flux['data']['texte'];
    5149        if ($sprites) {
    5250                foreach($sprites as $key => $sprite) {
    53                         $fichier = sous_repertoire(_DIR_VAR, 'cache-sprites').$key;
    54                        
    55                        
     51                        $fichier_sprite = sous_repertoire(_DIR_VAR, 'cache-sprites').$key;
     52                        $ext = creer_sprites_terminaison_fichier_image($fichier_sprite);
     53                        $nom_fichier_sprite = substr($fichier_sprite, 0, strlen($fichier_sprite) - 4);
     54
    5655                        $date_max = $sprite["date"];
    57                         $date_src = @filemtime($fichier);
     56                        $date_src = @filemtime($fichier_sprite);
    5857                        $largeur = $sprite["largeur"];
    5958                        $hauteur = $sprite["hauteur"];
     
    6160                        $creer = false;
    6261                        if ($date_src < $date_max) $creer = true;
    63                         if ($largeur != largeur($fichier) || $hauteur != hauteur ($fichier)) $creer = true;
     62                        if ($largeur != largeur($fichier_sprite) || $hauteur != hauteur ($fichier_sprite)) $creer = true;
    6463                       
    6564                        if (in_array($_GET['var_mode'], array('recalcul', 'debug'))) $creer = true;
     
    7574                                $color_t = imagecolorallocatealpha( $im, 0, 0, 0 , 127 );
    7675                                imagefill ($im, 0, 0, $color_t);
    77        
     76
    7877                                $y_total = 0;
    7978                                foreach($sprite["fichiers"] as $img) {
    80                                
     79
    8180                                        $f = "imagecreatefrom".str_replace("jpg","jpeg",creer_sprites_terminaison_fichier_image($img));
    82                                         $im_ = $f($img);
    83                                         @imagepalettetotruecolor($im_);
     81                                        $im_tmp = $f($img);
     82                                        @imagepalettetotruecolor($im_tmp);
    8483                                       
    85                                         $x = imagesx($im_);
    86                                         $y = imagesy($im_);
    87                                        
    88                                        
    89                                         @ImageCopy($im, $im_, 0, $y_total, 0, 0, $x, $y);
     84                                        $x = imagesx($im_tmp);
     85                                        $y = imagesy($im_tmp);
     86
     87                                        @ImageCopy($im, $im_tmp, 0, $y_total, 0, 0, $x, $y);
    9088                                        $y_total += $y;
    9189                                }
    9290       
    93                                 $nom_fichier = substr($fichier, 0, strlen($fichier) - 4);
    94                                 _image_imagepng($im, "$nom_fichier.png");
    95                                 $f = creer_sprites_terminaison_fichier_image($fichier);
    96                                 if ($f != "png") {
    97                                         $new = extraire_attribut( image_aplatir("$nom_fichier.png", $f, "ffffff"), "src");
    98                                         @copy($new, $fichier);
    99                                                
     91                                _image_imagepng($im, "$nom_fichier_sprite.png");
     92
     93                                $ext = creer_sprites_terminaison_fichier_image($fichier_sprite);
     94                                if ($ext != "png") {
     95                                        $new = extraire_attribut( image_aplatir("$nom_fichier_sprite.png", $ext, "ffffff"), "src");
     96                                        $ok = copy($new, $fichier_sprite);
    10097                                }
    101                                                                
    10298                                imagedestroy($im);
    103                                 imagedestroy($im_);
    104        
     99                                imagedestroy($im_tmp);
    105100                        }
    106                        
    107101                }
    108102        }
     
    112106       
    113107        $flux["data"]['texte'] = $page;
    114         $GLOBALS["sprites"] = false;   
     108        $GLOBALS['sprites'] = false;
    115109        return $flux;   
    116110}
     
    119113function creer_sprites_remplacer_date($regs) {
    120114        $fichier = $regs[1];
    121        
     115static $date_fichier=array(); // AJOUT JLUC
    122116        if ($date_fichier["$fichier"] > 0) {
    123117                return $date_fichier["$fichier"];
     
    131125function creer_sprites_recuperer_fond ($flux) {
    132126        if (isset($flux['args']['fond'])
    133                 and ($flux['args']['fond'] == 'modeles/logo'
     127                and ($flux['args']['fond'] == "modeles/logo"
    134128                        or ($flux['args']['fond'] == 'modeles/lesauteurs'))) {
    135129                return $flux;
     
    137131        return creer_sprites($flux);
    138132}
     133
Note: See TracChangeset for help on using the changeset viewer.