Changeset 116135 in spip-zone


Ignore:
Timestamp:
Jul 29, 2019, 12:40:49 PM (13 months ago)
Author:
cedric@…
Message:

Refonte des modeles document :

  • on declare le routeur de modele medias_modeles_styliser qui redirige les raccourcis img, doc et emb selon la regle suivante
    • le nouveal modele correspond au champ media du document : image, audio, video, file
    • si une declinaison correspondant au raccourci initial (_img, _doc ou _emb) existe on la prend -> un modele file_emb.html reprend le mecanisme d'embed generique selon extension+mime-type de l'ancien modele emb.html
  • les 4 modeles de base image, audio, video, file et les declinaisons file_emb sont toutes en <figure></figure>
  • les styles en dur float sont supprimes, on ne garde qu'un width:{largeur}px sur l'element <figure> qui permet d'avoir un conteneur ajuste
    • il se contourne facilement par un min-width:100%; ou un width:auto !important;
  • spip_doc_titre, spip_doc_descriptif et spip_doc_credits sont regroupes dans le figcaption.spip_doc_legende
  • les modeles historiques doc, img et emb disparaissent. Les eventuels modeles surcharges dans squelettes/ sont ignores
  • les 3 modeles image, audio et video ajoutent des conditions sur leur boucle, pour etre sur qu'on a bien a faire avec le bon type de media, et sinon renvoient vers le modele file
  • le mode du document n'est plus considere dans aucun modele dans le format de l'affichage qui n'en depend donc plus du tout

En pratique donc <emb>, <img> et <doc> sont equivalents pour les medias audio, video, image (et consistent a afficher/embed le media par defaut)
Pour les autres types de media <doc> affiche le lien vers le document avec une vignette + legende, et <emb> affiche un traitement differencie en fonction du mime type
On peut utiliser le raccourci <fileXX> pour n'importe quel media
Si on utilise <imageXX> ou <audioXX> ou <videoXX> sur un media inaproprie ca affichera le contenu de <fileXX>

Location:
_core_/plugins/medias
Files:
3 deleted
5 edited
7 moved

Legend:

Unmodified
Added
Removed
  • _core_/plugins/medias/base/medias.php

    r113294 r116135  
    214214                        'distant'
    215215                ),
    216                 'modeles' => array('document', 'doc', 'img', 'emb', 'image', 'video', 'text', 'audio', 'application'),
     216                'modeles' => array('document', 'doc', 'img', 'emb', 'image', 'video', 'audio', 'file'),
     217                'modeles_styliser' => 'medias_modeles_styliser',
    217218        );
    218219
  • _core_/plugins/medias/medias_fonctions.php

    r113294 r116135  
    5555
    5656/**
     57 * Styliser le modele media : reroute les <img> <doc> <emb> vers <image>, <audio>, <video>, <file> selon le media du document
     58 * si le document n'est pas trouve c'est <file> qui s'applique
     59 * @param $modele
     60 * @param $id
     61 * @return string
     62 */
     63function medias_modeles_styliser($modele, $id) {
     64        switch($modele) {
     65                case 'img':
     66                case 'doc':
     67                case 'emb':
     68                        $m = 'file';
     69                        if ($doc = sql_fetsel('id_document,media', 'spip_documents', 'id_document='.intval($id))) {
     70                                $m = $doc['media']; // image, audio, video, file
     71                        }
     72                        if (trouve_modele("{$m}_{$modele}")) {
     73                                // on peut decliner file_emb qui sera utilisable soit par <docXX|emb> soit par <embXX>
     74                                // permet d'embed explicitement des fichiers exotiques qui sinon seraient de simples liens a telecharger
     75                                // tels que text/csv, text/html, text
     76                                $m = "{$m}_{$modele}";
     77                        }
     78                        $modele = $m;
     79                        break;
     80        }
     81        return $modele;
     82}
     83
     84
     85/**
    5786 * Retourne la taille en octet d'une valeur de configuration php
    5887 *
  • _core_/plugins/medias/modeles/audio.html

    r108329 r116135  
    1 <BOUCLE_tous (DOCUMENTS types_documents) {id_document=#ID} {tout}>
     1[(#REM)
     2
     3        Modele pour les sons
     4  Filtrer en acceptant uniquement les extensions jouables par le player ?
     5
     6]<BOUCLE_audio(DOCUMENTS types_documents) {media=audio} {id_document=#ENV{id,#ENV{id_document}}} {inclus=embed} {tout}>
    27#SET{largeur,#ENV{largeur, #LARGEUR|?{#LARGEUR,400}}|max{120}}
    38#SET{duree,#ENV{duree,#DUREE}}[(#SET{duree,[(#GET{duree}|intval|?{[(#GET{duree}|intval)],''})]})]
    4 <div    class='spip_document_#ID_DOCUMENT spip_document_audio spip_documents[ spip_documents_(#ENV{align})]'
    5         style='[(#ENV{align}|match{^(left|right)$}|oui)float:#ENV{align};][width:(#GET{largeur})px]'>
     9<figure class='spip_document_#ID_DOCUMENT spip_documents spip_document_audio[ spip_documents_(#ENV{align})]'[ style='width:(#GET{largeur})px;']>
    610        [(#LOGO_DOCUMENT{vignette}|image_reduire{#GET{largeur},0}|vider_attribut{class})]
    7 <div class="audio-wrapper"[ style='width:(#GET{largeur})px;max-width:100%;']>
    8         <audio class="mejs mejs-#ID_DOCUMENT [ mejs-(#ENV{skin})]"
    9                data-id="[(#VAL{mejs-#ID_DOCUMENT}|concat{#ENV{skin}}|md5)]"
    10                src="#FICHIER"
    11                type="#MIME_TYPE"
    12                    preload="none"
    13                data-mejsoptions='{"alwaysShowControls": true[,"loop":(#ENV{loop}|?{true,false})],"audioWidth":"100%"[,"audioHeight":"(#ENV{hauteur})"][,"startVolume":"(#ENV{volume})"][,"duration":(#GET{duree})]}'
    14                controls="controls"
    15                                  [autoplay="autoplay"(#ENV{autoplay}|oui)]></audio>
    16 </div>
    17 [<div class='#EDIT{titre} spip_doc_titre'><strong>(#TITRE)</strong></div>]
    18 [<div class='#EDIT{descriptif} spip_doc_descriptif'>(#DESCRIPTIF|PtoBR)[(#NOTES|PtoBR)]</div>]
     11  <div class="audio-wrapper"[ style='width:(#GET{largeur})px;max-width:100%;']>
     12        <audio class="mejs mejs-#ID_DOCUMENT [ mejs-(#ENV{skin})]"
     13               data-id="[(#VAL{mejs-#ID_DOCUMENT}|concat{#ENV{skin}}|md5)]"
     14               src="#FICHIER"
     15               type="#MIME_TYPE"
     16               preload="none"
     17               data-mejsoptions='{"alwaysShowControls": true[,"loop":(#ENV{loop}|?{true,false})],"audioWidth":"100%"[,"audioHeight":"(#ENV{hauteur})"][,"startVolume":"(#ENV{volume})"][,"duration":(#GET{duree})]}'
     18               controls="controls"
     19                                 [autoplay="autoplay"(#ENV{autoplay}|oui)]></audio>
     20  </div>
     21[(#TITRE|trim|sinon{#DESCRIPTIF|trim}|sinon{#CREDITS|trim}|oui)
     22  <figcaption class='spip_doc_legende'>
     23    [<div class='spip_doc_titre #EDIT{titre}'><strong>(#TITRE|propre|ptobr)</strong></div>]
     24    [<div class='spip_doc_descriptif #EDIT{descriptif}'>(#DESCRIPTIF|propre|PtoBR)[(#NOTES|PtoBR)]</div>]
     25    [<div class='spip_doc_credits  #EDIT{credits}'>(#CREDITS|propre|PtoBR)</div>]
     26  </figcaption>
     27]
    1928[<script>/*<!\[CDATA\[*/var mejspath='[(#CHEMIN{lib/mejs/mediaelement-and-player.min.js}|timestamp)]',mejscss='[(#CHEMIN{lib/mejs/mediaelementplayer.min.css}|timestamp)]';
    2029(#INCLURE{javascript/mejs-init.min.js})/*\]\]>*/</script>]
    2130[(#ENV{skin}|oui)[<style>(#INCLURE{#CHEMIN{css/mejs-skin-#ENV{skin}.css}|sinon{#CHEMIN{lib/mejs/mejs-skins.css}}|url_absolue_css})</style>]]
    22 </div>
    23 </BOUCLE_tous>
     31</figure>
     32</BOUCLE_audio>
     33<INCLURE{fond=modeles/file,env} />
     34<//B_audio>
  • _core_/plugins/medias/modeles/file.html

    r116134 r116135  
    1 <BOUCLE_doc (DOCUMENTS) {id_document} {tout}>
    2 [<!--(#REM)
    3 
    4         Modele pour <doc> en dl/dt/dd
    5         cf. http://pompage.net/pompe/listesdefinitions/
    6 
    7         La largeur de la legende est egale a la largeur de l'image
    8         avec un minimum de 120px, et un maximum de 350px.
    9 
    10         Dans le cas d'une simple image (mode=image), on affiche
    11         le document lui-meme, sans lien de telechargement
    12 -->]
    13 [(#ENV{mode_force,#MODE}|=={image}|oui)
     1<BOUCLE_file (DOCUMENTS) {id_document=#ENV{id,#ENV{id_document}}} {tout}>
     2[(#MEDIA|=={image}|oui)
    143        #SET{fichier,#URL_DOCUMENT}
    154        #SET{width,#LARGEUR}
    165        #SET{height,#HAUTEUR}
    176        #SET{url,#ENV{lien}}
    18 ]
    19 [(#ENV{mode_force,#MODE}|=={image}|non)
    20         [(#SET{fichier,[(#LOGO_DOCUMENT|extraire_attribut{src})]})]
    21         [(#SET{width,[(#LOGO_DOCUMENT|extraire_attribut{width})]})]
    22         [(#SET{height,[(#LOGO_DOCUMENT|extraire_attribut{height})]})]
     7][(#MEDIA|=={image}|non)
     8        #SET{image,#LOGO_DOCUMENT}
     9        [(#SET{fichier,[(#GET{image}|extraire_attribut{src})]})]
     10        [(#SET{width,[(#GET{image}|extraire_attribut{width})]})]
     11        [(#SET{height,[(#GET{image}|extraire_attribut{height})]})]
    2312        #SET{url,#ENV{lien,#URL_DOCUMENT}}
    2413][<!--(#REM)
     
    3625[(#SET{title,[(#TYPE_DOCUMENT) - [(#TAILLE|taille_en_octets)]]})]
    3726[(#MEDIA|=={image}|oui) #SET{title,#TITRE|sinon{#GET{title}}]
    38 <dl class='spip_document_#ID_DOCUMENT spip_documents[ spip_documents_(#ENV{align})][ (#ENV{class})] spip_lien_ok'[
    39         style='float:(#ENV{align}|match{left|right});']>
    40 <dt>[<a href="(#GET{url})"[
     27<figure class='spip_document_#ID_DOCUMENT spip_documents spip_document_file[ spip_documents_(#ENV{align})][ (#ENV{class})] spip_lien_ok' [ style='width:(#GET{width}|max{120})px;']>
     28[<a href="(#GET{url})"[
    4129        class="(#ENV{lien_class})"] title='[(#GET{title}|attribut_html)]'[
    42         (#ENV{lien}|?{'',type="#MIME_TYPE"})]>]<img src='#GET{fichier}' width='#GET{width}' height='#GET{height}' alt='' />[(#GET{url}|?{</a>})]</dt>[
    43 <dt class='#EDIT{titre} spip_doc_titre'[ style='width:(#GET{width}|min{350}|max{120})px;']><strong>(#TITRE)</strong></dt>][
    44 <dd class='#EDIT{descriptif} spip_doc_descriptif'[ style='width:(#GET{width}|min{350}|max{120})px;']>(#DESCRIPTIF|PtoBR)[(#NOTES|PtoBR)]</dd>]
    45 </dl>
    46 
    47 </BOUCLE_doc>
     30        (#ENV{lien}|?{'',type="#MIME_TYPE"})]>]<img src='#GET{fichier}' width='#GET{width}' height='#GET{height}' alt='' />[(#GET{url}|?{</a>})]
     31[(#TITRE|trim|sinon{#DESCRIPTIF|trim}|sinon{#CREDITS|trim}|oui)
     32  <figcaption class='spip_doc_legende'>
     33    [<div class='spip_doc_titre #EDIT{titre}'><strong>(#TITRE|propre|ptobr)</strong></div>]
     34    [<div class='spip_doc_descriptif #EDIT{descriptif}'>(#DESCRIPTIF|propre|PtoBR)[(#NOTES|PtoBR)]</div>]
     35    [<div class='spip_doc_credits  #EDIT{credits}'>(#CREDITS|propre|PtoBR)</div>]
     36  </figcaption>
     37]
     38</figure>
     39</BOUCLE_file>
    4840#FILTRE{trim}
  • _core_/plugins/medias/modeles/file_emb.html

    r116134 r116135  
    1 <BOUCLE_ext(DOCUMENTS types_documents) {id_document} {tout}>
     1<BOUCLE_ext(DOCUMENTS types_documents) {id_document=#ENV{id,#ENV{id_document}}} {tout}>
    22<INCLURE{fond=modeles/#EXTENSION|trouver_modele_emb{#MIME_TYPE}}{id=#ID_DOCUMENT}{env}{emb=' '}/>
    33</BOUCLE_ext>
  • _core_/plugins/medias/modeles/file_emb_application.html

    r116134 r116135  
    1 <BOUCLE_tous (DOCUMENTS types_documents) {id_document=#ID} {tout}>[
     1<BOUCLE_application(DOCUMENTS types_documents) {id_document=#ENV{id,#ENV{id_document}}} {inclus=embed} {mode?} {tout}>[
    22(#REM) on trouvera plusieurs variable de hauteur/largeur
    33- les balises #HAUTEUR et #LARGEUR
     
    1111 (#ENV{controls}=={PositionSlider}|?{#SET{hauteur,25},''})][
    1212 (#ENV{controls}=={PositionSlider}|?{#SET{largeur,#GET{largeur}|moins{40}},''})
    13 ][(#INCLUS|=={embed}|?{[(#ENV{controls,''}|non)
    14 <div class='spip_document_#ID_DOCUMENT spip_document_application spip_documents[ spip_documents_(#ENV{align})]'[
    15 style='[(#ENV{align}|match{^(left|right)$}|oui)float:#ENV{align};] (#ENV{align,center}|=={center}|non)[width:(#GET{largeur}|max{120})px]']>
    16 ]})
     13][(#ENV{controls,''}|non)
     14<figure class='spip_document_#ID_DOCUMENT spip_documents spip_document_application[ spip_documents_(#ENV{align})]'>
    1715][(#EXTENSION|=={swf}|oui)
    1816<object classid='clsid:d27cdb6e-ae6d-11cf-96b8-444553540000'
     
    3230#SET{done,1}
    3331][(#GET{done,0}|non)
    34 [(#INCLUS|=={embed}|oui)
    3532<object width='#GET{largeur}' height='#GET{hauteur}'>
    3633<param name='movie' value='#URL_DOCUMENT' />
     
    3835[(#ENV*|env_to_params)]
    3936<embed src='#URL_DOCUMENT' [(#ENV*|env_to_attributs)] width='#GET{largeur}' height='#GET{hauteur}'></embed></object>
    40 
    41 ][(#INCLUS|=={image}|oui)
    42 [(#INCLURE{fond=modeles/img}{id_document}{align=#ENV{align}}{embed=oui}{lien=#ENV{lien}}{lien_class=#ENV{lien_class}})]
     37][(#ENV{controls,''}|non)
     38        [(#TITRE|trim|sinon{#DESCRIPTIF|trim}|sinon{#CREDITS|trim}|oui)
     39          <figcaption class='spip_doc_legende'>
     40            [<div class='spip_doc_titre #EDIT{titre}'><strong>(#TITRE|propre|ptobr)</strong></div>]
     41            [<div class='spip_doc_descriptif #EDIT{descriptif}'>(#DESCRIPTIF|propre|PtoBR)[(#NOTES|PtoBR)]</div>]
     42            [<div class='spip_doc_credits  #EDIT{credits}'>(#CREDITS|propre|PtoBR)</div>]
     43          </figcaption>
     44        ]
     45</figure>
    4346]
    44 ][(#INCLUS|=={embed}|oui)[(#ENV{controls,''}|non)
    45 [<div class='#EDIT{titre} spip_doc_titre'><strong>(#TITRE)</strong></div>][<div class='#EDIT{descriptif} spip_doc_descriptif'>(#DESCRIPTIF|PtoBR)[(#NOTES|PtoBR)]</div>]</div>
    46 ]]
    47 </BOUCLE_tous>
     47</BOUCLE_application>
     48<INCLURE{fond=modeles/file,env} />
     49<//B_application>
  • _core_/plugins/medias/modeles/file_emb_fonctions.php

    r116134 r116135  
    1919 */
    2020function trouver_modele_emb($extension, $mime_type) {
    21         if ($extension and trouve_modele($fond = 'emb_' . $extension)) {
     21        if ($extension and trouve_modele($fond = 'file_emb_' . $extension)) {
    2222                return $fond;
    2323        }
    24         $fond = preg_replace(',\W,', '_', $mime_type);
     24        $fond = 'file_emb_' . preg_replace(',\W,', '_', $mime_type);
    2525        if (trouve_modele($fond)) {
    2626                return $fond;
    2727        } else {
    28                 return preg_replace(',\W.*$,', '', $mime_type);
     28                return 'file_emb_' . preg_replace(',\W.*$,', '', $mime_type);
    2929        }
    3030}
  • _core_/plugins/medias/modeles/file_emb_text.html

    r116134 r116135  
    1 <BOUCLE_tous (DOCUMENTS types_documents) {id_document=#ID} {tout}
    2         >[<div class='spip_document_#ID_DOCUMENT spip_documents[ spip_documents_(#ENV{align})]'
     1<BOUCLE_text (DOCUMENTS types_documents) {id_document=#ENV{id,#ENV{id_document}}} {tout}
     2        >[<figure class='spip_document_#ID_DOCUMENT spip_documents spip_document_text[ spip_documents_(#ENV{align})]'
    33><pre>(#FICHIER|contenu_document{#ENV{charset,auto}}|echapper_tags)</pre>
    4 [<div class='#EDIT{titre} spip_doc_titre'><strong>(#TITRE)</strong></div>][<div class='#EDIT{descriptif} spip_doc_descriptif'>(#DESCRIPTIF|PtoBR)[(#NOTES|PtoBR)]</div>]
    5 </div>
    6 ]</BOUCLE_tous>
     4[(#TITRE|trim|sinon{#DESCRIPTIF|trim}|sinon{#CREDITS|trim}|oui)
     5  <figcaption class='spip_doc_legende'>
     6    [<div class='spip_doc_titre #EDIT{titre}'><strong>(#TITRE|propre|ptobr)</strong></div>]
     7    [<div class='spip_doc_descriptif #EDIT{descriptif}'>(#DESCRIPTIF|propre|PtoBR)[(#NOTES|PtoBR)]</div>]
     8    [<div class='spip_doc_credits  #EDIT{credits}'>(#CREDITS|propre|PtoBR)</div>]
     9  </figcaption>
     10]
     11</figure>
     12]</BOUCLE_text>
  • _core_/plugins/medias/modeles/file_emb_text_csv.html

    r116134 r116135  
    11<BOUCLE_tous (DOCUMENTS types_documents) {id_document=#ID} {tout}
    2         >[(#FICHIER|contenu_document{#ENV{charset,auto}}|appliquer_filtre{#MIME_TYPE}
    3 )]</BOUCLE_tous>
     2        ><figure class='spip_document_#ID_DOCUMENT spip_documents spip_document_text[ spip_documents_(#ENV{align})]'>
     3[(#FICHIER|contenu_document{#ENV{charset,auto}}|appliquer_filtre{#MIME_TYPE})]
     4[(#TITRE|trim|sinon{#DESCRIPTIF|trim}|sinon{#CREDITS|trim}|oui)
     5  <figcaption class='spip_doc_legende'>
     6    [<div class='spip_doc_titre #EDIT{titre}'><strong>(#TITRE|propre|ptobr)</strong></div>]
     7    [<div class='spip_doc_descriptif #EDIT{descriptif}'>(#DESCRIPTIF|propre|PtoBR)[(#NOTES|PtoBR)]</div>]
     8    [<div class='spip_doc_credits  #EDIT{credits}'>(#CREDITS|propre|PtoBR)</div>]
     9  </figcaption>
     10]</figure>
     11</BOUCLE_tous>
  • _core_/plugins/medias/modeles/file_emb_text_html.html

    r116134 r116135  
    1 <BOUCLE_tous (DOCUMENTS types_documents) {id_document=#ID} {tout}
    2         >[<div class='spip_document_#ID_DOCUMENT spip_documents[ spip_documents_(#ENV{align})]'
     1<BOUCLE_texthtml (DOCUMENTS types_documents) {id_document=#ID} {tout}
     2        >[<figure class='spip_document_#ID_DOCUMENT spip_documents spip_document_text_html[ spip_documents_(#ENV{align})]'
    33><object data="(#URL_DOCUMENT)" width="100%" height="400"><a href="#URL_DOCUMENT">#FICHIER</a></object>
    4 [<div class='#EDIT{titre} spip_doc_titre'><strong>(#TITRE)</strong></div>][<div class='#EDIT{descriptif} spip_doc_descriptif'>(#DESCRIPTIF|PtoBR)[(#NOTES|PtoBR)]</div>]
    5 </div>
    6 ]</BOUCLE_tous>
     4[(#TITRE|trim|sinon{#DESCRIPTIF|trim}|sinon{#CREDITS|trim}|oui)
     5  <figcaption class='spip_doc_legende'>
     6    [<div class='spip_doc_titre #EDIT{titre}'><strong>(#TITRE|propre|ptobr)</strong></div>]
     7    [<div class='spip_doc_descriptif #EDIT{descriptif}'>(#DESCRIPTIF|propre|PtoBR)[(#NOTES|PtoBR)]</div>]
     8    [<div class='spip_doc_credits  #EDIT{credits}'>(#CREDITS|propre|PtoBR)</div>]
     9  </figcaption>
     10]
     11</figure>
     12]</BOUCLE_texthtml>
  • _core_/plugins/medias/modeles/image.html

    r102662 r116135  
    1 <BOUCLE_tous (DOCUMENTS types_documents) {id_document=#ID} {tout}>[
     1[(#REM)
    22
    3 (#REM) Cas <imageXX>    : equivalent a <imgXX> pour une image en mode image
     3        Modele pour les images
    44
    5 ][(#INCLUS|=={image}|et{#ENV{emb,''}|non}|oui)
    6 <span class='spip_document_#ID_DOCUMENT spip_documents[ spip_documents_(#ENV{align})][ (#ENV{class})] spip_lien_ok'[
    7          style='float:(#ENV{align}|match{left|right});']>[
    8         <a href="(#ENV{lien})"[
    9                 class="(#ENV{lien_class})"]>]<img src='#URL_DOCUMENT'[
    10                 width="(#LARGEUR|?{#LARGEUR})"][
    11                 height="(#HAUTEUR|?{#HAUTEUR})"][
    12                 title="(#TITRE|attribut_html)"]
    13                 alt="[(#TITRE|attribut_html)]" />[(#ENV{lien}|?{</a>})]</span>
    14 ][
    15 
    16 (#REM) Cas <embXX> : on est appele ici avec emb=' ' : on veut la legende
    17 equivalent a un <docXX> pour une image en mode image
    18 
    19 ][(#INCLUS|=={image}|et{#ENV{emb,''}|oui}|oui)
    20 #SET{fichier,#URL_DOCUMENT}
    21 #SET{width,#LARGEUR}
    22 #SET{height,#HAUTEUR}
    23 #SET{url,#ENV{lien}}
    24 <dl class='spip_document_#ID_DOCUMENT spip_documents[ spip_documents_(#ENV{align})][ (#ENV{class})] spip_lien_ok'[
    25                         style='float:(#ENV{align}|match{left|right});[width:(#GET{width}|max{120})]px;']>
    26 <dt>[<a href="(#GET{url})"[ class="(#ENV{lien_class})"] title='#TYPE_DOCUMENT - [(#TAILLE|taille_en_octets|texte_backend)]'[ type="(#ENV{lien}|?{#ENV{lien_mime},#MIME_TYPE})"]>]<img src='#GET{fichier}' width='#GET{width}' height='#GET{height}' alt='' />[(#GET{url}|?{</a>})]</dt>[
    27 <dt class='#EDIT{titre} spip_doc_titre'[ style='width:(#GET{width}|min{350}|max{120})px;']><strong>(#TITRE)</strong></dt>][
    28 <dd class='#EDIT{descriptif} spip_doc_descriptif'[ style='width:(#GET{width}|min{350}|max{120})px;']>(#DESCRIPTIF|PtoBR)[(#NOTES|PtoBR)]</dd>]
    29 </dl>
    30 ][
    31 
    32 (#REM) Cas des images qu'il faut embed (svg)
    33 ][
    34 (#INCLUS|=={embed}|oui)
    35 <div class='spip_document_#ID_DOCUMENT spip_documents[ spip_documents_(#ENV{align})]'[
    36 style='[(#ENV{align}|match{^(left|right)$}|?{' '})float:#ENV{align};] (#ENV{align,center}|=={center}|?{'',' '})']>
    37 <object data='#URL_DOCUMENT'
    38         type='#MIME_TYPE'[
    39         width='(#ENV{largeur}?{'', #LARGEUR})'][
    40         height='(#ENV{hauteur}?{'', #HAUTEUR})']
    41         [(#ENV*|env_to_attributs)] >
    42         <param name='src' value='#URL_DOCUMENT' />
    43         [(#ID_DOCUMENT|appliquer_filtre{#MIME_TYPE})]
    44 </object>[
    45 <div class='#EDIT{titre} spip_doc_titre'><strong>(#TITRE)</strong></div>
    46 ][
    47 <div class='#EDIT{descriptif} spip_doc_descriptif'>(#DESCRIPTIF|PtoBR)[(#NOTES|PtoBR)]</div>
    48 ]</div>]
    49 </BOUCLE_tous>
     5]
     6<BOUCLE_image (DOCUMENTS) {media=image} {id_document=#ENV{id,#ENV{id_document}}} {inclus=image} {mode?} {tout}>
     7[(#SET{autolien,#LARGEUR|>={800}|ou{#HAUTEUR|>={800}}|oui})]
     8[(#SET{image,[(#ENV{largeur}|ou{#ENV{hauteur}}|?{
     9                [(#FICHIER|image_reduire{#ENV{largeur,10000},#ENV{hauteur,10000}})],
     10                [<img src='(#URL_DOCUMENT)'[ width="(#LARGEUR)"][ height="(#HAUTEUR)"]/>]})]})]
     11[(#TITRE|oui)#SET{image,#GET{image}|inserer_attribut{alt,#TITRE}|inserer_attribut{title,#TITRE}}]
     12#SET{largeur,#GET{image}|largeur}
     13<figure class='spip_document_#ID_DOCUMENT spip_documents spip_document_image[ spip_documents_(#ENV{align}|sinon{center})][ (#ENV{class})] spip_lien_ok' [ style='width:(#GET{largeur})px;']>
     14[<a href="(#ENV{lien})"[ class="(#ENV{lien_class})"]>]
     15[(#ENV{lien}|non|et{#GET{autolien}})<a href="#URL_DOCUMENT" class="mediabox" type="#MIME_TYPE">]
     16                #GET{image}
     17[(#ENV{lien}|ou{#GET{autolien}}|?{</a>})]
     18[(#TITRE|trim|sinon{#DESCRIPTIF|trim}|sinon{#CREDITS|trim}|oui)
     19<figcaption class='spip_doc_legende'>
     20        [<div class='spip_doc_titre #EDIT{titre}'><strong>(#TITRE|propre|ptobr)</strong></div>]
     21        [<div class='spip_doc_descriptif #EDIT{descriptif}'>(#DESCRIPTIF|propre|PtoBR)[(#NOTES|PtoBR)]</div>]
     22        [<div class='spip_doc_credits  #EDIT{credits}'>(#CREDITS|propre|PtoBR)</div>]
     23</figcaption>
     24]
     25</figure>
     26</BOUCLE_image>
     27<INCLURE{fond=modeles/file,env} />
     28<//B_image>
  • _core_/plugins/medias/modeles/video.html

    r109767 r116135  
    1 <BOUCLE_tous(DOCUMENTS types_documents) {id_document=#ID} {tout}>[
     1<BOUCLE_video(DOCUMENTS types_documents) {media=video} {id_document=#ENV{id,#ENV{id_document}}} {inclus=embed} {tout}>[
    22(#REM) on trouvera plusieurs variable de hauteur/largeur
    33- les balises #HAUTEUR et #LARGEUR
     
    99#SET{hauteur,#ENV{hauteur, #HAUTEUR|?{#HAUTEUR,300}}|max{75}}
    1010#SET{duree,#ENV{duree,#DUREE}}[(#SET{duree,[(#GET{duree}|intval|?{[(#GET{duree}|intval)],''})]})]
    11 <div class='spip_document_#ID_DOCUMENT spip_document_video spip_documents[ spip_documents_(#ENV{align})]'
    12         style='[(#ENV{align}|match{^(left|right)$}|oui)float:#ENV{align};][width:(#GET{largeur})px]'>
    13 <div class="video-intrinsic-wrapper" style='height:0;width:100%;padding-bottom:[(#GET{hauteur}|div{#GET{largeur}}|mult{100}|round{2})]%;position:relative;'>
     11<figure class='spip_document_#ID_DOCUMENT spip_documents spip_document_video[ spip_documents_(#ENV{align})]'[ style='width:(#GET{largeur})px;']>
     12<div class="video-intrinsic-wrapper" style='height:0;width:#GET{largeur}px;max-width:100%;padding-bottom:[(#GET{hauteur}|div{#GET{largeur}}|mult{100}|round{2})]%;position:relative;'>
    1413        <div class="video-wrapper" style="position: absolute;top:0;left:0;width:100%;height:100%;">
    1514                <video class="mejs mejs-#ID_DOCUMENT[ mejs-(#ENV{skin})]"
     
    4039        </div>
    4140</div>
    42 [<div class='#EDIT{titre} spip_doc_titre'><strong>(#TITRE)</strong></div>]
    43 [<div class='#EDIT{descriptif} spip_doc_descriptif'>(#DESCRIPTIF|PtoBR)[(#NOTES|PtoBR)]</div>]
    44 [<script>/*<!\[CDATA\[*/var mejspath='[(#CHEMIN{lib/mejs/mediaelement-and-player.min.js}|timestamp)]',mejscss='[(#CHEMIN{lib/mejs/mediaelementplayer.min.css}|timestamp)]';
     41[(#TITRE|trim|sinon{#DESCRIPTIF|trim}|sinon{#CREDITS|trim}|oui)
     42  <figcaption class='spip_doc_legende'>
     43    [<div class='spip_doc_titre #EDIT{titre}'><strong>(#TITRE|propre|ptobr)</strong></div>]
     44    [<div class='spip_doc_descriptif #EDIT{descriptif}'>(#DESCRIPTIF|propre|PtoBR)[(#NOTES|PtoBR)]</div>]
     45    [<div class='spip_doc_credits  #EDIT{credits}'>(#CREDITS|propre|PtoBR)</div>]
     46  </figcaption>
     47][<script>/*<!\[CDATA\[*/var mejspath='[(#CHEMIN{lib/mejs/mediaelement-and-player.min.js}|timestamp)]',mejscss='[(#CHEMIN{lib/mejs/mediaelementplayer.min.css}|timestamp)]';
    4548(#INCLURE{javascript/mejs-init.min.js})/*\]\]>*/</script>]
    4649[(#ENV{skin}|oui)[<style>(#INCLURE{#CHEMIN{css/mejs-skin-#ENV{skin}.css}|url_absolue_css})</style>]]
    47 </div>
    48 </BOUCLE_tous>
     50</figure>
     51</BOUCLE_video>
     52<INCLURE{fond=modeles/file,env} />
     53<//B_video>
Note: See TracChangeset for help on using the changeset viewer.