
Recherche avancée
Médias (1)
-
Rennes Emotion Map 2010-11
19 octobre 2011, par
Mis à jour : Juillet 2013
Langue : français
Type : Texte
Autres articles (33)
-
Installation en mode ferme
4 février 2011, parLe mode ferme permet d’héberger plusieurs sites de type MediaSPIP en n’installant qu’une seule fois son noyau fonctionnel.
C’est la méthode que nous utilisons sur cette même plateforme.
L’utilisation en mode ferme nécessite de connaïtre un peu le mécanisme de SPIP contrairement à la version standalone qui ne nécessite pas réellement de connaissances spécifique puisque l’espace privé habituel de SPIP n’est plus utilisé.
Dans un premier temps, vous devez avoir installé les mêmes fichiers que l’installation (...) -
Emballe médias : à quoi cela sert ?
4 février 2011, parCe plugin vise à gérer des sites de mise en ligne de documents de tous types.
Il crée des "médias", à savoir : un "média" est un article au sens SPIP créé automatiquement lors du téléversement d’un document qu’il soit audio, vidéo, image ou textuel ; un seul document ne peut être lié à un article dit "média" ; -
Ajouter notes et légendes aux images
7 février 2011, parPour pouvoir ajouter notes et légendes aux images, la première étape est d’installer le plugin "Légendes".
Une fois le plugin activé, vous pouvez le configurer dans l’espace de configuration afin de modifier les droits de création / modification et de suppression des notes. Par défaut seuls les administrateurs du site peuvent ajouter des notes aux images.
Modification lors de l’ajout d’un média
Lors de l’ajout d’un média de type "image" un nouveau bouton apparait au dessus de la prévisualisation (...)
Sur d’autres sites (6261)
-
Anomalie #3248 (Nouveau) : Les fonctions parametre_url (js et php) n’insèrent pas correctement les...
26 juillet 2014, par Michel BystranowskiL’appel
parametre_url(’http://domaine/spip.php?t[]=1’,’t’,array(0,2)) ;
retournehttp://domaine/spip.php?t[]=1&t[]=0&t[]=2
au lieu dehttp://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=’& ;’)
$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 boucleelse 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 #4471 : singulier_ou_pluriel pour l’arabe
1er juin 2020, par George KandalaftCorrection :
- <span class="CodeRay"><span class="comment">/**
- * Afficher un message "un truc"/("deux trucs" pour l'arabe)/"N trucs"
- * Les items sont à indiquer comme pour la fonction _T() sous la forme :
- * "module:chaine"
- *
- * @param int $nb : le nombre
- * @param string $chaine_un : l'item de langue si $nb vaut un (ou $nb > 10 pour l'arabe)
- * @param string $chaine_plusieurs : l'item de lanque si $nb > 1 ($nb est compris entre 3 et 10 pour l'arabe)
- * @param string $var : La variable à remplacer par $nb dans l'item de langue (facultatif, défaut "nb")
- * @param array $vars : Les autres variables nécessaires aux chaines de langues (facultatif)
- * @return string : la chaine de langue finale en utilisant la fonction _T()
- */</span>
- <span class="keyword">function</span> <span class="function">ar_singulier_ou_pluriel</span>(<span class="local-variable">$nb</span>, <span class="local-variable">$chaine_un</span>, <span class="local-variable">$chaine_plusieurs</span>, <span class="local-variable">$var</span> = <span class="string"><span class="delimiter">'</span><span class="content">nb</span><span class="delimiter">'</span></span>, <span class="local-variable">$vars</span> = <span class="predefined">array</span>()) {
- <span class="keyword">if</span> (!<span class="local-variable">$nb</span> = <span class="predefined">intval</span>(<span class="local-variable">$nb</span>)) {
- <span class="keyword">return</span> <span class="string"><span class="delimiter">'</span><span class="delimiter">'</span></span>;
- }
- <span class="keyword">if</span> (!<span class="predefined">is_array</span>(<span class="local-variable">$vars</span>)) {
- <span class="keyword">return</span> <span class="string"><span class="delimiter">'</span><span class="delimiter">'</span></span>;
- }
- <span class="local-variable">$vars</span>[<span class="local-variable">$var</span>] = <span class="local-variable">$nb</span>;
- <span class="keyword">if</span> (<span class="predefined">$GLOBALS</span>[<span class="string"><span class="delimiter">'</span><span class="content">spip_lang</span><span class="delimiter">'</span></span>] == <span class="string"><span class="delimiter">'</span><span class="content">ar</span><span class="delimiter">'</span></span>) {
- <span class="local-variable">$fem</span> = <span class="predefined">substr</span>(_T(<span class="local-variable">$chaine_un</span>), -<span class="integer">2</span>);
- <span class="keyword">switch</span> (<span class="predefined-constant">true</span>) {
- <span class="keyword">case</span> (<span class="local-variable">$nb</span> == <span class="integer">1</span>):
- <span class="keyword">if</span> (<span class="local-variable">$fem</span> == <span class="string"><span class="delimiter">'</span><span class="content">ة</span><span class="delimiter">'</span></span>) {
- <span class="local-variable">$un</span> = _T(<span class="local-variable">$chaine_un</span>) . <span class="string"><span class="delimiter">'</span><span class="content"> واحدة</span><span class="delimiter">'</span></span>;
- } <span class="keyword">else</span> {
- <span class="local-variable">$un</span> = _T(<span class="local-variable">$chaine_un</span>) . <span class="string"><span class="delimiter">'</span><span class="content"> واحد</span><span class="delimiter">'</span></span>;
- }
- <span class="keyword">return</span> <span class="local-variable">$un</span>;
- <span class="keyword">break</span>;
- <span class="keyword">case</span> (<span class="local-variable">$nb</span> == <span class="integer">2</span>):
- <span class="keyword">if</span> (<span class="local-variable">$fem</span> == <span class="string"><span class="delimiter">'</span><span class="content">ة</span><span class="delimiter">'</span></span>) {
- <span class="local-variable">$deux</span> = <span class="predefined">rtrim</span>(_T(<span class="local-variable">$chaine_un</span>), <span class="local-variable">$fem</span>) . <span class="string"><span class="delimiter">'</span><span class="content">تان</span><span class="delimiter">'</span></span>;
- } <span class="keyword">else</span> {
- <span class="local-variable">$deux</span> = _T(<span class="local-variable">$chaine_un</span>) . <span class="string"><span class="delimiter">'</span><span class="content">ان</span><span class="delimiter">'</span></span>;
- }
- <span class="keyword">return</span> <span class="local-variable">$deux</span>;
- <span class="keyword">break</span>;
- <span class="keyword">case</span> (<span class="local-variable">$nb</span> ><span class="integer">2</span> && <span class="local-variable">$nb</span> < <span class="integer">11</span>):
- <span class="keyword">return</span> _T(<span class="local-variable">$chaine_plusieurs</span>, <span class="local-variable">$vars</span>);
- <span class="keyword">break</span>;
- <span class="keyword">default</span>:
- <span class="local-variable">$chaine_un</span> = <span class="local-variable">$nb</span> . <span class="string"><span class="delimiter">'</span><span class="content"> </span><span class="delimiter">'</span></span> . <span class="local-variable">$chaine_un</span>;
- <span class="keyword">return</span> _T(<span class="local-variable">$chaine_un</span>, <span class="local-variable">$vars</span>);
- }
- } <span class="keyword">else</span> {
- <span class="keyword">if</span> (<span class="local-variable">$nb</span> > <span class="integer">1</span>) {
- <span class="keyword">return</span> _T(<span class="local-variable">$chaine_plusieurs</span>, <span class="local-variable">$vars</span>);
- } <span class="keyword">else</span> {
- <span class="keyword">return</span> _T(<span class="local-variable">$chaine_un</span>, <span class="local-variable">$vars</span>);
- }
- }
- }
- </span>
-
Faire un plugin de signalement
24 septembre 2012Faire un plugin de signalement (qui sera utile à la fois pour MediaSPIP et géodiversité)
Fonctionnement du plugin :
Un bouton sur une page d’objet X ou Y "signaler ce contenu".
Au click sur ce bouton, affichage d’un formulaire (configurable dans la partie privé du site) avec :
- un sélecteur de motifs de signalement ;
- un textarea permettant de laisser un message personnalisé ;
- un bouton valider
Lors d’un signalement :
- notification aux admins qu’un signalement a été fait ;
- notification à l’auteur de l’objet signalé pour le prévenir du signalement également ;
- au bout d’un certain nombre de signalements sur le même contenu (5 est la valeur par défaut), le contenu est dépublié automatiquement, seul un administrateur peut le soumettre à nouveau ;
Éléments configurables
- les motifs de signalement qui peuvent ne pas être utilisé du tout ;
- le motif de signalement par défaut ;
- le textarea libre mais à ce moment là le motif est obligatoire ;
- le statut minimum des personnes pouvant signaler un contenu ;
Les statuts des signalements
Les signalements ont trois statuts possibles :
-
publie
(validé) ; -
poubelle
(supprimé) ; -
refuse
(invalidé) ;
Lorsqu’un utilisateur signale un contenu, le statut est directement
publie
. Le signalement est considéré comme valide, l’utilisateur ne peut signale à nouveau ce contenu.Lorsque ce même utilisateur et uniquement lui, retire son signalement, son statut est alors
poubelle
, le signalement est invalidé et l’utilisateur peut signaler à nouveau le même contenu.Lorsqu’un administrateur modère un signalement, son statut est alors
refuse
, l’utilisateur l’ayant soumis le voit toujours en tant que soumis (et ne peut donc soumettre un nouveau signalement), par contre, il ne rentre plus dans le compte des signalements positifs.La modération des signalements par les admins
La modération des signalements se passe dans l’espace privé.
L’interface est sur le même modèle que celle des forums.
A faire
- création du plugin lui-même ;
- insertion de sa conf et de sa modération dans mediaspip_config ;
- insertion de son formulaire dans mediaspip_core ;