[SPIP] +2.1.12
[velocampus/web/www.git] / www / plugins / auto / saisies / saisies_options.php
1 <?php
2
3 // Sécurité
4 if (!defined('_ECRIRE_INC_VERSION')) return;
5
6 /*
7 * une fonction qui regarde si $texte est une chaine de langue
8 * de la forme <:qqch:>
9 * si oui applique _T()
10 * si non applique typo() suivant le mode choisi
11 *
12 * @param unknown_type $valeur Une valeur à tester. Si c'est un tableau, la fonction s'appliquera récursivement dessus.
13 * @param string $mode_typo Le mode d'application de la fonction typo(), avec trois valeurs possibles "toujours", "jamais" ou "multi".
14 * @return unknown_type Retourne la valeur éventuellement modifiée.
15 */
16 if (!function_exists('_T_ou_typo')){
17 function _T_ou_typo($valeur, $mode_typo='toujours') {
18 // Si la valeur est bien une chaine (et pas non plus un entier déguisé)
19 if (is_string($valeur) and !intval($valeur)){
20 // Si la chaine est du type <:truc:> on passe à _T()
21 if (preg_match('/^\<:(.*?):\>$/', $valeur, $match))
22 $valeur = _T($match[1]);
23 // Sinon on la passe a typo()
24 else {
25 if (!in_array($mode_typo, array('toujours', 'multi', 'jamais')))
26 $mode_typo = 'toujours';
27
28 if ($mode_typo == 'toujours' or ($mode_typo == 'multi' and strpos($valeur, '<multi>') !== false)){
29 include_spip('inc/texte');
30 $valeur = typo($valeur);
31 }
32 }
33 }
34 // Si c'est un tableau, on reapplique la fonction récursivement
35 elseif (is_array($valeur)){
36 foreach ($valeur as $cle => $valeur2){
37 $valeur[$cle] = _T_ou_typo($valeur2, $mode_typo);
38 }
39 }
40
41 return $valeur;
42 }
43 }
44
45 ?>