Recherche avancée

Médias (2)

Mot : - Tags -/map

Autres articles (80)

  • MediaSPIP 0.1 Beta version

    25 avril 2011, par

    MediaSPIP 0.1 beta is the first version of MediaSPIP proclaimed as "usable".
    The zip file provided here only contains the sources of MediaSPIP in its standalone version.
    To get a working installation, you must manually install all-software dependencies on the server.
    If you want to use this archive for an installation in "farm mode", you will also need to proceed to other manual (...)

  • MediaSPIP version 0.1 Beta

    16 avril 2011, par

    MediaSPIP 0.1 beta est la première version de MediaSPIP décrétée comme "utilisable".
    Le fichier zip ici présent contient uniquement les sources de MediaSPIP en version standalone.
    Pour avoir une installation fonctionnelle, il est nécessaire d’installer manuellement l’ensemble des dépendances logicielles sur le serveur.
    Si vous souhaitez utiliser cette archive pour une installation en mode ferme, il vous faudra également procéder à d’autres modifications (...)

  • Le profil des utilisateurs

    12 avril 2011, par

    Chaque utilisateur dispose d’une page de profil lui permettant de modifier ses informations personnelle. Dans le menu de haut de page par défaut, un élément de menu est automatiquement créé à l’initialisation de MediaSPIP, visible uniquement si le visiteur est identifié sur le site.
    L’utilisateur a accès à la modification de profil depuis sa page auteur, un lien dans la navigation "Modifier votre profil" est (...)

Sur d’autres sites (7422)

  • 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