Ignore:
Timestamp:
May 3, 2013, 7:28:13 AM (6 years ago)
Author:
cedric@…
Message:

Optimiser la production de CSS compilee :

  • on ne reecrit le fichier que quand il change effectivement en passant par un fichier intermediaire .css.last (evite le renouvellement inutile des timestamp, qui produisent des feuilles compilees inutilement)
  • quand on reecrit le fichier il faut appeler clearstatcache() sur ce fichier, sinon PHP ressert le vieux timestamp jusqu'a la fin du hit, et il faut recharger 2 fois la page pour avoir la mise a jour
File:
1 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/less-css/trunk/lesscss_fonctions.php

    r66287 r72536  
    8181                # si la feuille compilee est plus recente que la feuille source
    8282                # l'utiliser sans rien faire, sauf si recalcul explicite
    83                 if ((@filemtime($f) > @filemtime($source))
     83                $changed = false;
     84                if (@filemtime($f) < @filemtime($source))
     85                        $changed = true;
     86
     87                if (!$changed
    8488                  AND (!defined('_VAR_MODE') OR _VAR_MODE != 'recalcul'))
    8589                        return $f;
     
    104108
    105109                // ecrire le fichier destination, en cas d'echec renvoyer la source
    106                 if (ecrire_fichier($f, $contenu, true))
     110                // on ecrit sur un fichier
     111                if (ecrire_fichier($f.".last", $contenu, true)){
     112                        if ($changed OR md5_file($f)!=md5_file($f.".last")){
     113                                @copy($f.".last",$f);
     114                                clearstatcache(true,$f); // eviter que PHP ne reserve le vieux timestamp
     115                        }
    107116                        return $done[$source] = $f;
     117                }
    108118                else
    109119                        return $done[$source] = $source;
Note: See TracChangeset for help on using the changeset viewer.