Valider 8ff5845a rédigé par Eric Lupinacci's avatar Eric Lupinacci
Parcourir les fichiers

Ajout de deux balises dans la DTD de paquet.xml :

- <style> qui permet d'insérer une feuille css dans le head privé et/ou public en remplacement de l'écriture du pipeline idoine
- <script> qui permet la même chose pour les js.
La description complète de ces balises sera disponible sur le site plugins.spip.net dès que cette nouvelle fonctionnalité sera validée.
parent 0b486d2b
Chargement en cours
Chargement en cours
Chargement en cours
Chargement en cours
+52 −0
Numéro de ligne d'origine Numéro de ligne de diff Ligne de diff
@@ -128,6 +128,8 @@ function paquet_debutElement($phraseur, $name, $attrs) {
			$attrs['procure'] = array();
			$attrs['pipeline'] = array();
			$attrs['utilise'] = array();
			$attrs['style'] = array();
			$attrs['script'] = array();
		}
		$phraseur->contenu['compatible'] = $n;
		$phraseur->versions[$phraseur->contenu['compatible']] = $attrs;
@@ -335,4 +337,54 @@ function info_paquet_pipeline($phraseur, $attrs, $texte) {
	$phraseur->versions[$n]['pipeline'][] = $attrs;
}


/**
 * Style : plusieurs declarations possibles.
 * Traitement de l'attribut source pour générer en remplacement les attributs url et path
 *
 * @param $phraseur
 * @param $attrs
 * @param $texte
 */
function info_paquet_style($phraseur, $attrs, $texte) {
	$lien = $chemin = $type = $media = '';

	include_spip('inc/utils');
	if (tester_url_absolue($attrs['source']))
		$lien = $attrs['source'];
	else
		$chemin = $attrs['source'];
	if (isset($attrs['type']))
		$type = $attrs['type'];
	if (isset($attrs['media']))
		$media = $attrs['media'];

	$n = $phraseur->contenu['compatible'];
	$phraseur->versions[$n]['style'][] = array('url' => $lien, 'path' => $chemin, 'type' => $type, 'media' => $media);
}


/**
 * Script : plusieurs declarations possibles.
 * Traitement de l'attribut source pour générer en remplacement les attributs url et path
 *
 * @param $phraseur
 * @param $attrs
 * @param $texte
 */
function info_paquet_script($phraseur, $attrs, $texte) {
	$lien = $chemin = $type = $media = '';

	include_spip('inc/utils');
	if (tester_url_absolue($attrs['source']))
		$lien = $attrs['source'];
	else
		$chemin = $attrs['source'];
	if (isset($attrs['type']))
		$type = $attrs['type'];

	$n = $phraseur->contenu['compatible'];
	$phraseur->versions[$n]['script'][] = array('url' => $lien, 'path' => $chemin, 'type' => $type);
}

?>
+14 −1
Numéro de ligne d'origine Numéro de ligne de diff Ligne de diff
@@ -27,6 +27,7 @@
<!ENTITY % VNUM "CDATA"> <!-- 3 entiers naturels separes par un point: x.y.z -->
<!ENTITY % INTERVAL "CDATA"> <!-- 2 VNUM entre crochets separes par un point-virgule -->
<!ENTITY % ITEM "CDATA"> <!-- chaine de langue -->
<!ENTITY % SOURCE "CDATA"> <!-- un chemin au format %PATH ou un lien au format %URI -->

<!ENTITY % ETAT "(experimental|dev|test|stable)" >

@@ -34,7 +35,7 @@

<!ENTITY % CREDITS "(auteur|copyright|credit|licence)*" >

<!ENTITY % IMPLEMENTATION "(menu|chemin|lib|necessite|onglet|procure|pipeline|utilise)*" >
<!ENTITY % IMPLEMENTATION "(menu|chemin|lib|necessite|onglet|procure|pipeline|utilise|style|script)*" >

<!ELEMENT paquet (nom, %CREDITS;, traduire*, %IMPLEMENTATION;, spip*) >
<!ATTLIST paquet
@@ -142,3 +143,15 @@
	  icone %PATH; #IMPLIED
>

<!ELEMENT style EMPTY>
<!ATTLIST style
	  source %SOURCE; #REQUIRED
	  type %NAME; #IMPLIED
	  media %NAME; #IMPLIED
>

<!ELEMENT script EMPTY>
<!ATTLIST script
	  source %SOURCE; #REQUIRED
	  type %NAME; #IMPLIED
>