Recherche avancée

Médias (1)

Mot : - Tags -/book

Autres articles (88)

  • Personnaliser en ajoutant son logo, sa bannière ou son image de fond

    5 septembre 2013, par

    Certains thèmes prennent en compte trois éléments de personnalisation : l’ajout d’un logo ; l’ajout d’une bannière l’ajout d’une image de fond ;

  • Organiser par catégorie

    17 mai 2013, par

    Dans MédiaSPIP, une rubrique a 2 noms : catégorie et rubrique.
    Les différents documents stockés dans MédiaSPIP peuvent être rangés dans différentes catégories. On peut créer une catégorie en cliquant sur "publier une catégorie" dans le menu publier en haut à droite ( après authentification ). Une catégorie peut être rangée dans une autre catégorie aussi ce qui fait qu’on peut construire une arborescence de catégories.
    Lors de la publication prochaine d’un document, la nouvelle catégorie créée sera proposée (...)

  • Publier sur MédiaSpip

    13 juin 2013

    Puis-je poster des contenus à partir d’une tablette Ipad ?
    Oui, si votre Médiaspip installé est à la version 0.2 ou supérieure. Contacter au besoin l’administrateur de votre MédiaSpip pour le savoir

Sur d’autres sites (7217)

  • Anomalie #4189 (Nouveau) : extraire_multi mélange un /li /ul final avec le de langue ajouté...

    5 octobre 2018, par jluc -

    Quand la langue de la chaîne n’est pas la langue désirée,
    extraire_multi appelle code_echappement qui insère

    au début, ok,
    mais qui colle aussi un

    immédiatement à la fin.

    En général c’est OK, mais pas quand la dernière ligne du texte est le dernier item d’une énumération,
    car alors ce ajouté est pris comme partie prenante de cette dernière ligne par l’appel suivant à propre,
    et le HTML qui sort de ce |propre sera mal emboité car il finira par au lieu de

    Cf #4187

    Dans le cas où le texte se termine par une liste, il faut insérer \n\n pour s’assurer que le /div ajouté par code_echappement reste en dehors de la liste.

    Cf simulation avec https://zone.spip.net/trac/spip-zone/changeset/111853/spip-zone

    Et pour corriger, dans le corps de extraire_multi (https://core.spip.net/projects/spip/repository/entry/spip/ecrire/inc/filtres.php#L1595 ),
    il faut insérer 2 fins de lignes quand ça se termine par /ul,
    entre les 2 lignes suivantes :

    1. <span class="CodeRay">    <span class="local-variable">$mode</span> = <span class="predefined">preg_match</span>(<span class="string"><span class="delimiter">'</span><span class="content">,span><span class="delimiter">'</span></span> . _BALISES_BLOCS . <span class="string"><span class="delimiter">'</span><span class="content">)[>[:space:]],iS</span><span class="delimiter">'</span></span>, <span class="local-variable">$trad_propre</span>) ? <span class="string"><span class="delimiter">'</span><span class="content">div</span><span class="delimiter">'</span></span> : <span class="string"><span class="delimiter">'</span><span class="content">span</span><span class="delimiter">'</span></span>;
    2.     <span class="local-variable">$trad</span> = code_echappement(<span class="local-variable">$trad</span>, <span class="string"><span class="delimiter">'</span><span class="content">multi</span><span class="delimiter">'</span></span>, <span class="predefined-constant">false</span>, <span class="local-variable">$mode</span>);
    3. </span></span>

    Télécharger

    Ce qui donne :

    1. <span class="CodeRay">    <span class="local-variable">$mode</span> = <span class="predefined">preg_match</span>(<span class="string"><span class="delimiter">'</span><span class="content">,span><span class="delimiter">'</span></span> . _BALISES_BLOCS . <span class="string"><span class="delimiter">'</span><span class="content">)[>[:space:]],iS</span><span class="delimiter">'</span></span>, <span class="local-variable">$trad_propre</span>) ? <span class="string"><span class="delimiter">'</span><span class="content">div</span><span class="delimiter">'</span></span> : <span class="string"><span class="delimiter">'</span><span class="content">span</span><span class="delimiter">'</span></span>;
    2.     <span class="keyword">if</span> (<span class="local-variable">$mode</span>==<span class="string"><span class="delimiter">'</span><span class="content">div</span><span class="delimiter">'</span></span> <span class="keyword">and</span> (<span class="predefined">substr</span>(<span class="predefined">rtrim</span>(<span class="local-variable">$trad_propre</span>), -<span class="integer">5</span>)==<span class="string"><span class="delimiter">'</span><span class="content"></span><span class="delimiter">'</span></span>)
    3.         <span class="local-variable">$trad</span> .= <span class="string"><span class="delimiter">"</span><span class="char">\n</span><span class="char">\n</span><span class="delimiter">"</span></span>;
    4.     <span class="local-variable">$trad</span> = code_echappement(<span class="local-variable">$trad</span>, <span class="string"><span class="delimiter">'</span><span class="content">multi</span><span class="delimiter">'</span></span>, <span class="predefined-constant">false</span>, <span class="local-variable">$mode</span>);
    5. </span></span>

    Télécharger

  • Evolution #4102 : Ordre des inclures dans cache/charger_plugins_options.php

    8 juillet 2019, par cam.lafit -

    On pourrait avoir ce patch, au lieu d’écrire ligne à ligne on passe par un tableau. Ce qui permet de gérer l’ordre des lignes.

    1. <span class="CodeRay"><span class="line head"><span class="head">--- </span><span class="filename">/ecrire/inc/plugin.php</span></span>
    2. <span class="line head"><span class="head">+++ </span><span class="filename">/ecrire/inc/plugin.php</span></span>
    3. <span class="line change"><span class="change">@@</span> -817,7 +817,7 <span class="change">@@</span></span>
    4.  }
    5.  
    6.  <span class="keyword">function</span> <span class="function">plugins_precompile_xxxtions</span>(<span class="local-variable">$plugin_valides</span>, <span class="local-variable">$ordre</span>) {
    7. <span class="line delete"><span class="delete">-</span>    <span class="local-variable">$contenu</span> = <span class="predefined">array</span>(<span class="string"><span class="delimiter">'</span><span class="content">options</span><span class="delimiter">'</span></span> => <span class="string"></span><span class="eyecatcher"><span class="string"><span class="delimiter">'</span><span class="delimiter">'</span></span>, <span class="string"><span class="delimiter">'</span><span class="content">fonctions</span><span class="delimiter">'</span></span> => <span class="string"><span class="delimiter">'</span><span class="delimiter">'</span></span></span>);</span>
    8. <span class="line insert"><span class="insert">+</span>    <span class="local-variable">$contenu</span> = <span class="predefined">array</span>(<span class="string"><span class="delimiter">'</span><span class="content">options</span><span class="delimiter">'</span></span> => <span class="eyecatcher"><span class="predefined">array</span>(), <span class="string"><span class="delimiter">'</span><span class="content">fonctions</span><span class="delimiter">'</span></span> => <span class="predefined">array</span>()</span>);</span>
    9.      <span class="local-variable">$boutons</span> = <span class="predefined">array</span>();
    10.      <span class="local-variable">$onglets</span> = <span class="predefined">array</span>();
    11.      <span class="local-variable">$sign</span> = <span class="string"><span class="delimiter">"</span><span class="delimiter">"</span></span>;
    12. <span class="line change"><span class="change">@@</span> -861,7 +861,7 <span class="change">@@</span></span>
    13.                              <span class="predefined">unset</span>(<span class="local-variable">$info</span>[<span class="local-variable">$charge</span>][<span class="local-variable">$k</span>]);
    14.                          }
    15.                              <span class="local-variable">$_file</span> = <span class="local-variable">$root_dir_type</span> . <span class="string"><span class="delimiter">"</span><span class="content">.'</span><span class="local-variable">$plug</span><span class="content">/</span><span class="local-variable">$file</span><span class="content">'</span><span class="delimiter">"</span></span>;
    16. <span class="line delete"><span class="delete">-</span>                            <span class="local-variable">$contenu</span>[<span class="local-variable">$charge</span>]<span class="eyecatcher"> .= <span class="string"><span class="delimiter">"</span><span class="content">include_once_check(</span><span class="local-variable">$_file</span><span class="content">);</span><span class="char">\n</span></span></span><span class="string"><span class="delimiter">"</span></span>;</span>
    17. <span class="line insert"><span class="insert">+</span>                            <span class="local-variable">$contenu</span>[<span class="local-variable">$charge</span>]<span class="eyecatcher">[] = <span class="string"><span class="delimiter">"</span><span class="content">include_once_check(</span><span class="local-variable">$_file</span><span class="content">);</span></span></span><span class="string"><span class="delimiter">"</span></span>;</span>
    18.                          }
    19.                      }
    20.                  }
    21. <span class="line change"><span class="change">@@</span> -870,12 +870,12 <span class="change">@@</span></span>
    22.          }
    23.      }
    24.  
    25. <span class="line delete"><span class="delete">-</span>    <span class="local-variable">$</span><span class="eyecatcher"><span class="local-variable">contenu</span>[<span class="string"><span class="delimiter">'</span><span class="content">options</span><span class="delimiter">'</span></span>] = <span class="string"><span class="delimiter">"</span><span class="content">define('_PLUGINS_HASH','</span><span class="delimiter">"</span></span> . <span class="predefined">md5</span>(<span class="local-variable">$sign</span>) . <span class="string"><span class="delimiter">"</span><span class="content">');</span><span class="char">\n</span><span class="delimiter">"</span></span> . <span class="local-variable">$contenu</span>[<span class="string"><span class="delimiter">'</span><span class="content">options</span><span class="delimiter">'</span></span>]</span>;</span>
    26. <span class="line delete"><span class="delete">-</span>    <span class="local-variable">$contenu</span>[<span class="string"><span class="delimiter">'</span><span class="content">fonctions</span><span class="delimiter">'</span></span>]<span class="eyecatcher"> .= plugin_ongletbouton(<span class="string"><span class="delimiter">"</span><span class="content">boutons_plugins</span><span class="delimiter">"</span></span>, <span class="local-variable">$boutons</span>)</span></span>
    27. <span class="line delete"><span class="delete">-</span>    <span class="eyecatcher">    .</span> plugin_ongletbouton(<span class="string"><span class="delimiter">"</span><span class="content">onglets_plugins</span><span class="delimiter">"</span></span>, <span class="local-variable">$onglets</span>);</span>
    28. <span class="line delete"><span class="delete">-</span></span>
    29. <span class="line delete"><span class="delete">-</span>    ecrire_fichier_php(_CACHE_PLUGINS_OPT, <span class="local-variable">$</span><span class="eyecatcher"><span class="local-variable">contenu</span>[<span class="string"><span class="delimiter">'</span><span class="content">options</span><span class="delimiter">'</span></span>]</span>);</span>
    30. <span class="line delete"><span class="delete">-</span>    ecrire_fichier_php(_CACHE_PLUGINS_FCT, <span class="eyecatcher"><span class="local-variable">$contenu</span>[<span class="string"><span class="delimiter">'</span><span class="content">fonctions</span><span class="delimiter">'</span></span>]</span>);</span>
    31. <span class="line insert"><span class="insert">+</span>    <span class="local-variable">$</span><span class="eyecatcher"><span class="local-variable">hash_opt</span> = <span class="string"><span class="delimiter">"</span><span class="content">define('_PLUGINS_HASH','</span><span class="delimiter">"</span></span> . <span class="predefined">md5</span>(<span class="local-variable">$sign</span>) . <span class="string"><span class="delimiter">"</span><span class="content">');</span><span class="char">\n</span><span class="delimiter">"</span></span></span>;</span>
    32. <span class="line insert"><span class="insert">+</span>    <span class="local-variable">$contenu</span>[<span class="string"><span class="delimiter">'</span><span class="content">fonctions</span><span class="delimiter">'</span></span>]<span class="eyecatcher">[] = plugin_ongletbouton(<span class="string"><span class="delimiter">"</span><span class="content">boutons_plugins</span><span class="delimiter">"</span></span>, <span class="local-variable">$boutons</span>);</span></span>
    33. <span class="line insert"><span class="insert">+</span>    <span class="eyecatcher"><span class="local-variable">$contenu</span>[<span class="string"><span class="delimiter">'</span><span class="content">fonctions</span><span class="delimiter">'</span></span>][] =</span> plugin_ongletbouton(<span class="string"><span class="delimiter">"</span><span class="content">onglets_plugins</span><span class="delimiter">"</span></span>, <span class="local-variable">$onglets</span>);</span>
    34. <span class="line insert"><span class="insert">+</span></span>
    35. <span class="line insert"><span class="insert">+</span>    ecrire_fichier_php(_CACHE_PLUGINS_OPT, <span class="local-variable">$</span><span class="eyecatcher"><span class="local-variable">hash_opt</span>.<span class="predefined">implode</span>(<span class="string"><span class="delimiter">"</span><span class="char">\n</span><span class="delimiter">"</span></span>,<span class="predefined">array_reverse</span>(<span class="local-variable">$contenu</span>[<span class="string"><span class="delimiter">'</span><span class="content">options</span><span class="delimiter">'</span></span>]))</span>);</span>
    36. <span class="line insert"><span class="insert">+</span>    ecrire_fichier_php(_CACHE_PLUGINS_FCT, <span class="eyecatcher"><span class="predefined">implode</span>(<span class="string"><span class="delimiter">"</span><span class="char">\n</span><span class="delimiter">"</span></span>,<span class="local-variable">$contenu</span>[<span class="string"><span class="delimiter">'</span><span class="content">fonctions</span><span class="delimiter">'</span></span>])</span>);</span>
    37.  }
    38.  
    39.  <span class="comment">/**</span>
    40.  
    41. </span>

    Télécharger

  • Révision 22075 : Intégration dans SPIP de la possibilité de gérer des liens entre objets

    8 mai 2015, par marcimat ☺☮☯♫

    avec des rôles.

    On intègre l’API présente actuellement dans le plugin Rôles, en modifiant
    un peu les fonctions d’édition de liens.

    Celles-ci permettent maintenant d’éditer des liens ayant donc des rôles.
    Ces différents rôles et le nom de la colonne SQL qui les reçoit,
    s’ils sont utilisés, doivent être déclarés avec la déclaration
    de l’objet éditorial correspondant.

    Un exemple est donné avec le plugin « Roles auteurs » qui définit
    quelques rôles. Les champs décrivant les rôles : `roles_colonne`, `roles_titres` et `roles_objets`
    doivent être déclarés (via le pipeline declarer_tables_objets_sql).

    ```
    "roles_colonne" => "role",
    "roles_titres" => array(
    ’redacteur’ => ’info_statut_redacteur’,
    ’traducteur’ => ’roles_auteurs:traducteur’,
    ’correcteur’ => ’roles_auteurs:correcteur’,
    ’relecteur’ => ’roles_auteurs:relecteur’,
    ),
    "roles_objets" => array(
    ’articles’ => array(
    ’choix’ => array(’redacteur’, ’traducteur’, ’correcteur’, ’relecteur’),
    ’defaut’ => ’redacteur’
    )
    #’*’ => array()
    )
    ```

    Une fois déclaré, on peut appeler les fonctions d’édition de lien
    en transmettant des valeurs de rôles, tel que :

    ```
    objet_associer(
    array(’auteur’ => 3),
    array(’article’ => 11),
    array(’role’ => ’correcteur’)
    ) ;

    // utilisera le rôle par défaut
    objet_associer(
    array(’auteur’ => 3),
    array(’article’ => 11)
    ) ;
    ```

    Si aucun rôle n’est indiqué, le rôle par défaut est appliqué.

    Dans le cas d’une dissociation également, si aucun rôle n’est indiqué,
    seuls les liaisons avec le rôle par défaut seront supprimés ; pour
    supprimer tous les rôles, il faut à ce moment là indiquer ’*’ :

    ```
    objet_dissocier(
    array(’auteur’ => 3),
    array(’article’ => 11),
    array(’role’ => ’correcteur’)
    ) ;

    // utilisera le rôle par défaut
    objet_dissocier(
    array(’auteur’ => 3),
    array(’article’ => 11)
    ) ;

    // enlèvera tous les rôles
    objet_dissocier(
    array(’auteur’ => 3),
    array(’article’ => 11),
    array(’role’ => ’*’)
    ) ;
    ```

    Le formulaire d’édition de liens n’utilisera pas les mêmes squelettes
    de liaison lorsqu’une colonne de rôle est déclarée.

    Ainsi dans cet exemple, au lieu de `prive/objets/liste/auteurs_lies.html`
    et `auteurs_associer.html`, cela utiliserait `prive/objets/liste/auteurs_roles_lies.html`
    et `auteurs_roles_associer.html`. Il faut donc créer ces squelettes.

    Ces squelettes peuvent poster les valeurs au formulaire pour insérer
    de nouveaux liens, de la forme `qualifier_lien[auteur-3-article-11][role]`
    en postant `redacteur` par exemple.

    Il est possible au passage de poster en plus d’autres valeurs, qui seront
    intégrées dans l’enregistrement du lien.
    Ainsi, poster en même temps `qualifier_lien[auteur-3-article-11][valeur]` = `50`
    enregistrera la valeur 50 dans la colonne `valeur` de la table de lien (qui doit
    exister !).

    D’autres informations sont présentes dans http://contrib.spip.net/Des-roles-sur-des-liens,
    http://zone.spip.org/trac/spip-zone/browser/_plugins_/roles_auteurs ou encore
    http://zone.spip.org/trac/spip-zone/browser/_plugins_/roles