Skip to content
Extraits de code Groupes Projets
Valider 22a57c64 rédigé par cerdic's avatar cerdic
Parcourir les fichiers

complement de [11315]

- des quotes en trop, definir la matrice pour les filtres couleur_xx aussi
- gerer les exceptions dans filtrer et non plus dans le compilateur
- lorsqu'il ne s'agit pas d'un filtre image, se rabattre sur chercher_filtre par homogeneite avec le compilateur, et retourner une erreur skel si pas trouve
parent be159772
Aucune branche associée trouvée
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
......@@ -165,6 +165,7 @@ function version_svn_courante($dir) {
// La matrice est necessaire pour ne filtrer _que_ des fonctions definies dans filtres_images
// et laisser passer les fonctions personnelles baptisees image_...
$GLOBALS['spip_matrice']['image_valeurs_trans'] = true;
$GLOBALS['spip_matrice']['image_graver'] = true;
$GLOBALS['spip_matrice']['image_reduire'] = true;
$GLOBALS['spip_matrice']['image_reduire_par'] = true;
$GLOBALS['spip_matrice']['image_recadre'] = true;
......@@ -189,16 +190,30 @@ $GLOBALS['spip_matrice']['image_imagick'] = true;
$GLOBALS['spip_matrice']['image_ramasse_miettes'] = true;
$GLOBALS['spip_matrice']['image_passe_partout'] = true;
$GLOBALS['spip_matrice']['couleur_dec_to_hex'] = 'inc/filtres_images.php';
$GLOBALS['spip_matrice']['couleur_hex_to_dec'] = 'inc/filtres_images.php';
$GLOBALS['spip_matrice']['couleur_extreme'] = 'inc/filtres_images.php';
$GLOBALS['spip_matrice']['couleur_inverser'] = 'inc/filtres_images.php';
$GLOBALS['spip_matrice']['couleur_eclaircir'] = 'inc/filtres_images.php';
$GLOBALS['spip_matrice']['couleur_foncer'] = 'inc/filtres_images.php';
$GLOBALS['spip_matrice']['couleur_foncer_si_claire'] = 'inc/filtres_images.php';
$GLOBALS['spip_matrice']['couleur_eclaircir_si_foncee'] = 'inc/filtres_images.php';
// charge les fonctions graphiques et applique celle demandee
// http://doc.spip.org/@filtrer
function filtrer($filtre) {
find_in_path('filtres_images.php', 'inc/', true);
if (is_string($f = $GLOBALS['spip_matrice'][$filtre]))
find_in_path($f,'', true);
$tous = func_get_args();
if (substr($filtre,0,6)=='image_' && $GLOBALS['spip_matrice']['$filtre'])
if (substr($filtre,0,6)=='image_' && $GLOBALS['spip_matrice'][$filtre])
return image_filtrer($tous);
else{
array_shift($tous); # enlever $filtre
return call_user_func_array($filtre, $tous);
elseif($f = chercher_filtre($filtre)) {
array_shift($tous);
return call_user_func_array($f, $tous);
}
else {
// le filtre n'existe pas, on provoque une erreur
erreur_squelette(texte_script(_T('zbug_erreur_filtre', array('filtre'=>$filtre))),'');
}
}
......@@ -213,6 +228,7 @@ function image_filtrer($args){
$filtre = array_shift($args); # enlever $filtre
$texte = array_shift($args);
if (!$texte) return;
find_in_path('filtres_images.php','inc/', true);
// Cas du nom de fichier local
if ( strpos(substr($texte,strlen(_DIR_RACINE)),'..')===FALSE
......
......@@ -424,7 +424,6 @@ function applique_filtres($p) {
// http://doc.spip.org/@compose_filtres
function compose_filtres(&$p, $code) {
global $table_criteres_infixes;
static $exceptions = array('image_typo');
$image_miette = false;
foreach($p->param as $filtre) {
......@@ -451,7 +450,7 @@ function compose_filtres(&$p, $code) {
if (in_array($fonc, $table_criteres_infixes))
$code = "($code $fonc " . substr($arglist,1) . ')';
elseif (((substr($fonc,0,6)=='image_') OR substr($fonc,0,8)=='couleur_') AND !in_array($fonc, $exceptions)) {
elseif (isset($GLOBALS['spip_matrice'][$fonc])) {
$code = "filtrer('$fonc',$code$arglist)";
if ($is_filtre_image) $image_miette = true;
}
......
0% Chargement en cours ou .
You are about to add 0 people to the discussion. Proceed with caution.
Terminez d'abord l'édition de ce message.
Veuillez vous inscrire ou vous pour commenter