- Ajout d'un fichier de désinstallation ;
- Compatibilité SPIP 3.1 ; - Up de z.svn/attic/mejs/trunk/103720
parent
764db33d98
commit
fe88ff740e
@ -1,28 +1,31 @@
|
||||
<!-- presentation=non -->
|
||||
<!-- nom=mejs -->
|
||||
<div class="formulaire_spip formulaire_cfg formulaire_configurer formulaire_#FORM">
|
||||
<h3 class='titrem'><img src="#CHEMIN_IMAGE{mejs-32.png}" class="cadre-icone" /><:mejs:titre_configurer_mejs:></h3>
|
||||
[<p class="reponse_formulaire reponse_formulaire_ok">(#ENV*{message_ok})</p>]
|
||||
[<p class="reponse_formulaire reponse_formulaire_erreur">(#ENV*{message_erreur})</p>]
|
||||
<form method='post' action='#ENV{action}'><div>
|
||||
#ACTION_FORMULAIRE{#ENV{action}}
|
||||
<ul>
|
||||
#SET{fl,mejs}
|
||||
#SET{name,maxwidth}#SET{obli,''}#SET{erreurs,#ENV**{erreurs}|table_valeur{#GET{name}}}
|
||||
<li class="editer editer_[(#GET{name})][ (#GET{obli})][ (#GET{erreurs}|oui)erreur]">
|
||||
<label for="#GET{name}">[(#GET{fl}|concat{':label_',#GET{name}}|_T)]</label>[
|
||||
<span class='erreur_message'>(#GET{erreurs})</span>
|
||||
]<input type="text" name="#GET{name}" class="text" value="#ENV*{#GET{name},600}" id="#GET{name}"/>
|
||||
</li>
|
||||
#SET{name,maxheight}#SET{obli,''}#SET{erreurs,#ENV**{erreurs}|table_valeur{#GET{name}}}
|
||||
<li class="editer editer_[(#GET{name})][ (#GET{obli})][ (#GET{erreurs}|oui)erreur]">
|
||||
<label for="#GET{name}">[(#GET{fl}|concat{':label_',#GET{name}}|_T)]</label>[
|
||||
<span class='erreur_message'>(#GET{erreurs})</span>
|
||||
]<input type="text" name="#GET{name}" class="text" value="#ENV*{#GET{name},400}" id="#GET{name}"/>
|
||||
</li>
|
||||
</ul>
|
||||
[(#REM) ajouter les saisies supplementaires : extra et autre, a cet endroit ]
|
||||
<!--extra-->
|
||||
<p class='boutons'><span class='image_loading'> </span><input type='submit' class='submit' value='<:bouton_enregistrer:>' /></p>
|
||||
</div></form>
|
||||
<h3 class='titrem'><img src="#CHEMIN_IMAGE{mejs-32.png}" class="cadre-icone" /><:mejs:titre_configurer_mejs:></h3>
|
||||
[<p class="reponse_formulaire reponse_formulaire_ok">(#ENV*{message_ok})</p>]
|
||||
[<p class="reponse_formulaire reponse_formulaire_erreur">(#ENV*{message_erreur})</p>]
|
||||
<form method='post' action='#ENV{action}'><div>
|
||||
#ACTION_FORMULAIRE{#ENV{action}}
|
||||
<ul class="editer-groupe">
|
||||
#SET{fl,mejs}
|
||||
#SET{name,maxwidth}#SET{obli,''}#SET{erreurs,#ENV**{erreurs}|table_valeur{#GET{name}}}
|
||||
<li class="editer editer_[(#GET{name})][ (#GET{obli})][ (#GET{erreurs}|oui)erreur]">
|
||||
<label for="#GET{name}">[(#GET{fl}|concat{':label_',#GET{name}}|_T)]</label>[
|
||||
<span class='erreur_message'>(#GET{erreurs})</span>
|
||||
]<input type="text" name="#GET{name}" class="text" value="#ENV*{#GET{name},600}" id="#GET{name}"/>
|
||||
</li>
|
||||
#SET{name,maxheight}#SET{obli,''}#SET{erreurs,#ENV**{erreurs}|table_valeur{#GET{name}}}
|
||||
<li class="editer editer_[(#GET{name})][ (#GET{obli})][ (#GET{erreurs}|oui)erreur]">
|
||||
<label for="#GET{name}">[(#GET{fl}|concat{':label_',#GET{name}}|_T)]</label>[
|
||||
<span class='erreur_message'>(#GET{erreurs})</span>
|
||||
]<input type="text" name="#GET{name}" class="text" value="#ENV*{#GET{name},400}" id="#GET{name}"/>
|
||||
</li>
|
||||
</ul>
|
||||
[(#REM) ajouter les saisies supplementaires : extra et autre, a cet endroit ]
|
||||
<!--extra-->
|
||||
<p class='boutons'>
|
||||
<span class='image_loading'> </span>
|
||||
<input type='submit' class='submit' value='<:bouton_enregistrer:>' />
|
||||
</p>
|
||||
</div></form>
|
||||
</div>
|
@ -0,0 +1,43 @@
|
||||
<?php
|
||||
/**
|
||||
* Fichier gérant l'installation et désinstallation du plugin MediaElementPlayer
|
||||
*
|
||||
* @plugin MediaElementPlayer
|
||||
* @copyright 2014-2015
|
||||
* @author John Dyer
|
||||
* @licence MIT
|
||||
* @package SPIP\Mejs\Installation
|
||||
*/
|
||||
|
||||
if (!defined('_ECRIRE_INC_VERSION')) {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Fonction d'installation et de mise à jour du plugin MediaElementPlayer.
|
||||
*
|
||||
* @param string $nom_meta_base_version
|
||||
* Nom de la meta informant de la version du schéma de données du plugin installé dans SPIP
|
||||
* @param string $version_cible
|
||||
* Version du schéma de données dans ce plugin (déclaré dans paquet.xml)
|
||||
* @return void
|
||||
**/
|
||||
function mejs_upgrade($nom_meta_base_version, $version_cible) {
|
||||
$maj = array();
|
||||
include_spip('base/upgrade');
|
||||
maj_plugin($nom_meta_base_version, $version_cible, $maj);
|
||||
}
|
||||
|
||||
/**
|
||||
* Fonction de désinstallation du plugin MediaElementPlayer.
|
||||
*
|
||||
* @param string $nom_meta_base_version
|
||||
* Nom de la meta informant de la version du schéma de données du plugin installé dans SPIP
|
||||
* @return void
|
||||
**/
|
||||
function mejs_vider_tables($nom_meta_base_version) {
|
||||
effacer_meta('mejs');
|
||||
effacer_meta($nom_meta_base_version);
|
||||
}
|
||||
|
||||
?>
|
@ -1,80 +1,88 @@
|
||||
<?php
|
||||
/**
|
||||
* Utilisations de pipelines par MediaElementPlayer
|
||||
* Utilisations de pipelines par MediaElementPlayer.
|
||||
*
|
||||
* @plugin MediaElementPlayer
|
||||
* @copyright 2014
|
||||
* @copyright 2014-2015
|
||||
* @author John Dyer
|
||||
* @licence MIT
|
||||
* @package SPIP\Mejs\Pipelines
|
||||
*/
|
||||
|
||||
if (!defined('_ECRIRE_INC_VERSION')) return;
|
||||
|
||||
if (!defined('_ECRIRE_INC_VERSION')) {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* inserer systematiquement le CSS dans la page
|
||||
* inserer systematiquement le CSS dans la page.
|
||||
*
|
||||
* @param string $flux
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
function mejs_insert_head_css($flux){
|
||||
$css = find_in_path('mejs/mediaelementplayer.css');
|
||||
$flux .= "<link rel='stylesheet' type='text/css' media='all' href='$css' />\n";
|
||||
$css = find_in_path('mejs/mejs-skins.css');
|
||||
$flux .= "<link rel='stylesheet' type='text/css' media='all' href='$css' />\n";
|
||||
return $flux;
|
||||
function mejs_insert_head_css($flux) {
|
||||
$css = find_in_path('mejs/mediaelementplayer.css');
|
||||
$flux .= "<link rel='stylesheet' type='text/css' media='all' href='$css' />\n";
|
||||
$css = find_in_path('mejs/mejs-skins.css');
|
||||
$flux .= "<link rel='stylesheet' type='text/css' media='all' href='$css' />\n";
|
||||
|
||||
return $flux;
|
||||
}
|
||||
|
||||
/**
|
||||
* inserer systematiquement le JS dans la page
|
||||
* on utilise uniquement la fonction pour l'affichage prive
|
||||
* pour l'affichage publique on utilise plutot le pipeline affichage_final comme sur video accessible
|
||||
*
|
||||
* pour l'affichage publique on utilise plutot le pipeline affichage_final comme sur video accessible.
|
||||
*
|
||||
* @param string $flux
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
function mejs_insert_head($flux){
|
||||
$js = find_in_path('mejs/mediaelement-and-player.min.js');
|
||||
$flux .= "<script type='text/javascript' src='$js'></script>\n";
|
||||
// $flux .= "<script>$('video,audio').mediaelementplayer();</script>\n"; // l'appel se fait à la volee
|
||||
return $flux;
|
||||
*/
|
||||
function mejs_insert_head($flux) {
|
||||
$js = find_in_path('mejs/mediaelement-and-player.min.js');
|
||||
$flux .= "<script type='text/javascript' src='$js'></script>\n";
|
||||
// $flux .= "<script>$('video,audio').mediaelementplayer();</script>\n"; // l'appel se fait à la volee
|
||||
return $flux;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Insertion dynamique du js en pied de page,
|
||||
* uniquement en presence de video sur la page
|
||||
* et sur les pages html ! (pas dans les flux rss ou autre)
|
||||
*
|
||||
*(pas l'instant pas utilise)
|
||||
*
|
||||
* et sur les pages html ! (pas dans les flux rss ou autre).
|
||||
*
|
||||
*(pas l'instant pas utilise)
|
||||
*
|
||||
* @param string $flux
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
function mejs_affichage_final($flux){
|
||||
function mejs_affichage_final($flux) {
|
||||
if ($GLOBALS['html']
|
||||
AND stripos($flux,'mejs-')){
|
||||
and stripos($flux, 'mejs-')) {
|
||||
$script = find_in_path('mejs/mediaelement-and-player.min.js');
|
||||
lire_fichier($script, $js);
|
||||
$js = '<script type="text/javascript">/*<![CDATA[*/'.$js.'/*]]>*/</script>';
|
||||
if ($p=stripos($flux,'</body>'))
|
||||
$flux = substr_replace($flux,$js,$p,0);
|
||||
else
|
||||
$flux .= $js;
|
||||
lire_fichier($script, $js);
|
||||
$js = '<script type="text/javascript">/*<![CDATA[*/'.$js.'/*]]>*/</script>';
|
||||
if ($p = stripos($flux, '</body>')) {
|
||||
$flux = substr_replace($flux, $js, $p, 0);
|
||||
} else {
|
||||
$flux .= $js;
|
||||
}
|
||||
}
|
||||
|
||||
return $flux;
|
||||
}
|
||||
|
||||
/**
|
||||
* inserer systematiquement le JS dans la page
|
||||
* inserer systematiquement le JS dans la page.
|
||||
*
|
||||
* @param string $flux
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
function mejs_header_prive($flux){
|
||||
$flux = mejs_insert_head($flux);
|
||||
$flux .= "<script type='text/javascript'>jQuery(function(){ $('video,audio').mediaelementplayer();});</script>\n"; // dans le prive, on a appel le script via le head
|
||||
$flux = mejs_insert_head_css($flux);
|
||||
return $flux;
|
||||
}
|
||||
function mejs_header_prive($flux) {
|
||||
$flux = mejs_insert_head($flux);
|
||||
$flux .= "<script type='text/javascript'>jQuery(function(){ $('video,audio').mediaelementplayer();});</script>\n"; // dans le prive, on a appel le script via le head
|
||||
$flux = mejs_insert_head_css($flux);
|
||||
|
||||
?>
|
||||
return $flux;
|
||||
}
|
||||
|
@ -1,28 +1,28 @@
|
||||
[(#REM)
|
||||
Modele html audio
|
||||
|
||||
|
||||
Parametre:
|
||||
- id: id_document
|
||||
- skin: habillage (facultatif) valeurs possibles: ted,wmp
|
||||
- largeur
|
||||
- hauteur
|
||||
- loop
|
||||
- autoplay
|
||||
|
||||
- id: id_document
|
||||
- skin: habillage (facultatif) valeurs possibles: ted,wmp
|
||||
- largeur
|
||||
- hauteur
|
||||
- loop
|
||||
- autoplay
|
||||
|
||||
]
|
||||
<BOUCLE_tous(DOCUMENTS types_documents){id_document=#ID}{tout}{extension IN mp3}>
|
||||
<audio id="mejs-#ID_DOCUMENT" src="#FICHIER" type="audio/mp3" controls="controls" class="mejs[ mejs-(#ENV{skin})]"></audio>
|
||||
<audio id="mejs-#ID_DOCUMENT" src="#FICHIER" type="audio/mp3" controls="controls" class="mejs[ mejs-(#ENV{skin})]"></audio>
|
||||
[(#REM|test_espace_prive|non)<script>
|
||||
(function($) {
|
||||
var player#ID_DOCUMENT = new MediaElementPlayer('#mejs-#ID_DOCUMENT',
|
||||
{
|
||||
[(#ENV{largeur}|oui) [audioWidth:(#ENV{largeur}|intval),]]
|
||||
[(#ENV{hauteur}|oui) [audioHeight:(#ENV{hauteur}|intval),]]
|
||||
[(#ENV{volume}|oui) [volume:(#ENV{volume}|floatval),]]
|
||||
[(#ENV{loop}|oui) loop:true,]
|
||||
}
|
||||
);
|
||||
[(#ENV{autoplay}|oui) player#ID_DOCUMENT.play();]
|
||||
var player#ID_DOCUMENT = new MediaElementPlayer('#mejs-#ID_DOCUMENT',
|
||||
{
|
||||
[(#ENV{largeur}|oui) [audioWidth:(#ENV{largeur}|intval),]]
|
||||
[(#ENV{hauteur}|oui) [audioHeight:(#ENV{hauteur}|intval),]]
|
||||
[(#ENV{volume}|oui) [volume:(#ENV{volume}|floatval),]]
|
||||
[(#ENV{loop}|oui) loop:true,]
|
||||
}
|
||||
);
|
||||
[(#ENV{autoplay}|oui) player#ID_DOCUMENT.play();]
|
||||
})(jQuery);
|
||||
</script>]
|
||||
</BOUCLE_tous>
|
||||
|
@ -1,30 +1,30 @@
|
||||
[(#REM)
|
||||
[(#REM)
|
||||
Modele html video
|
||||
|
||||
Parametre:
|
||||
- id: id_document
|
||||
- skin: habillage (facultatif) valeurs possibles: ted,wmp
|
||||
- volume
|
||||
- autoplay buggué sur chrome ... pas documenté officiellement
|
||||
|
||||
][(#SET{largeur,500})] [(#CONFIG{mejs/maxwidth}|oui) [(#SET{largeur,#CONFIG{mejs/maxwidth}})]]
|
||||
[(#SET{hauteur,300})] [(#CONFIG{mejs/maxheight}|oui) [(#SET{hauteur,#CONFIG{mejs/maxheight}})]]
|
||||
<BOUCLE_tous(DOCUMENTS types_documents){id_document=#ID}{tout}>
|
||||
[(#LARGEUR|oui) [(#SET{largeur,#LARGEUR})]]
|
||||
|
||||
Parametre:
|
||||
- id: id_document
|
||||
- skin: habillage (facultatif) valeurs possibles: ted,wmp
|
||||
- volume
|
||||
- autoplay buggué sur chrome ... pas documenté officiellement
|
||||
|
||||
][(#SET{largeur,500})] [(#CONFIG{mejs/maxwidth}|oui) [(#SET{largeur,#CONFIG{mejs/maxwidth}})]]
|
||||
[(#SET{hauteur,300})] [(#CONFIG{mejs/maxheight}|oui) [(#SET{hauteur,#CONFIG{mejs/maxheight}})]]
|
||||
<BOUCLE_tous(DOCUMENTS types_documents){id_document=#ID}{tout}>
|
||||
[(#LARGEUR|oui) [(#SET{largeur,#LARGEUR})]]
|
||||
[(#HAUTEUR|oui) [(#SET{hauteur,#HAUTEUR})]]
|
||||
<video id="mejs-#ID_DOCUMENT" src="#FICHIER"[ width="(#GET{largeur})"][ height="(#GET{hauteur})"]
|
||||
[(#MIME_TYPE|=={application/mp4}|oui) type="video/mp4"]
|
||||
preload="none" controls="controls"
|
||||
[(#LOGO_DOCUMENT|extraire_attribut{src}|couper{23,''}|=={plugins-dist/medias}|non) [poster="(#LOGO_DOCUMENT|extraire_attribut{src})"]]
|
||||
class="mejs[ mejs-(#ENV{skin})]"
|
||||
></video>
|
||||
[(#MIME_TYPE|=={application/mp4}|oui) type="video/mp4"]
|
||||
preload="none" controls="controls"
|
||||
[(#LOGO_DOCUMENT|extraire_attribut{src}|couper{23,''}|=={plugins-dist/medias}|non) [poster="(#LOGO_DOCUMENT|extraire_attribut{src})"]]
|
||||
class="mejs[ mejs-(#ENV{skin})]"
|
||||
></video>
|
||||
[(#REM|test_espace_prive|non)<script>
|
||||
(function($) {
|
||||
var player#ID_DOCUMENT = new MediaElementPlayer('#mejs-#ID_DOCUMENT',{
|
||||
[(#ENV{volume}|oui) [startVolume:(#ENV{volume}|floatval),]]
|
||||
});
|
||||
[(#ENV{autoplay}|oui) player#ID_DOCUMENT.play();]
|
||||
})(jQuery);
|
||||
(function($) {
|
||||
var player#ID_DOCUMENT = new MediaElementPlayer('#mejs-#ID_DOCUMENT',{
|
||||
[(#ENV{volume}|oui) [startVolume:(#ENV{volume}|floatval),]]
|
||||
});
|
||||
[(#ENV{autoplay}|oui) player#ID_DOCUMENT.play();]
|
||||
})(jQuery);
|
||||
</script>]
|
||||
</BOUCLE_tous>
|
||||
#FILTRE{trim}
|
@ -1,22 +1,23 @@
|
||||
<paquet
|
||||
prefix="mejs"
|
||||
categorie="multimedia"
|
||||
version="0.2.1"
|
||||
version="0.2.2"
|
||||
etat="dev"
|
||||
compatibilite="[3.0.10;3.0.*]"
|
||||
compatibilite="[3.0.10;3.1.*]"
|
||||
logo="prive/themes/spip/images/mejs-64.png"
|
||||
documentation="http://contrib.spip.net/4403"
|
||||
schema="0.1.0"
|
||||
>
|
||||
|
||||
<nom>MediaElementPlayer</nom>
|
||||
<auteur lien='http://mediaelementjs.com/'>John Dyer</auteur>
|
||||
<auteur lien='http://www.erational.org'>erational (mise en plugin)</auteur>
|
||||
<auteur lien='http://www.erational.org'>erational (mise en plugin)</auteur>
|
||||
<licence>MIT</licence>
|
||||
|
||||
<pipeline nom="insert_head_css" inclure="mejs_pipelines.php"/>
|
||||
<pipeline nom="insert_head" inclure="mejs_pipelines.php" />
|
||||
<!-- <pipeline nom="affichage_final" inclure="mejs_pipelines.php" /> -->
|
||||
<pipeline nom="header_prive" inclure="mejs_pipelines.php" />
|
||||
|
||||
<utilise nom="medias" compatibilite="[2.7.27;[" />
|
||||
|
||||
<pipeline nom="insert_head_css" inclure="mejs_pipelines.php"/>
|
||||
<pipeline nom="insert_head" inclure="mejs_pipelines.php" />
|
||||
<!-- <pipeline nom="affichage_final" inclure="mejs_pipelines.php" /> -->
|
||||
<pipeline nom="header_prive" inclure="mejs_pipelines.php" />
|
||||
|
||||
<utilise nom="medias" compatibilite="[2.7.27;[" />
|
||||
</paquet>
|
@ -1,4 +1,4 @@
|
||||
<h1><:mejs:titre_page_configurer_mejs:></h1>
|
||||
<h1 class="grostitre"><:mejs:titre_page_configurer_mejs:></h1>
|
||||
|
||||
<div class="ajax">
|
||||
#FORMULAIRE_CONFIGURER_MEJS
|
||||
|
Loading…
Reference in New Issue