X-Git-Url: http://git.cyclocoop.org/?p=velocampus%2Fweb%2Fwww.git;a=blobdiff_plain;f=www%2Fplugins%2Fauto%2Fsaisies%2Fsaisies_options.php;fp=www%2Fplugins%2Fauto%2Fsaisies%2Fsaisies_options.php;h=6a8635d53c5c7169b3be778eaeba305270173b14;hp=0000000000000000000000000000000000000000;hb=80b4d3e85f78d402ed2e73f8f5d1bf4c19962eed;hpb=aaf970bf4cdaf76689ecc10609048e18d073820c diff --git a/www/plugins/auto/saisies/saisies_options.php b/www/plugins/auto/saisies/saisies_options.php new file mode 100644 index 0000000..6a8635d --- /dev/null +++ b/www/plugins/auto/saisies/saisies_options.php @@ -0,0 +1,45 @@ + + * si oui applique _T() + * si non applique typo() suivant le mode choisi + * + * @param unknown_type $valeur Une valeur à tester. Si c'est un tableau, la fonction s'appliquera récursivement dessus. + * @param string $mode_typo Le mode d'application de la fonction typo(), avec trois valeurs possibles "toujours", "jamais" ou "multi". + * @return unknown_type Retourne la valeur éventuellement modifiée. + */ +if (!function_exists('_T_ou_typo')){ + function _T_ou_typo($valeur, $mode_typo='toujours') { + // Si la valeur est bien une chaine (et pas non plus un entier déguisé) + if (is_string($valeur) and !intval($valeur)){ + // Si la chaine est du type <:truc:> on passe à _T() + if (preg_match('/^\<:(.*?):\>$/', $valeur, $match)) + $valeur = _T($match[1]); + // Sinon on la passe a typo() + else { + if (!in_array($mode_typo, array('toujours', 'multi', 'jamais'))) + $mode_typo = 'toujours'; + + if ($mode_typo == 'toujours' or ($mode_typo == 'multi' and strpos($valeur, '') !== false)){ + include_spip('inc/texte'); + $valeur = typo($valeur); + } + } + } + // Si c'est un tableau, on reapplique la fonction récursivement + elseif (is_array($valeur)){ + foreach ($valeur as $cle => $valeur2){ + $valeur[$cle] = _T_ou_typo($valeur2, $mode_typo); + } + } + + return $valeur; + } +} + +?>