[SPIP] +2.1.12
[velocampus/web/www.git] / www / plugins / auto / saisies / saisies_options.php
diff --git a/www/plugins/auto/saisies/saisies_options.php b/www/plugins/auto/saisies/saisies_options.php
new file mode 100644 (file)
index 0000000..6a8635d
--- /dev/null
@@ -0,0 +1,45 @@
+<?php
+
+// Sécurité
+if (!defined('_ECRIRE_INC_VERSION')) return;
+
+/*
+ * une fonction qui regarde si $texte est une chaine de langue
+ * de la forme <:qqch:>
+ * 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, '<multi>') !== 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;
+       }
+}
+
+?>