Changeset 124666 in spip-zone


Ignore:
Timestamp:
May 13, 2020, 9:14:56 AM (3 weeks ago)
Author:
Cerdic
Message:

Retour sur la gestion des <emb> pour ameliorer le support et la migration : ce n'est pas seulement les media=file qui peuvent etre emb mais aussi les autres
on generalise le mecanisme en renommant le filtre en medias_trouver_modele_emb qui prend en 3eme argument la racine du modele cherche, et si aucun modele specifique n'utilise pour l'extention ou le mime type on revient sur le modele racine initial
De cette façon les plugins peuvent proposer des modeles emb specifiques pour tout type de media (cf oembed). Par defaut seule le modele file propose des declinaisons historiques pour text/html et text/csv

Location:
_core_/plugins/medias
Files:
3 added
1 deleted
4 edited

Legend:

Unmodified
Added
Removed
  • _core_/plugins/medias

    • Property subgit:lock:1ef0cf9bf9d23c699b6bbcf555b89c32d986ea19 deleted
    • Property subgit:lock:5df7ada7115bb6c4a2b5ed149b2effa8fc5cb141 set to 2020-05-13T11:15:10.125
  • _core_/plugins/medias/medias_fonctions.php

    r119512 r124666  
    382382        return $out;
    383383}
     384
     385
     386/**
     387 * Trouver le fond pour embarquer un document
     388 * - avec une extension
     389 * - avec un mime_type donne
     390 *
     391 * => modeles/{modele_base}_emb_html.html si il existe
     392 * => modeles/{modele_base}_text_html.html si il existe,
     393 * => modeles/{modele_base}_text.html si il existe,
     394 * => modeles/{modele_base}.html sinon
     395 *
     396 * @param  $extension
     397 * @param  $mime_type
     398 * @return mixed
     399 */
     400function medias_trouver_modele_emb($extension, $mime_type, $modele_base='file') {
     401        if ($extension and trouve_modele($fond = $modele_base . '_emb_' . $extension)) {
     402                return $fond;
     403        }
     404
     405        $fond = $modele_base . '_emb_' . preg_replace(',\W,', '_', $mime_type);
     406        if (trouve_modele($fond)) {
     407                return $fond;
     408        }
     409
     410        $fond = $modele_base . '_emb_' . preg_replace(',\W.*$,', '', $mime_type);
     411        if (trouve_modele($fond)) {
     412                return $fond;
     413        }
     414
     415        return $modele_base;
     416}
  • _core_/plugins/medias/modeles/file_emb.html

    r116135 r124666  
    11<BOUCLE_ext(DOCUMENTS types_documents) {id_document=#ENV{id,#ENV{id_document}}} {tout}>
    2 <INCLURE{fond=modeles/#EXTENSION|trouver_modele_emb{#MIME_TYPE}}{id=#ID_DOCUMENT}{env}{emb=' '}/>
     2<INCLURE{fond=modeles/#EXTENSION|medias_trouver_modele_emb{#MIME_TYPE,file}}{id=#ID_DOCUMENT}{env}{emb=' '}/>
    33</BOUCLE_ext>
  • _core_/plugins/medias/paquet.xml

    r122817 r124666  
    22        prefix="medias"
    33        categorie="multimedia"
    4         version="2.26.1"
     4        version="2.27.0"
    55        etat="stable"
    66        compatibilite="[3.3.0-dev;3.3.*]"
Note: See TracChangeset for help on using the changeset viewer.