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