[PLUGINS] +crayons
[lhc/web/clavette_www.git] / www / plugins / crayons / inc / compat_crayons.php
1 <?php
2 /**
3 * Crayons
4 * plugin for spip
5 * (c) Fil, toggg 2006-2013
6 * licence GPL
7 */
8
9 if (!defined("_ECRIRE_INC_VERSION")) return;
10
11 ## ceci n'est pas l'original mais la copie pour crayons
12
13 // Module de compatibilite pour les plugins qui veulent passer en 1.9.3
14 // tout en restant compatibles avec 1.9.2 voire 1.9.1 : il permet de faire
15 // tourner sur ces versions du code prevu pour 1.9.3
16
17 // C'est l'inverse de vieilles_defs (lequel vise a permettre a du code
18 // fait pour 1.9.2 de tourner sur 1.9.3)
19
20 // Ce module doit etre appele par le plugin ("nouveau code") de la
21 // maniere suivante :
22 /*
23
24 // Si SPIP est vieux, charger les fonctions de compat
25 if ($GLOBALS['spip_version_code'] < '1.93'
26 AND $f = charger_fonction('compat', 'inc'))
27 $f();
28
29 qui charge toutes les defs de compat connues
30
31 ou plus precis :
32
33 // Si SPIP est vieux, charger les fonctions de compat
34 if ($GLOBALS['spip_version_code'] < '1.93'
35 AND $f = charger_fonction('compat', 'inc'))
36 $f('sql_fetch');
37
38 ou encore :
39
40 // Si SPIP est vieux, charger les fonctions de compat
41 if ($GLOBALS['spip_version_code'] < '1.93'
42 AND $f = charger_fonction('compat', 'inc'))
43 $f(array('sql_fetch', '_q'));
44
45
46 */
47
48 // En termes de distribution ce fichier PEUT etre recopie dans chaque plugin
49 // qui desire en avoir une version autonome (voire forkee), A CONDITION DE
50 // RENOMMER le fichier et ses deux fonctions ; c'est un peu lourd a maintenir
51 // mais c'est le prix a payer pour l'independance des plugins entre eux :-(
52
53 // la version commune a tous est developpee sur
54 // svn://zone.spip.org/spip-zone/_dev_/compat/
55
56
57 function inc_compat_crayons_dist($quoi = NULL) {
58 if (!function_exists($f = 'compat_crayons_defs')) $f .= '_dist';
59 $defs = $f();
60
61 if (is_string($quoi))
62 $quoi = array($quoi);
63 else if (is_null($quoi))
64 $quoi = array_keys($defs);
65
66 foreach ($quoi as $d) {
67 if (!function_exists($d)
68 AND isset($defs[$d])) {
69 eval ("function $d".$defs[$d]);
70 }
71 }
72 }
73
74 function compat_crayons_defs_dist() {
75 $defs = array();
76
77 // http://trac.rezo.net/trac/spip/changeset/9919
78 if ($GLOBALS['spip_version_code'] < '1.9259')
79 $defs['sql_fetch'] = '($res, $serveur=\'\') {
80 return spip_fetch_array($res);
81 }';
82
83 $defs['table_objet_sql'] = '($type) {
84 global $table_des_tables;
85 $nom = table_objet($type);
86 include_spip(\'public/interfaces\');
87 if (isset($table_des_tables[$nom])) {
88 $t = $table_des_tables[$nom];
89 $nom = \'spip_\' . $t;
90 }
91 return $nom ;
92 }';
93
94 // Contourner un bug du plugin CFG
95 include_spip('base/abstract_sql');
96
97 return $defs;
98 }
99
100 ?>