[PLUGINS] +crayons
[lhc/web/clavette_www.git] / www / plugins / crayons / inc / compat_crayons.php
diff --git a/www/plugins/crayons/inc/compat_crayons.php b/www/plugins/crayons/inc/compat_crayons.php
new file mode 100644 (file)
index 0000000..5eba693
--- /dev/null
@@ -0,0 +1,100 @@
+<?php\r
+/**\r
+ * Crayons \r
+ * plugin for spip \r
+ * (c) Fil, toggg 2006-2013\r
+ * licence GPL\r
+ */\r
+\r
+if (!defined("_ECRIRE_INC_VERSION")) return;\r
+\r
+## ceci n'est pas l'original mais la copie pour crayons\r
+\r
+// Module de compatibilite pour les plugins qui veulent passer en 1.9.3\r
+// tout en restant compatibles avec 1.9.2 voire 1.9.1 : il permet de faire\r
+// tourner sur ces versions du code prevu pour 1.9.3\r
+\r
+// C'est l'inverse de vieilles_defs (lequel vise a permettre a du code\r
+// fait pour 1.9.2 de tourner sur 1.9.3)\r
+\r
+// Ce module doit etre appele par le plugin ("nouveau code") de la\r
+// maniere suivante :\r
+/*\r
+\r
+// Si SPIP est vieux, charger les fonctions de compat\r
+if ($GLOBALS['spip_version_code'] < '1.93'\r
+AND $f = charger_fonction('compat', 'inc'))\r
+       $f();\r
+\r
+qui charge toutes les defs de compat connues\r
+\r
+ou plus precis :\r
+\r
+// Si SPIP est vieux, charger les fonctions de compat\r
+if ($GLOBALS['spip_version_code'] < '1.93'\r
+AND $f = charger_fonction('compat', 'inc'))\r
+       $f('sql_fetch');\r
+\r
+ou encore :\r
+\r
+// Si SPIP est vieux, charger les fonctions de compat\r
+if ($GLOBALS['spip_version_code'] < '1.93'\r
+AND $f = charger_fonction('compat', 'inc'))\r
+       $f(array('sql_fetch', '_q'));\r
+\r
+\r
+*/\r
+\r
+// En termes de distribution ce fichier PEUT etre recopie dans chaque plugin\r
+// qui desire en avoir une version autonome (voire forkee), A CONDITION DE\r
+// RENOMMER le fichier et ses deux fonctions ; c'est un peu lourd a maintenir\r
+// mais c'est le prix a payer pour l'independance des plugins entre eux :-(\r
+\r
+// la version commune a tous est developpee sur\r
+// svn://zone.spip.org/spip-zone/_dev_/compat/\r
+\r
+\r
+function inc_compat_crayons_dist($quoi = NULL) {\r
+       if (!function_exists($f = 'compat_crayons_defs')) $f .= '_dist';\r
+       $defs = $f();\r
+\r
+       if (is_string($quoi))\r
+               $quoi = array($quoi);\r
+       else if (is_null($quoi))\r
+               $quoi = array_keys($defs);\r
+\r
+       foreach ($quoi as $d) {\r
+               if (!function_exists($d)\r
+               AND isset($defs[$d])) {\r
+                       eval ("function $d".$defs[$d]);\r
+               }\r
+       }\r
+}\r
+\r
+function compat_crayons_defs_dist() {\r
+       $defs = array();\r
+\r
+       // http://trac.rezo.net/trac/spip/changeset/9919\r
+       if ($GLOBALS['spip_version_code'] < '1.9259')\r
+       $defs['sql_fetch'] = '($res, $serveur=\'\') {\r
+               return spip_fetch_array($res);\r
+       }';
+       
+       $defs['table_objet_sql'] = '($type) {
+               global $table_des_tables;
+               $nom = table_objet($type);
+               include_spip(\'public/interfaces\');
+               if (isset($table_des_tables[$nom])) {
+                       $t = $table_des_tables[$nom];
+                       $nom = \'spip_\' . $t;
+               }
+               return $nom ;
+       }';\r
+\r
+       // Contourner un bug du plugin CFG\r
+       include_spip('base/abstract_sql');\r
+\r
+       return $defs;\r
+}\r
+\r
+?>\r