Recherche avancée

Médias (2)

Mot : - Tags -/media

Autres articles (104)

  • Multilang : améliorer l’interface pour les blocs multilingues

    18 février 2011, par

    Multilang est un plugin supplémentaire qui n’est pas activé par défaut lors de l’initialisation de MediaSPIP.
    Après son activation, une préconfiguration est mise en place automatiquement par MediaSPIP init permettant à la nouvelle fonctionnalité d’être automatiquement opérationnelle. Il n’est donc pas obligatoire de passer par une étape de configuration pour cela.

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

  • Gestion des droits de création et d’édition des objets

    8 février 2011, par

    Par défaut, beaucoup de fonctionnalités sont limitées aux administrateurs mais restent configurables indépendamment pour modifier leur statut minimal d’utilisation notamment : la rédaction de contenus sur le site modifiables dans la gestion des templates de formulaires ; l’ajout de notes aux articles ; l’ajout de légendes et d’annotations sur les images ;

Sur d’autres sites (7194)

  • Anomalie #3894 : Jointures (erronées ?) avec les boucles documents et leurs critères

    27 janvier 2017, par marcimat ☺☮☯♫

    Les cas objet / id_objet

    En appelant page=test&objet=rubrique&id_objet=1 :

    - (DOCUMENTS){objet?}{id_objet?}
    - (DOCUMENTS){id_objet?}{objet?}
    - (DOCUMENTS){objet?}{id_objet?}{vu=non}
    - (DOCUMENTS){id_objet?}{objet?}{vu=non}
    - (DOCUMENTS){vu=non}{id_objet?}{objet?}
    Jointures correctes : 1 seule jointure L1 sur spip_documents_liens

    - (DOCUMENTS){id_article?}{objet?}{id_objet?}
    Jointure incorrecte : il y a 2 jointures différentes pour objet & id_objet

    SELECT documents.fichier
    FROM spip_documents AS `documents`  
    INNER JOIN spip_documents_liens AS L3 ON ( L3.id_document = documents.id_document ) 
    INNER JOIN spip_documents_liens AS L2 ON ( L2.id_document = documents.id_document )
    WHERE (documents.statut = ’publie’)
        AND (documents.mode IN (’image’,’document’))
        AND (documents.taille > 0 OR documents.distant=’oui’)
        AND (L2.objet = ’rubrique’)
        AND (L3.id_objet = 1)
    GROUP BY documents.id_document
    

    - (DOCUMENTS){id_article?}{objet?}{id_objet?}{vu=non}
    Même comportement erroné, avec vu sur L1 et 2 jointures pour objet & id_objet :

    SELECT documents.fichier
    FROM spip_documents AS `documents`  
    INNER JOIN spip_documents_liens AS L3 ON ( L3.id_document = documents.id_document ) 
    INNER JOIN spip_documents_liens AS L2 ON ( L2.id_document = documents.id_document ) 
    INNER JOIN spip_documents_liens AS L1 ON ( L1.id_document = documents.id_document )
    WHERE (documents.statut = ’publie’)
        AND (documents.mode IN (’image’,’document’))
        AND (documents.taille > 0 OR documents.distant=’oui’)
        AND (L2.objet = ’rubrique’)
        AND (L3.id_objet = 1)
        AND (L1.vu = ’non’)
    GROUP BY documents.id_document
    

    Il me semble que les jointures objet / id_objet ne fonctionnent que s’ils sont les premiers critères optionnels créant possiblement une jointure de la boucle.
    Cependant (DOCUMENTS){vu?}{objet?}{id_objet?} fonctionne aussi avec vu optionnel (1 seule jointure).

  • Anomalie #3894 : Jointures (erronées ?) avec les boucles documents et leurs critères

    26 janvier 2017, par tcharlss (*´_ゝ`)

    J’ai testé avec divers objets que j’avais sous la main pour voir, on reprenant le même procédé :

    • un document attaché à 2 objets, vu=oui pour le N°1, et vu=non pour le N°2
    • id_patate=1 dans l’URL
    • {id_patate?}{vu=non} dans la boucle

    Ça n’a fait la bonne jointure que pour 1 seul objet, donc c’est plutôt une exception on dirait.
    Rigolo : le nom de la jointure superflue s’incrémente entre chaque test, j’ai fini à L8 ! (L5 je l’ai enlevé, c’était sur les auteurs, donc même ambiguïté que pour les mots clés)

    Album [OK] :

    SELECT documents.fichier
    FROM spip_documents AS `documents`  
    INNER JOIN spip_documents_liens AS L1 ON ( L1.id_document = documents.id_document )
    WHERE (documents.taille > 0 OR documents.distant=’oui’)
        AND (L1.id_objet = 1)
        AND (L1.objet = ’album’)
        AND (L1.vu = ’non’)
    GROUP BY documents.id_document
    

    Brève [PAS OK] :

    SELECT documents.fichier
    FROM spip_documents AS `documents`  
    INNER JOIN spip_documents_liens AS L2 ON ( L2.id_document = documents.id_document ) 
    INNER JOIN spip_documents_liens AS L1 ON ( L1.id_document = documents.id_document )
    WHERE (documents.taille > 0 OR documents.distant=’oui’)
        AND (L2.id_objet = 1)
        AND (L2.objet = ’breve’)
        AND (L1.vu = ’non’)
    GROUP BY documents.id_document
    

    Forum [PAS OK] :

    SELECT documents.fichier
    FROM spip_documents AS `documents`  
    INNER JOIN spip_documents_liens AS L3 ON ( L3.id_document = documents.id_document ) 
    INNER JOIN spip_documents_liens AS L1 ON ( L1.id_document = documents.id_document )
    WHERE (documents.taille > 0 OR documents.distant=’oui’)
        AND (L3.id_objet = 1)
        AND (L3.objet = ’forum’)
        AND (L1.vu = ’non’)
    GROUP BY documents.id_document
    

    Mot [PAS OK] (là c’est un peu spécial car il y a une ambiguïté avec mots_liens) :

    SELECT documents.fichier
    FROM spip_documents AS `documents`  
    INNER JOIN spip_mots_liens AS L4 ON ( L4.id_objet = documents.id_document AND L4.objet=’document’) 
    INNER JOIN spip_documents_liens AS L1 ON ( L1.id_document = documents.id_document )
    WHERE (documents.taille > 0 OR documents.distant=’oui’)
        AND (L4.id_mot = 1)
        AND (L1.vu = ’non’)
    GROUP BY documents.id_document
    

    Abonnement [PAS OK] :

    SELECT documents.fichier
    FROM spip_documents AS `documents`  
    INNER JOIN spip_documents_liens AS L6 ON ( L6.id_document = documents.id_document ) 
    INNER JOIN spip_documents_liens AS L1 ON ( L1.id_document = documents.id_document )
    WHERE (documents.taille > 0 OR documents.distant=’oui’)
        AND (L6.id_objet = 1)
        AND (L6.objet = ’abonnement’)
        AND (L1.vu = ’non’)
    GROUP BY documents.id_document
    

    Ticket [PAS OK] :

    SELECT documents.fichier
    FROM spip_documents AS `documents`  
    INNER JOIN spip_documents_liens AS L7 ON ( L7.id_document = documents.id_document ) 
    INNER JOIN spip_documents_liens AS L1 ON ( L1.id_document = documents.id_document )
    WHERE (documents.taille > 0 OR documents.distant=’oui’)
        AND (L7.id_objet = 1)
        AND (L7.objet = ’ticket’)
        AND (L1.vu = ’non’)
    GROUP BY documents.id_document
    

    Adresse [PAS OK] :

    SELECT documents.fichier
    FROM spip_documents AS `documents`  
    INNER JOIN spip_documents_liens AS L8 ON ( L8.id_document = documents.id_document ) 
    INNER JOIN spip_documents_liens AS L1 ON ( L1.id_document = documents.id_document )
    WHERE (documents.taille > 0 OR documents.distant=’oui’)
        AND (L8.id_objet = 1)
        AND (L8.objet = ’adresse’)
        AND (L1.vu = ’non’)
    GROUP BY documents.id_document
    
  • Anomalie #4012 : pipeline post_insertion n’affiche pas toutes les valeurs insérées

    9 octobre 2017, par Peet du

    ok ok !

    Donc lors de la création d’une nouvelle instance d’un objet, SPIP fait les choses en deux temps.

    1er temps

    objet_inserer() va ’préparer’ la nouvelle instance et tenter, si les champs existent dans l’objet, d’enregistrer les valeurs de :

    [’id_rubrique’]
    [’id_secteur’]
    [’lang’]
    [’langue_choisie’]
    [’statut’]
    [’date’]
    

    Donc au mieux le pipeline post_insertion renvoi un tableau contenant l’id de l’objet + le tableau des champs ci-dessus et leurs valeurs.

    2e temps

    si objet_inserer() renvoie bien un id_objet, objet_modifier() va lui enregistrer le reste, c’est à dire les valeurs correspondants aux champs déclarés comme editables dans plugins/base/mon_objet.php

    Il faut donc utiliser le pipeline post_edition si on veut pouvoir lire une des valeurs dites "editables".

    Donc pas d’anomalie, juste une incompréhension de la doc.

    On peut fermer le ticket
    ps : merci marcimat et jluc