You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
55 lines
2.2 KiB
PHP
55 lines
2.2 KiB
PHP
<?php
|
|
#ini_set('display_errors','1'); error_reporting(E_ALL ^ (E_NOTICE | E_WARNING));
|
|
if (!defined("_ECRIRE_INC_VERSION")) return;
|
|
#---------------------------------------------------#
|
|
# Plugin : AScore #
|
|
# Auteur : Patrice Vanneufville, 2021 #
|
|
# Contact : patrice¡.!vanneufville¡@!laposte¡.!net #
|
|
# Licence : GPL #
|
|
#--------------------------------------------------------------------------#
|
|
# Documentation : https://contrib.spip.net/ #
|
|
#--------------------------------------------------------------------------#
|
|
|
|
// balises du plugin a inserer dans les articles
|
|
define('_SCORE_DEBUT', '<ascore>');
|
|
define('_SCORE_FIN', '</ascore>');
|
|
define('_SCORE_ABC_DEBUT', '<abc>');
|
|
define('_SCORE_ABC_FIN', '</abc>');
|
|
define('_SCORE_PAE_DEBUT', '<pae>');
|
|
define('_SCORE_PAE_FIN', '</pae>');
|
|
define('_SCORE_REGEXP', 'ascore|abc|pae');
|
|
|
|
define('_VEROVIO_HEAD', "<!-- HEAD VEROVIO -->");
|
|
|
|
// filtre qui retire le code source des partitions du texte original
|
|
function pas_de_balise_ascore($texte) {
|
|
if(strpos($texte, '<')===false) return $texte;
|
|
return preg_replace(',<('._SCORE_REGEXP.')>.*?</(\\1)>,UimsS', '', $texte);
|
|
}
|
|
|
|
// filtre qui renvoie tous les aliases de configuration ($key en minuscules)
|
|
function ascore_aliases($key = "", $flip = false) {
|
|
static $aliases = array(
|
|
'largeur' => 'xLargeur', 'class' => 'xClass', 'style' => 'xStyle',
|
|
'balise' => 'xBalise', 'marges' => 'xMarges', 'zoom' => 'xZoom',
|
|
'align' => 'xAlign', 'code' => 'xCode', 'cache' => 'xCache',
|
|
'mini' => 'xMini', 'inline' => 'xInline', 'styletitre' => 'xTitreCSS'
|
|
|
|
);
|
|
static $aliases_flip;
|
|
if(!$aliases_flip) $aliases_flip = array_flip($aliases);
|
|
if(!$key)
|
|
return json_encode($flip ? $aliases_flip : $aliases);
|
|
$lkey = strtolower($key);
|
|
if($flip)
|
|
return isset($aliases_flip[$key]) ? $aliases_flip[$key] : $key;
|
|
return isset($aliases[$lkey]) ? $aliases[$lkey] : $key;
|
|
}
|
|
|
|
// aide le Couteau Suisse a calculer la balise #INTRODUCTION
|
|
$GLOBALS['cs_introduire'][] = 'pas_de_balise_ascore';
|
|
// aide le Couteau Suisse a echapper les balises des partitions lors des traitements typo
|
|
$GLOBALS['cs_echapper'][] = _SCORE_REGEXP;
|
|
|
|
?>
|