Changeset 115977 in spip-zone


Ignore:
Timestamp:
Jul 16, 2019, 9:42:33 AM (9 months ago)
Author:
tcharlss@…
Message:

Médiathèque : on remplace l'onglet « logos » par un select qui permet de filtrer par rôle. Ça fait un squelette de moins de surchargé.

Location:
_plugins_/roles_documents/trunk
Files:
3 added
2 deleted
4 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/roles_documents/trunk/paquet.xml

    r115939 r115977  
    22        prefix="roles_documents"
    33        categorie="edition"
    4         version="1.2.25"
     4        version="1.2.26"
    55        etat="dev"
    66        compatibilite="[3.2.0;3.2.*]"
  • _plugins_/roles_documents/trunk/prive/style_prive_plugin_roles_documents.html

    r115424 r115977  
    5252 * Mediathèque
    5353 */
    54 /* Onglet logos */
    55 .onglets_simple .medias .logo a,
    56 .onglets_simple .medias .logo strong {
    57         padding-left: 27px;
    58         background: url(#CHEMIN_IMAGE{media-logo-16}) no-repeat 5px center;
     54.onglets_simple .formulaire_filtrer_roles_documents {
     55        display: inline-block;
     56        margin: 0 0 0 30px;
     57        padding: 0;
     58        border: 0;
     59}
     60.onglets_simple .formulaire_filtrer_roles_documents .editer-groupe {
     61        display: inline-block;
     62        padding: 0;
     63        margin: 0;
     64}
     65.onglets_simple .formulaire_filtrer_roles_documents .editer {
     66        padding: 0;
     67}
     68.onglets_simple .formulaire_filtrer_roles_documents .editer label {
     69        margin: 0 1em 0 0;
     70        float: none;
     71        width: auto;
     72}
     73.onglets_simple .formulaire_filtrer_roles_documents .editer select {
     74        width: auto;
     75}
     76.onglets_simple .formulaire_filtrer_roles_documents .boutons {
     77        display: inline-block;
     78        margin: 0;
     79        padding: 0;
     80        background: transparent;
     81}
     82.onglets_simple .formulaire_filtrer_roles_documents .chosen-container li {
     83        float: none;
    5984}
    6085
  • _plugins_/roles_documents/trunk/roles_documents_fonctions.php

    r113503 r115977  
    116116
    117117/**
     118 * Lister tous les rôles de documents déclarés, tous objets confondus
     119 *
     120 * @return array
     121 */
     122function roles_documents_presents() {
     123
     124        static $roles_documents = null;
     125        if (is_array($roles_documents)) {
     126                return $roles_documents;
     127        }
     128
     129        $roles_documents = array();
     130        if (
     131                $roles_presents = roles_presents('document')
     132        ) {
     133                foreach($roles_presents['roles'] as $objet) {
     134                        $roles_documents = array_merge($roles_documents, $objet['choix']);
     135                }
     136                $roles_documents = array_unique($roles_documents);
     137        }
     138
     139        return $roles_documents;
     140}
     141
     142/**
    118143 * Surcharge du critère `logo`
    119144 *
  • _plugins_/roles_documents/trunk/roles_documents_pipelines.php

    r115939 r115977  
    314314 * Modifier le résultat du calcul d’un squelette donné.
    315315 *
    316  * Formulaire d'ajout de document : ajout du sélecteur de rôle, et rendre les identifiants uniques pour éviter un pb de JS quand le form est présent plusieurs fois sur la page.
    317  *
     316 * - Formulaire d'ajout de document : ajout du sélecteur de rôle, et rendre les identifiants uniques pour éviter un pb de JS quand le form est présent plusieurs fois sur la page.
     317 * - Mediathèque : ajout du filtrage par rôle
     318 *
    318319 * @pipeline recuperer_fond
    319320 *
     
    366367        }
    367368
     369        // Médiathèque
     370        if ($flux['args']['fond'] == 'prive/squelettes/inclure/mediatheque-navigation') {
     371
     372                $fond_roles = recuperer_fond('prive/squelettes/inclure/mediatheque-navigation-roles', $flux['args']['contexte']);
     373                // On s'insère après le dernier <ul> de la barre d'onglets secondaires
     374                // Sans parseur, c'est la galère
     375                $cherche = "#<ul\s+class=[\"']sanstitre[\"']>\s*(?:<li[^>]*>(?!.*<li>).*?</li>\s*)+\s*</ul>#i";
     376                $remplace = "$0$fond_roles";
     377                $flux['data']['texte'] = preg_replace($cherche, $remplace, $flux['data']['texte']);
     378        }
     379
    368380        return $flux;
    369381}
Note: See TracChangeset for help on using the changeset viewer.