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.
ascore/ascore_fonctions.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;
?>