Recherche avancée

Médias (1)

Mot : - Tags -/berlin

Autres articles (73)

  • 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 ;

  • Amélioration de la version de base

    13 septembre 2013

    Jolie sélection multiple
    Le plugin Chosen permet d’améliorer l’ergonomie des champs de sélection multiple. Voir les deux images suivantes pour comparer.
    Il suffit pour cela d’activer le plugin Chosen (Configuration générale du site > Gestion des plugins), puis de configurer le plugin (Les squelettes > Chosen) en activant l’utilisation de Chosen dans le site public et en spécifiant les éléments de formulaires à améliorer, par exemple select[multiple] pour les listes à sélection multiple (...)

  • Menus personnalisés

    14 novembre 2010, par

    MediaSPIP utilise le plugin Menus pour gérer plusieurs menus configurables pour la navigation.
    Cela permet de laisser aux administrateurs de canaux la possibilité de configurer finement ces menus.
    Menus créés à l’initialisation du site
    Par défaut trois menus sont créés automatiquement à l’initialisation du site : Le menu principal ; Identifiant : barrenav ; Ce menu s’insère en général en haut de la page après le bloc d’entête, son identifiant le rend compatible avec les squelettes basés sur Zpip ; (...)

Sur d’autres sites (8739)

  • Evolution #4405 (En cours) : activation du controleur traduction si le plugin crayon est présent

    27 novembre 2019, par Guillaume Fahrner

    Pour pouvoir activer le controleur traduction du plugin crayon (cf https://zone.spip.net/trac/spip-zone/changeset/118766/spip-zone) et traduire des motifs de langues, la modification suivante est nécessaire dans la fonction definir_details_traduction() :

    1. <span class="CodeRay">
    2. <span class="comment">/**
    3.  * Modifie le texte de traduction pour indiquer des éléments
    4.  * servant au debug de celles-ci. (pour var_mode=traduction)
    5.  *
    6.  * @param SPIP_Traductions_Description $desc
    7.  * @param string $modules Les modules qui étaient demandés
    8.  * @return SPIP_Traductions_Description
    9.  */</span>
    10. <span class="keyword">function</span> <span class="function">definir_details_traduction</span>(<span class="local-variable">$desc</span>, <span class="local-variable">$modules</span>) {
    11.     <span class="keyword">if</span> (!<span class="local-variable">$desc</span>->mode <span class="keyword">and</span> <span class="local-variable">$desc</span>->texte) {
    12.         <span class="comment">// ne pas modifier 2 fois l'affichage</span>
    13.         <span class="local-variable">$desc</span>->mode = <span class="string"><span class="delimiter">'</span><span class="content">traduction</span><span class="delimiter">'</span></span>;
    14.         <span class="local-variable">$classe</span> = <span class="string"><span class="delimiter">'</span><span class="content">debug-traduction</span><span class="delimiter">'</span></span> . (<span class="local-variable">$desc</span>->module == <span class="string"><span class="delimiter">'</span><span class="content">ecrire</span><span class="delimiter">'</span></span> ? <span class="string"><span class="delimiter">'</span><span class="content">-prive</span><span class="delimiter">'</span></span> : <span class="string"><span class="delimiter">'</span><span class="delimiter">'</span></span>);
    15.         <span class="keyword">if</span> (test_plugin_actif(<span class="string"><span class="delimiter">'</span><span class="content">crayons</span><span class="delimiter">'</span></span>) )
    16.                     <span class="local-variable">$classe</span> .= <span class="string"><span class="delimiter">"</span><span class="content"> crayon traduction-</span><span class="delimiter">"</span></span>.<span class="local-variable">$desc</span>->module.<span class="string"><span class="delimiter">"</span><span class="content">-</span><span class="delimiter">"</span></span>.<span class="local-variable">$desc</span>->code;
    17.         <span class="local-variable">$desc</span>->texte = <span class="string"><span class="delimiter">'</span><span class="content"><span></span>span><span class="delimiter">'</span></span>
    18.             . <span class="string"><span class="delimiter">'</span><span class="content">lang=</span><span class="delimiter">'</span></span> . <span class="local-variable">$desc</span>->langue
    19.             . <span class="string"><span class="delimiter">'</span><span class="content"> class=</span><span class="delimiter">'</span></span> . <span class="string"><span class="delimiter">"</span><span class="content">'</span><span class="delimiter">"</span></span> . <span class="local-variable">$classe</span> . <span class="string"><span class="delimiter">"</span><span class="content">'</span><span class="delimiter">"</span></span>
    20.             . <span class="string"><span class="delimiter">'</span><span class="content"> title=</span><span class="delimiter">'</span></span> . <span class="local-variable">$modules</span> . <span class="string"><span class="delimiter">'</span><span class="content">(</span><span class="delimiter">'</span></span> . <span class="local-variable">$desc</span>->langue . <span class="string"><span class="delimiter">'</span><span class="content">)></span><span class="delimiter">'</span></span>
    21.             . <span class="local-variable">$desc</span>->texte
    22.             . <span class="string"><span class="delimiter">'</span><span class="content"></span></span><span class="delimiter">'</span></span>;
    23.         <span class="local-variable">$desc</span>->texte = <span class="predefined">str_replace</span>(
    24.             <span class="predefined">array</span>(<span class="string"><span class="delimiter">"</span><span class="inline"><span class="local-variable">$desc</span>->module</span><span class="content">:</span><span class="delimiter">"</span></span>, <span class="string"><span class="delimiter">"</span><span class="inline"><span class="local-variable">$desc</span>->module</span><span class="content">|</span><span class="delimiter">"</span></span>),
    25.             <span class="predefined">array</span>(<span class="string"><span class="delimiter">"</span><span class="content">*</span><span class="inline"><span class="local-variable">$desc</span>->module</span><span class="content">*:</span><span class="delimiter">"</span></span>, <span class="string"><span class="delimiter">"</span><span class="content">*</span><span class="inline"><span class="local-variable">$desc</span>->module</span><span class="content">*|</span><span class="delimiter">"</span></span>),
    26.             <span class="local-variable">$desc</span>->texte
    27.         );
    28.     }
    29.     <span class="keyword">return</span> <span class="local-variable">$desc</span>;
    30. }
    31. </span>

    Télécharger

    Rien de fou, on ajoute 2 classes CSS : crayon traduction-module-motif_a_traduire

  • Anomalie #4842 (Nouveau) : Bug des traitements spécifiques à une table d’un champ dans une sous bo...

    5 juillet 2021

    Ref : https://git.spip.net/spip-contrib-extensions/champs_extras_core/issues/9

    En déclarant un traitements de champs, par exemple "demo" sur une boucle ARTICLES,
    ie : $table_des_traitements['DEMO']['articles'] = _TRAITEMENT_RACCOURCIS;
    celui ci n’est pas appliqué dans une sous boucle.

    <span class="CodeRay"><span class="tag">span><span class="error">(</span><span class="attribute-name">ARTICLES</span><span class="error">)</span><span class="error">{</span><span class="attribute-name">0</span><span class="error">,</span><span class="attribute-name">1</span><span class="error">}</span><span class="error">{</span><span class="error">!</span><span class="attribute-name">par</span> <span class="attribute-name">date</span><span class="error">}</span><span class="tag">></span>
    #ID_ARTICLE
    <span class="tag">span><span class="error">(</span><span class="attribute-name">DOCUMENTS</span><span class="error">)</span><span class="error">{</span><span class="attribute-name">0</span><span class="error">,</span><span class="attribute-name">1</span><span class="error">}</span><span class="tag">></span>
       #ID_DOCUMENT<span class="tag"><br /></span>
       #DEMO<span class="tag"><br /></span>
    <span class="tag"></span>
    <span class="tag"></span>
    </span></span></span>

    En fait https://git.spip.net/spip/spip/src/branch/master/ecrire/public/references.php#L712 champs_traitement ne retourne pas la bonne boucle en utilisant `index_boucle($p)`.

  • Anomalie #4574 (Nouveau) : Authentification AJAX non fonctionnelle lorsque mode parano actif

    15 octobre 2020, par Guillaume Fahrner

    L’activation du mode parano casse l’authentification via AJAX, le JSON retourné par la page informer_auteur.html n’est plus valide : erreur javascript lors du parsing JSON -> hash calculé faux -> erreur de login

    Une surcharge vide de formulaires/inc-logo_auteur.html permet de contourner ce problème (le logo n’apparaîtra plus bien évidemment).

    Une autre solution (plus propre, sûr ?) consiste à désactiver les traitement de sécurité globaux dans informer_auteur.html en utilisant ** :

    1. <span class="CodeRay">[(#DATE**|informer_auteur)]
    2. </span>

    Télécharger

    Il faut par contre modifier la fonction informer_auteur() pour filtrer var_login avant de le retourner :

    1. <span class="CodeRay"><span class="keyword">function</span> <span class="function">informer_auteur</span>(<span class="local-variable">$bof</span>) {
    2.     include_spip(<span class="string"><span class="delimiter">'</span><span class="content">inc/json</span><span class="delimiter">'</span></span>);
    3.     include_spip(<span class="string"><span class="delimiter">'</span><span class="content">formulaires/login</span><span class="delimiter">'</span></span>);
    4.     include_spip(<span class="string"><span class="delimiter">'</span><span class="content">inc/auth</span><span class="delimiter">'</span></span>);
    5.     <span class="local-variable">$login</span> = <span class="predefined">strval</span>(_request(<span class="string"><span class="delimiter">'</span><span class="content">var_login</span><span class="delimiter">'</span></span>));
    6.     <span class="local-variable">$row</span> = auth_informer_login(<span class="local-variable">$login</span>);
    7.     <span class="keyword">if</span> (<span class="local-variable">$row</span> <span class="keyword">and</span> <span class="predefined">is_array</span>(<span class="local-variable">$row</span>) <span class="keyword">and</span> <span class="predefined">isset</span>(<span class="local-variable">$row</span>[<span class="string"><span class="delimiter">'</span><span class="content">id_auteur</span><span class="delimiter">'</span></span>])) {
    8.         <span class="predefined">unset</span>(<span class="local-variable">$row</span>[<span class="string"><span class="delimiter">'</span><span class="content">id_auteur</span><span class="delimiter">'</span></span>]);
    9.     } <span class="keyword">else</span> {
    10.         <span class="local-variable">$row</span>[<span class="string"><span class="delimiter">'</span><span class="content">login</span><span class="delimiter">'</span></span>] = safehtml(<span class="local-variable">$login</span>);
    11.     }
    12.  
    13.     <span class="keyword">return</span> json_export(<span class="local-variable">$row</span>);
    14. }
    15. </span>

    Télécharger

    SPIP 3.2.8 à jour