source: spip-zone/_core_/plugins/compresseur/inc/compresseur_embarquer.php @ 43373

Last change on this file since 43373 was 43373, checked in by cedric@…, 10 years ago

refactoring du compresseur :
Separer par groupes fonctionnel :

  • minifier pour tout ce qui concerne la minification css ou js d'un fichier
  • concatener pour le regroupement de plusieurs fichiers en un (au passage, la fonction est generalisee et les specificites css/js sont simplement gerees par les callbacks passees en appel)
  • embarquer pour tout ce qui concerne(ra) l'inclusion des images en base64 dans les css (a developper)

On rationalise les nommage

File size: 1.8 KB
Line 
1<?php
2
3/***************************************************************************\
4 *  SPIP, Systeme de publication pour l'internet                           *
5 *                                                                         *
6 *  Copyright (c) 2001-2011                                                *
7 *  Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James  *
8 *                                                                         *
9 *  Ce programme est un logiciel libre distribue sous licence GNU/GPL.     *
10 *  Pour plus de details voir le fichier COPYING.txt ou l'aide en ligne.   *
11\***************************************************************************/
12
13if (!defined("_ECRIRE_INC_VERSION")) return;
14
15function compresseur_embarquer_images_css($contenu, $source){
16        #$path = suivre_lien(url_absolue($source),'./');
17        $base = ((substr($source,-1)=='/')?$source:(dirname($source).'/'));
18
19        return preg_replace_callback(
20                ",url\s*\(\s*['\"]?([^'\"/][^:]*[.](png|gif|jpg))['\"]?\s*\),Uims",
21                create_function('$x',
22                        'return "url(\"".filtre_embarque_fichier($x[1],"'.$base.'")."\")";'
23                ), $contenu);
24}
25
26
27/**
28 *
29Embarquer des images dans les css, tous nav :
30
31/*
32Content-Type: multipart/related; boundary="_ANY_STRING_WILL_DO_AS_A_SEPARATOR"
33
34--_ANY_STRING_WILL_DO_AS_A_SEPARATOR
35Content-Location:chevron
36Content-Transfer-Encoding:base64
37
38iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFAQMAAAC3obSmAAAABlBMVEX///9mZmaO7mygAAAAEElEQVR42mNYwBDAoAHECwAKMgIJXa7xqgAAAABJRU5ErkJggg==
39
40--_ANY_STRING_WILL_DO_AS_A_SEPARATOR
41...
42
43--_ANY_STRING_WILL_DO_AS_A_SEPARATOR
44* /
45
46Puis
47
48background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFAQMAAAC3obSmAAAABlBMVEX///9mZmaO7mygAAAAEElEQVR42mNYwBDAoAHECwAKMgIJXa7xqgAAAABJRU5ErkJggg==");
49*background-image:url(mhtml:urlfeuille.css!chevron)}
50
51 *
52 */
Note: See TracBrowser for help on using the repository browser.