Valider 468012a5 rédigé par marcimat's avatar marcimat
Parcourir les fichiers

Ticket #3625 : pouvoir utiliser des fonctions ou classes avec des namespaces...

Ticket #3625 : pouvoir utiliser des fonctions ou classes avec des namespaces en tant que filtres dans les squelettes. La prise en charge était… partielle.
Pour une fois, ça simplifie le code, car ici on ne peut indiquer que des méthodes statiques de classes (et pas des méthodes sur une instance d'une classe).

On peut donc écrire (si les fonctions / classes ) sont correctement déclarées :
```
- [(#VAL{3}|carre)]<br/>
- [(#VAL{3}|Math\Simple\carre)]<br/>
- [(#VAL{3}|Math::cube)]<br/>
- [(#VAL{3}|Math\Simple\Base::cube)]<br/>
```
parent 796cd6c2
Chargement en cours
Chargement en cours
Chargement en cours
Chargement en cours
+6 −5
Numéro de ligne d'origine Numéro de ligne de diff Ligne de diff
@@ -94,11 +94,12 @@ function chercher_filtre($fonc, $default = null) {
	}
	foreach (array('filtre_' . $fonc, 'filtre_' . $fonc . '_dist', $fonc) as $f) {
		trouver_filtre_matrice($f); // charge des fichiers spécifiques éventuels
		if (function_exists($f)
			or (preg_match("/^(\w*)::(\w*)$/", $f, $regs)
				and is_callable(array($regs[1], $regs[2]))
			)
		) {
		// fonction ou name\space\fonction
		if (is_callable($f)) {
			return $f;
		}
		// méthode statique d'une classe Classe::methode ou name\space\Classe::methode
		elseif (false === strpos($f, '::') and is_callable(array($f))) {
			return $f;
		}
	}