Recherche avancée

Médias (1)

Mot : - Tags -/artwork

Autres articles (66)

  • 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 (...)

  • 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 (...)

Sur d’autres sites (9512)

  • Anomalie #3248 (Nouveau) : Les fonctions parametre_url (js et php) n’insèrent pas correctement les...

    26 juillet 2014, par Michel Bystranowski

    L’appel

    parametre_url(’http://domaine/spip.php?t[]=1’,’t’,array(0,2)) ;
    


    retourne

    http://domaine/spip.php?t[]=1&t[]=0&t[]=2
    


    au lieu de

    http://domaine/spip.php?t[]=0&t[]=2
    

    Ce problème est présent à la fois dans la version javascript et la version php. Je n’ai testé que sur SPIP 3.0.16.

    J’ai un patch qui corrige ça dans les deux cas.

    Pour le javascript, il y a une regexp mal échappée, et un appel à la fonction substring avec un index négatif, ce qui n’est pas permis, seule la fonction substr le permet… (https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/substring)

    Et dans les deux cas, il faut bien vider les valeurs initiale du tableau dans l’url avant d’ajouter les nouvelles valeurs.

    Je joins des fichiers corrigés, et voici un patch :

    2 files changed, 9 insertions(+), 3 deletions(-)
     2014/ecrire/inc/utils.php             | 5 +++++
     2014/prive/javascript/ajaxCallback.js | 7 ++++---
    

    Modified 2014/ecrire/inc/utils.php
    diff —git a/2014/ecrire/inc/utils.php b/2014/ecrire/inc/utils.php
    index b875aa2..01a7f53 100644
    — - a/2014/ecrire/inc/utils.php
    +++ b/2014/ecrire/inc/utils.php
    @@ -333,6 +333,11 @@ function parametre_url($url, $c, $v=NULL, $sep=’&amp ;’)
    $url[$n] = $r[1].’=’.$u ;
    unset($ajouts[$r[1]]) ;

    + // Pour les tableaux on laisse tomber les valeurs de
    + // départ, on remplira à l’étape suivante
    + else
    + unset($url[$n]) ;
    +


    Modified 2014/prive/javascript/ajaxCallback.js
    diff —git a/2014/prive/javascript/ajaxCallback.js b/2014/prive/javascript/ajaxCallback.js
    index 118fc31..de434c4 100644
    — - a/2014/prive/javascript/ajaxCallback.js
    +++ b/2014/prive/javascript/ajaxCallback.js
    @@ -809,7 +809,7 @@ function parametre_url(url,c,v,sep,force_vide)

    else
    a=url ;
    - var regexp = new RegExp(’^(’ + c.replace(’[]’,’[]’) + ’[?] ?)(=.*) ?$’) ;
    + var regexp = new RegExp(’^(’ + c.replace(’[]’,’[]’) + ’[?] ?)(=.*) ?$’) ;
    var ajouts = [] ;
    var u = (typeof(v) !==’object’) ?encodeURIComponent(v):v ;
    var na = [] ;
    @@ -829,11 +829,12 @@ function parametre_url(url,c,v,sep,force_vide)

    // Ajout. Pour une variable, remplacer au meme endroit,
    // pour un tableau ce sera fait dans la prochaine boucle
    - else if (r[1].substring(-2) != ’[]’)
    + else if (r[1].substr(-2) != ’[]’)
    na.push(r[1]+’=’+u) ;
    ajouts.push(r[1]) ;

    - else na.push(args[n]) ;
    + /* Pour les tableaux ont laisse tomber les valeurs de départ, on
    + remplira à l’étape suivante */

    else
    na.push(args[n]) ;

  • Evolution #4080 : Raccourci puce : se débarasser de l’image

    28 septembre 2018, par cedric -

    Je note que la demande initiale simple était "ne plus avoir une image sur cette puce parce qu’on ne peut pas la personaliser" et qu’à la fin il s’agit de tout revoir le fonctionnement des raccourcis SPIP et donc qu’on ne fera rien :)

    Pour revenir au point de départ :

    1/ peut-être ça manque de documentation mais la puce est totalement personnalisable via le mes_options.php :

    $GLOBALS[’puce’] = ’’ ;
    $GLOBALS[’puce_rtl’] = ’’ ;
    $GLOBALS[’puce_prive’] = ’’ ;
    $GLOBALS[’puce_prive_rtl’] = ’’ ;
    

    2/ ça paraitrait moderne de passer à une puce unicode par défaut décorée en CSS avec un fallback texte pour les sites qui upgraderont sans avoir la CSS qui va bien

    
    

    avec les styles suivants :

    .spip-puce b display:none ;
    .spip-puce
    position : relative ;
    top : 1px ;
    display : inline-block ;
    font-style : normal ;
    font-weight : normal ;
    line-height : 1 ;
    -webkit-font-smoothing : antialiased ;
    -moz-osx-font-smoothing : grayscale ;

    .spip-puce:before
    content : "\2023" ;

    Avec puce à choisir parmi
    https://unicode-table.com/fr/2023/
    https://unicode-table.com/fr/25B8/
    https://unicode-table.com/fr/25B6/

    Du coup sans ces styles spécifiques, la puce est un simple tiret typographique, et avec les styles c’est un caractère qui s’affiche dans la couleur et taille de texte courante, et stylable

    2b/
    Voire si on veut faire une transition vraiment smoothly on garde le img actuel en fallback dans le span (au lieu du simple tiret), et il ne s’affichera plus que sur les anciens sites qui n’ont pas ajoutés la nouvelle CSS
    (et on prévient que dans une prochaine version cette puce image disparaitra complètement)

    3/ à partir du moment où on a un plugin qui permet de transformer ces puces en liste je pense que garder le comportement actuel par défaut dans SPIP est pertinent et le plus logique

  • Evolution #4271 : valider_url_distante => pouvoir déclarer des domaines distants et pas seulement ...

    22 janvier 2019, par - Equipement

    Pour la première piste, qui consiste à pouvoir déclarer ’.example.com’ dans le pipeline pour inclure tous les *.example.com au lieu des les énumérer un par un, ci-dessous un exemple de code que j’ai testé. Il consiste à remplacer la partie de code actuel de la fonction valider_url_distante :

    1. <span class="CodeRay">    <span class="local-variable">$is_known_host</span> = <span class="predefined-constant">false</span>;
    2.     <span class="keyword">foreach</span> (<span class="local-variable">$known_hosts</span> <span class="keyword">as</span> <span class="local-variable">$known_host</span>) {
    3.         <span class="local-variable">$parse_known</span> = <span class="predefined">parse_url</span>(<span class="local-variable">$known_host</span>);
    4.         <span class="keyword">if</span> (<span class="local-variable">$parse_known</span>
    5.           <span class="keyword">and</span> <span class="predefined">strtolower</span>(<span class="local-variable">$parse_known</span>[<span class="string"><span class="delimiter">'</span><span class="content">host</span><span class="delimiter">'</span></span>]) === <span class="predefined">strtolower</span>(<span class="local-variable">$parsed_url</span>[<span class="string"><span class="delimiter">'</span><span class="content">host</span><span class="delimiter">'</span></span>])) {
    6.             <span class="local-variable">$is_known_host</span> = <span class="predefined-constant">true</span>;
    7.             <span class="keyword">break</span>;
    8.         }
    9.     }
    10. </span>

    Télécharger

    par le code suivant :

    1. <span class="CodeRay">        <span class="local-variable">$is_known_host</span> = <span class="predefined-constant">false</span>;
    2.         <span class="keyword">foreach</span> (<span class="local-variable">$known_hosts</span> <span class="keyword">as</span> <span class="local-variable">$known_host</span>) {
    3.             <span class="keyword">if</span> (<span class="predefined">substr</span>(<span class="local-variable">$known_host</span>,<span class="integer">0</span>,<span class="integer">1</span>)==<span class="string"><span class="delimiter">'</span><span class="content">.</span><span class="delimiter">'</span></span>){
    4.                 <span class="comment">// cas d'un domaine</span>
    5.                 <span class="keyword">if</span> (<span class="predefined">strtolower</span>(<span class="local-variable">$known_host</span>) === <span class="predefined">strtolower</span>(<span class="predefined">substr</span>(<span class="local-variable">$parsed_url</span>[<span class="string"><span class="delimiter">'</span><span class="content">host</span><span class="delimiter">'</span></span>],-<span class="predefined">strlen</span>(<span class="local-variable">$known_host</span>)))) {
    6.                     <span class="local-variable">$is_known_host</span> = <span class="predefined-constant">true</span>;
    7.                     <span class="keyword">break</span>;
    8.                 }
    9.             } <span class="keyword">else</span> {
    10.                 <span class="local-variable">$parse_known</span> = <span class="predefined">parse_url</span>(<span class="local-variable">$known_host</span>);
    11.                 <span class="keyword">if</span> (<span class="local-variable">$parse_known</span>
    12.                   <span class="keyword">and</span> <span class="predefined">strtolower</span>(<span class="local-variable">$parse_known</span>[<span class="string"><span class="delimiter">'</span><span class="content">host</span><span class="delimiter">'</span></span>]) === <span class="predefined">strtolower</span>(<span class="local-variable">$parsed_url</span>[<span class="string"><span class="delimiter">'</span><span class="content">host</span><span class="delimiter">'</span></span>])) {
    13.                     <span class="local-variable">$is_known_host</span> = <span class="predefined-constant">true</span>;
    14.                     <span class="keyword">break</span>;
    15.                 }
    16.             }
    17.         }
    18. </span>

    Télécharger