Changeset 48983 in spip-zone


Ignore:
Timestamp:
Jun 21, 2011, 10:25:17 PM (10 years ago)
Author:
cedric@…
Message:

Un filtre [(#COMPOSITION|classe_composition{#ENV{type}})]
pour poser des classes generiques sur le <body>
si une balise <class> est definie dans la composition c'est elle qui est appliquee
sinon on pose le nom de la composition comme classe

Location:
_plugins_/compositions
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/compositions/compositions_fonctions.php

    r48981 r48983  
    139139        // rien mais ca fera une erreur dans le squelette si appele en filtre
    140140        return '';
     141}
     142
     143/**
     144 * Decrire une composition pour un objet
     145 * @param string $type
     146 * @param string $composition
     147 * @return array|bool|string
     148 */
     149function compositions_decrire($type, $composition){
     150        static $compositions = array();
     151        if ($type=='syndic') $type='site'; //grml
     152        if (isset($compositions[$type][$composition]))
     153                return $compositions[$type][$composition];
     154        $ext = "html";
     155        $fond = compositions_chemin() . $type;
     156        if (strlen($composition)
     157                AND $f = find_in_path("$fond-$composition.$ext")
     158                AND $desc = compositions_charger_infos($f))
     159                return $compositions[$type][$composition] = $desc;
     160        return $compositions[$type][$composition] = false;
     161}
     162
     163/**
     164 * Un filtre a utiliser sur [(#COMPOSITION|classe_composition{#ENV{type}})]
     165 * pour poser des classes generiques sur le <body>
     166 * si une balise <class> est definie dans la composition c'est elle qui est appliquee
     167 * sinon on pose le nom de la composition comme classe
     168 *
     169 * @param string $composition
     170 * @param string $type
     171 * @return string
     172 */
     173function classe_composition($composition,$type){
     174        if ($desc = compositions_decrire($type, $composition)
     175                AND isset($desc['class'])
     176                AND strlen($desc['class']))
     177                return $desc['class'];
     178        return $composition;
    141179}
    142180
  • _plugins_/compositions/inc/compositions.php

    r45596 r48983  
    3434 * @param string $nom
    3535 * @param string $info
    36  * @return array/string
     36 * @return array|string
    3737 */
    3838function compositions_charger_infos($nom,$info=""){
     
    4747                                $composition['description'] = isset($xml['description'])?_T_ou_typo(spip_xml_aplatit($xml['description'])):'';
    4848                                $composition['icon'] = isset($xml['icon'])?find_in_path(reset($xml['icon'])):'';
     49                                $composition['class'] = isset($xml['class'])?trim(reset($xml['class'])):'';
    4950                                $composition['configuration'] = isset($xml['configuration'])?spip_xml_aplatit($xml['configuration']):'';
    5051                                $composition['branche'] = array();
     
    7576 * l'erreur sera evitee par la verification d'existence au moment de styliser
    7677 *
    77  * @param <type> $liste
     78 * @param array $liste
    7879 */
    7980function compositions_cacher($liste=null){
  • _plugins_/compositions/plugin.xml

    r48982 r48983  
    66        </auteur>
    77        <licence>GPL</licence>
    8         <version>2.0.5</version>
     8        <version>2.1.0</version>
    99        <version_base>0.4.0</version_base>
    1010        <etat>test</etat>
Note: See TracChangeset for help on using the changeset viewer.