source: spip-zone/_plugins_/saisies/trunk/saisies_options.php @ 87651

Last change on this file since 87651 was 87651, checked in by marcimat@…, 6 years ago
  • PHPDoc en plus à certains endroits
  • Pas de fermeture de php sur les fichiers php
  • Le phpdoc nécessite 2 étoiles
  • Les pipelines simplement déclarés (et non utilisés dans saisis) le sont dans paquet.xml directement
File size: 1.5 KB
Line 
1<?php
2
3/**
4 * Déclaration systématiquement chargées
5 *
6 * @package SPIP\Saisies
7**/
8
9// Sécurité
10if (!defined('_ECRIRE_INC_VERSION')) return;
11
12
13if (!function_exists('_T_ou_typo')){
14        /**
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
19         *
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".
24         * @return mixed
25         *     Retourne la valeur éventuellement modifiée.
26         */
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()
34                        else {
35                                if (!in_array($mode_typo, array('toujours', 'multi', 'jamais')))
36                                        $mode_typo = 'toujours';
37                       
38                                if ($mode_typo == 'toujours' or ($mode_typo == 'multi' and strpos($valeur, '<multi>') !== false)){
39                                        include_spip('inc/texte');
40                                        $valeur = typo($valeur);
41                                }
42                        }
43                }
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);
48                        }
49                }
50
51                return $valeur;
52        }
53}
54
Note: See TracBrowser for help on using the repository browser.