a64d7dcea7d6a48e3a3d5b826306cf96f4ada6b4
4 * Déclaration systématiquement chargées
6 * @package SPIP\Saisies
10 if (!defined('_ECRIRE_INC_VERSION')) return;
13 if (!function_exists('_T_ou_typo')){
15 * une fonction qui regarde si $texte est une chaine de langue
16 * de la forme <:qqch:>
17 * si oui applique _T()
18 * si non applique typo() suivant le mode choisi
20 * @param mixed $valeur
21 * Une valeur à tester. Si c'est un tableau, la fonction s'appliquera récursivement dessus.
22 * @param string $mode_typo
23 * Le mode d'application de la fonction typo(), avec trois valeurs possibles "toujours", "jamais" ou "multi".
25 * Retourne la valeur éventuellement modifiée.
27 function _T_ou_typo($valeur, $mode_typo='toujours') {
28 // Si la valeur est bien une chaine (et pas non plus un entier déguisé)
29 if (is_string($valeur) and !intval($valeur)){
30 // Si la chaine est du type <:truc:> on passe à _T()
31 if (preg_match('/^\<:(.*?):\>$/', $valeur, $match))
32 $valeur = _T($match[1]);
33 // Sinon on la passe a typo()
35 if (!in_array($mode_typo, array('toujours', 'multi', 'jamais')))
36 $mode_typo = 'toujours';
38 if ($mode_typo == 'toujours' or ($mode_typo == 'multi' and strpos($valeur, '<multi>') !== false)){
39 include_spip('inc/texte');
40 $valeur = typo($valeur);
44 // Si c'est un tableau, on reapplique la fonction récursivement
45 elseif (is_array($valeur)){
46 foreach ($valeur as $cle => $valeur2){
47 $valeur[$cle] = _T_ou_typo($valeur2, $mode_typo);