Changeset 68977 in spip-zone


Ignore:
Timestamp:
Jan 13, 2013, 2:18:27 PM (7 years ago)
Author:
tcharlss@…
Message:

Possibilité d'utiliser les polices fontface se trouvant dans le répertoire polices/.

Il faut 3 types de fichiers pour chaque famille : famille.eot, famille.ttf et famille.woff (.svg, c'est lourd et pour iphone & ipad uniquement donc pas obligatoire).

Seule l'éventuelle police fontface choisie est ajoutée à la feuille de style.

Location:
_plugins_/police_prive/trunk
Files:
2 added
4 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/police_prive/trunk/lang/polpriv_fr.php

    r67308 r68977  
    55$GLOBALS[$GLOBALS['idx_lang']] = array(
    66        'label_police_prive' => 'Police de caractères',
     7        'label_police_fontface_prive' => 'Les familles de polices @font-face placées dans le répertoire <em>&laquo;squelettes/polices&raquo;</em> apparaîtront en fin de liste.<br> Elles doivent disposer de 3 types de fichiers pour être prises en compte : .ttf, .wott et .eot.',
    78);
    89?>
  • _plugins_/police_prive/trunk/paquet.xml

    r67314 r68977  
    22        prefix="polpriv"
    33        categorie="maintenance"
    4         version="1.0.0"
     4        version="1.1.0"
    55        etat="test"
    66        compatibilite="[3.0.0;3.0.*]"
  • _plugins_/police_prive/trunk/polpriv_pipelines.php

    r67308 r68977  
    2929}
    3030
     31// Renvoie un tableau pour saisies radio avec les familles de polices fontface trouvees dans le repertoire polices.
     32function polpriv_polices_fontface () {
     33        include_spip('inc/polpriv');
     34        if ($familles = polpriv_familles_polices_fontface()) {
     35                foreach ($familles as $famille=>$v) {
     36                        $label = ucwords(preg_replace('/[-_.]/', ' ' ,$famille)) . " @font-face";
     37                        $fontface[$label] = $famille;
     38                }
     39        }
     40        return $fontface;
     41}
     42
    3143function polpriv_formulaire_charger ($flux) {
    3244        if ($flux['args']['form'] == 'configurer_preferences'){
    33                 $flux['data']['_polices'] = polpriv_polices();
     45                $flux['data']['_polices'] = polpriv_polices(); // polices normales
     46                $flux['data']['_polices_fontface'] = polpriv_polices_fontface(); // polices fontface
    3447                $flux['data']['police_prive'] = isset($GLOBALS['visiteur_session']['prefs']['police_prive'])?$GLOBALS['visiteur_session']['prefs']['police_prive']:'';
    3548        }
     
    5871function polpriv_header_prive($flux){
    5972        if (isset($GLOBALS['visiteur_session']['prefs']['police_prive'])){
     73                include_spip('inc/polpriv');
    6074                $police = $GLOBALS['visiteur_session']['prefs']['police_prive'];
    6175                $polices = polpriv_polices();
     76                $polices_fontface = array_keys(polpriv_familles_polices_fontface());
     77                // polices normales
    6278                if (isset($polices[$police]))
    6379                        $flux .= "<style type='text/css'>body {font-family: ".$polices[$police].";}</style>";
     80                // polices fontface
     81                if (in_array($police, $polices_fontface)) {
     82                        $police_info = polpriv_familles_polices_fontface(array($police));
     83                        $flux .= polpriv_generer_style_polices_fontface($police_info);
     84                        $flux .= "<style type='text/css'>body {font-family: '".$police."';}</style>";
     85                }
    6486        }
     87        // formulaire configurer_preferences -> inserer les styles de toutes les polices fontface
     88        // il doit y avoir plus propre pour trouver l exec...
     89        if (_request('exec') == "configurer_preferences") {
     90                include_spip('inc/polpriv');
     91                if ($familles = polpriv_familles_polices_fontface())
     92                        $flux .= polpriv_generer_style_polices_fontface($familles);
     93        }
     94
    6595        return $flux;
    6696}
  • _plugins_/police_prive/trunk/prive/inclure/configurer_police_prive.html

    r67308 r68977  
    44                <label><:polpriv:label_police_prive:></label>[
    55                <span class='erreur_message'>(#GET{erreurs})</span>
    6                 ]<div class="choix">
     6                ]
     7                <p class='explication'><:polpriv:label_police_fontface_prive:></p>
     8                <div class="choix">
    79                        <input type='radio' class='radio' name='#GET{name}' id='[(#GET{name})]_0'[(#ENV{#GET{name},defaut}|=={defaut}|oui)checked="checked" ]value='defaut'
    810                        onchange='if (this.checked) jQuery("body").css("font-family","Helvetica, Arial, sans-serif");'/>
     
    1618                </div>
    1719                </BOUCLE_polices>
     20                <BOUCLE_polices_fontface(DATA){source table, #ENV{_polices_fontface}}>
     21                <div class="choix">
     22                        <input type='radio' class='radio' name='#GET{name}' id='[(#GET{name})]_#COMPTEUR_BOUCLE'[(#ENV{#GET{name}}|=={#VALEUR}|oui)checked="checked" ]value='#VALEUR'
     23                        onchange='if (this.checked) jQuery("body").css("font-family","[(#VALEUR|replace{'"','\"'})]");' />
     24                        <label for="[(#GET{name})]_#COMPTEUR_BOUCLE" style='font-family: "#VALEUR";'>#CLE</label>
     25                </div>
     26                </BOUCLE_polices_fontface>
    1827        </li>
    1928</ul>
Note: See TracChangeset for help on using the changeset viewer.