Recherche avancée

Médias (91)

Autres articles (36)

  • Installation en mode ferme

    4 février 2011, par

    Le 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, par

    Ce 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" ;

  • Other interesting software

    13 avril 2011, par

    We don’t claim to be the only ones doing what we do ... and especially not to assert claims to be the best either ... What we do, we just try to do it well and getting better ...
    The following list represents softwares that tend to be more or less as MediaSPIP or that MediaSPIP tries more or less to do the same, whatever ...
    We don’t know them, we didn’t try them, but you can take a peek.
    Videopress
    Website : http://videopress.com/
    License : GNU/GPL v2
    Source code : (...)

Sur d’autres sites (6561)

  • Anomalie #3686 : formulaire_editer_article_verifier : vérification incomplète

    21 février 2016, par Peet du

    La ligne https://core.spip.net/projects/spip/repository/entry/spip/prive/formulaires/editer_article.php#L157, vient de
    https://core.spip.net/issues/2508.

    L’avantage (?) de https://core.spip.net/projects/spip/repository/revisions/19075, c’est que ça gère aussi bien les cas de création et de modification d’un article dans une rubrique interdite.

    J’ai donc testé mon patch avec le cas d’un admin restreint et il n’y a pas d’effet de bord : ceci grâce à autoriser_article_modifier().

    Il est donc question ici de compléter/corriger cette demande : il doit être possible de voir et de modifier, même si il est interdit de créer.

    Le bug que j’ai trouvé :

    C’est le cas qui se présente avec le plugin LIM

    1- un article ou des articles ont été créés dans une rubrique ;
    2- puis le webmestre décide plus tard d’interdire la création de nouveaux articles dans cette même rubrique, ceci grâce à une fonction du plugin LIM ;
    3- Mais si il n’est plus possible de créer un article dans cette rubrique, LIM gère le cas où l’auteur veut les modifier ses articles présents dans cette rubrique.

    Donc le bug soulevé vient du fait que le plugin LIM surcharge l’autorisation autoriser_rubrique_publierdans(). Plus exactement, il ajoute une condition.
    voir http://zone.spip.org/trac/spip-zone/changeset/95014/_plugins_/lim/trunk/lim_autorisations.php.

    Je précise que cette fonctionnalité du plugin LIM pose un problème seulement avec l’objet Article. Pas avec les autres objets éditoriaux.

    Voilà. J’espère n’avoir rien oublié.

  • Evolution #4471 : singulier_ou_pluriel pour l’arabe

    1er juin 2020, par George Kandalaft

    Correction :

    1. <span class="CodeRay"><span class="comment">/**
    2.  * Afficher un message "un truc"/("deux trucs" pour l'arabe)/"N trucs"
    3.  * Les items sont à indiquer comme pour la fonction _T() sous la forme :
    4.  * "module:chaine"
    5.  *
    6.  * @param int $nb : le nombre
    7.  * @param string $chaine_un : l'item de langue si $nb vaut un (ou $nb > 10 pour l'arabe)
    8.  * @param string $chaine_plusieurs : l'item de lanque si $nb > 1 ($nb est compris entre 3 et 10 pour l'arabe)
    9.  * @param string $var : La variable à remplacer par $nb dans l'item de langue (facultatif, défaut "nb")
    10.  * @param array $vars : Les autres variables nécessaires aux chaines de langues (facultatif)
    11.  * @return string : la chaine de langue finale en utilisant la fonction _T()
    12.  */</span>
    13. <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>()) {
    14.     <span class="keyword">if</span> (!<span class="local-variable">$nb</span> = <span class="predefined">intval</span>(<span class="local-variable">$nb</span>)) {
    15.         <span class="keyword">return</span> <span class="string"><span class="delimiter">'</span><span class="delimiter">'</span></span>;
    16.     }
    17.     <span class="keyword">if</span> (!<span class="predefined">is_array</span>(<span class="local-variable">$vars</span>)) {
    18.         <span class="keyword">return</span> <span class="string"><span class="delimiter">'</span><span class="delimiter">'</span></span>;
    19.     }
    20.     <span class="local-variable">$vars</span>[<span class="local-variable">$var</span>] = <span class="local-variable">$nb</span>;
    21.  
    22.     <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>) {
    23.         <span class="local-variable">$fem</span> = <span class="predefined">substr</span>(_T(<span class="local-variable">$chaine_un</span>), -<span class="integer">2</span>);
    24.         <span class="keyword">switch</span> (<span class="predefined-constant">true</span>) {
    25.             <span class="keyword">case</span> (<span class="local-variable">$nb</span> == <span class="integer">1</span>):
    26.                 <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>) {
    27.                     <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>;
    28.                 } <span class="keyword">else</span> {
    29.                     <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>;
    30.                 }
    31.                 <span class="keyword">return</span> <span class="local-variable">$un</span>;
    32.                 <span class="keyword">break</span>;
    33.             <span class="keyword">case</span> (<span class="local-variable">$nb</span> == <span class="integer">2</span>):
    34.                 <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>) {
    35.                     <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>;
    36.                 } <span class="keyword">else</span> {
    37.                     <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>;
    38.                 }
    39.                 <span class="keyword">return</span> <span class="local-variable">$deux</span>;
    40.                 <span class="keyword">break</span>;
    41.             <span class="keyword">case</span> (<span class="local-variable">$nb</span> ><span class="integer">2</span> &#38;&#38; <span class="local-variable">$nb</span> &lt; <span class="integer">11</span>):
    42.                <span class="keyword">return</span> _T(<span class="local-variable">$chaine_plusieurs</span>, <span class="local-variable">$vars</span>);
    43.                 <span class="keyword">break</span>;
    44.             <span class="keyword">default</span>:
    45.                 <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>;
    46.                 <span class="keyword">return</span> _T(<span class="local-variable">$chaine_un</span>, <span class="local-variable">$vars</span>);
    47.         }
    48.     } <span class="keyword">else</span> {
    49.         <span class="keyword">if</span> (<span class="local-variable">$nb</span> > <span class="integer">1</span>) {
    50.             <span class="keyword">return</span> _T(<span class="local-variable">$chaine_plusieurs</span>, <span class="local-variable">$vars</span>);
    51.         } <span class="keyword">else</span> {
    52.             <span class="keyword">return</span> _T(<span class="local-variable">$chaine_un</span>, <span class="local-variable">$vars</span>);
    53.         }
    54.     }
    55. }
    56. </span>

    Télécharger

  • Faire un plugin de signalement

    24 septembre 2012

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