source: spip-zone/_plugins_/z-core/zcore_options.php @ 77065

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

une class img sur le span imbriqué des logos responsive pour permettre de le cibler en css facilement au cas ou

File size: 1.8 KB
Line 
1<?php
2/*
3 * Plugin Z-core
4 * (c) 2008-2010 Cedric MORIN Yterium.net
5 * Distribue sous licence GPL
6 *
7 */
8
9// demander a SPIP de definir 'type-page' dans le contexte du premier squelette
10define('_DEFINIR_CONTEXTE_TYPE_PAGE',true);
11define('_ZPIP',true);
12// differencier le cache,
13// la verification de credibilite de var_zajax sera faite dans public_styliser_dist
14// mais ici on s'assure que la variable ne permet pas de faire une inclusion arbitraire
15// avec un . ou un /
16if ($z = _request('var_zajax')
17  AND !preg_match(",[^\w-],",$z)) {
18        $GLOBALS['marqueur'] .= "$z:";
19        $GLOBALS['flag_preserver'] = true;
20}
21else {
22        // supprimer cette variable dangeureuse
23        set_request('var_zajax','');
24}
25
26/**
27 * html Pour pouvoir masquer les logos sans les downloader en petit ecran
28 * il faut le mettre dans un conteneur parent que l'on masque
29 * http://timkadlec.com/2012/04/media-query-asset-downloading-results/
30 *
31 * on fixe le height en CSS pour que le height:auto par defaut sur img ne s'applique pas ici
32 * (un logo est toujours plus petit que l'ecran, donc max-width:100% ne fait rien)
33 * Pour le reduire dans une liste en colonne par exemple il faut faire en css
34 * max-width:50px;height:auto!important;
35 *
36 * @param $logo
37 * @return string
38 */
39function responsive_logo($logo){
40        if (!function_exists('extraire_balise'))
41                include_spip('inc/filtres');
42        if (!$logo
43          OR !$img = extraire_balise($logo,"img"))
44                return $logo;
45        list($h,$w) = taille_image($img);
46        $src = extraire_attribut($img,"src");
47        $class = extraire_attribut($img,"class");
48
49        $ratio = round($h*100/$w,2);
50        return "<span class='$class' style=\"width:{$w}px;\"><span class=\"img\" style=\"display:block;position:relative;height:0;width:100%;padding-bottom:{$ratio}%;overflow:hidden;background:url($src) no-repeat center;background-size:100%;\"> </span></span>";
51}
52
53?>
Note: See TracBrowser for help on using the repository browser.