squellete2
[aidenligne_francais_universite.git] / ecrire / base / upgrade.php
1 <?php
2
3 /***************************************************************************\
4 * SPIP, Systeme de publication pour l'internet *
5 * *
6 * Copyright (c) 2001-2007 *
7 * Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
8 * *
9 * Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
10 * Pour plus de details voir le fichier COPYING.txt ou l'aide en ligne. *
11 \***************************************************************************/
12
13
14 if (!defined("_ECRIRE_INC_VERSION")) return;
15
16 // http://doc.spip.org/@maj_version
17 function maj_version ($version, $test = true) {
18 if ($test) {
19 include_spip('inc/meta');
20 ecrire_meta('version_installee', $version);
21 ecrire_metas();
22 spip_log("mise a jour de la base vers $version");
23 } else {
24 echo _T('alerte_maj_impossible', array('version' => $version));
25 exit;
26 }
27 }
28
29 // http://doc.spip.org/@upgrade_vers
30 function upgrade_vers($version, $version_installee, $version_cible = 0){
31 return ($version_installee<$version
32 AND (($version_cible>=$version) OR ($version_cible==0))
33 );
34 }
35 // http://doc.spip.org/@maj_base
36 function maj_base($version_cible = 0) {
37 global $spip_version;
38
39 //
40 // Lecture de la version installee
41 //
42 // spip_query_db car on est peut-etre en cours d'installation
43 $version_installee = 0.0;
44 $result = spip_query_db ("SELECT valeur FROM spip_meta WHERE nom='version_installee'");
45 if ($result) if ($row = spip_fetch_array($result)) $version_installee = (double) $row['valeur'];
46
47 //
48 // Si pas de version mentionnee dans spip_meta, c'est qu'il s'agit
49 // d'une nouvelle installation
50 // => ne pas passer par le processus de mise a jour
51 //
52 // $version_installee = 1.702; quand on a besoin de forcer une MAJ
53
54 if (!$version_installee) {
55 spip_query_db("REPLACE spip_meta (nom, valeur)
56 VALUES ('version_installee', '$spip_version')");
57 return true;
58 }
59
60
61 //
62 // Verification des droits de modification sur la base
63 //
64
65 spip_query("DROP TABLE IF EXISTS spip_test");
66 spip_query("CREATE TABLE spip_test (a INT)");
67 spip_query("ALTER TABLE spip_test ADD b INT");
68 spip_query("INSERT INTO spip_test (b) VALUES (1)");
69 $result = spip_query("SELECT b FROM spip_test");
70 spip_query("ALTER TABLE spip_test DROP b");
71 if (!$result) return false;
72
73 //
74 // Selection en fonction de la version
75 //
76 if (upgrade_vers(0.98, $version_installee, $version_cible)) {
77
78 spip_query("ALTER TABLE spip_articles ADD maj TIMESTAMP");
79 spip_query("ALTER TABLE spip_articles ADD export VARCHAR(10) DEFAULT 'oui'");
80 spip_query("ALTER TABLE spip_articles ADD images TEXT DEFAULT ''");
81 spip_query("ALTER TABLE spip_articles ADD date_redac datetime DEFAULT '0000-00-00 00:00:00' NOT NULL");
82 spip_query("ALTER TABLE spip_articles DROP INDEX id_article");
83 spip_query("ALTER TABLE spip_articles ADD INDEX id_rubrique (id_rubrique)");
84 spip_query("ALTER TABLE spip_articles ADD visites INTEGER DEFAULT '0' NOT NULL");
85 spip_query("ALTER TABLE spip_articles ADD referers BLOB NOT NULL");
86
87 spip_query("ALTER TABLE spip_auteurs ADD maj TIMESTAMP");
88 spip_query("ALTER TABLE spip_auteurs ADD pgp BLOB NOT NULL");
89
90 spip_query("ALTER TABLE spip_auteurs_articles ADD INDEX id_auteur (id_auteur), ADD INDEX id_article (id_article)");
91
92 spip_query("ALTER TABLE spip_rubriques ADD maj TIMESTAMP");
93 spip_query("ALTER TABLE spip_rubriques ADD export VARCHAR(10) DEFAULT 'oui', ADD id_import BIGINT DEFAULT '0'");
94
95 spip_query("ALTER TABLE spip_breves ADD maj TIMESTAMP");
96 spip_query("ALTER TABLE spip_breves DROP INDEX id_breve");
97 spip_query("ALTER TABLE spip_breves DROP INDEX id_breve_2");
98 spip_query("ALTER TABLE spip_breves ADD INDEX id_rubrique (id_rubrique)");
99
100 spip_query("ALTER TABLE spip_forum ADD ip VARCHAR(16)");
101 spip_query("ALTER TABLE spip_forum ADD maj TIMESTAMP");
102 spip_query("ALTER TABLE spip_forum DROP INDEX id_forum");
103 spip_query("ALTER TABLE spip_forum ADD INDEX id_parent (id_parent), ADD INDEX id_rubrique (id_rubrique), ADD INDEX id_article(id_article), ADD INDEX id_breve(id_breve)");
104 maj_version (0.98);
105 }
106
107 if (upgrade_vers(0.99, $version_installee, $version_cible)) {
108
109 $result = spip_query("SELECT DISTINCT id_article FROM spip_forum WHERE id_article!=0 AND id_parent=0");
110
111 while ($row = spip_fetch_array($result)) {
112 unset($forums_article);
113 $id_article = $row['id_article'];
114 $result2 = spip_query("SELECT id_forum FROM spip_forum WHERE id_article=$id_article");
115 for (;;) {
116 unset($forums);
117 while ($row2 = spip_fetch_array($result2)) $forums[] = $row2['id_forum'];
118 if (!$forums) break;
119 $forums = join(',', $forums);
120 $forums_article[] = $forums;
121 $result2 = spip_query("SELECT id_forum FROM spip_forum WHERE id_parent IN ($forums)");
122 }
123 $forums_article = join(',', $forums_article);
124 spip_query("UPDATE spip_forum SET id_article=$id_article WHERE id_forum IN ($forums_article)");
125 }
126
127 $result = spip_query("SELECT DISTINCT id_breve FROM spip_forum WHERE id_breve!=0 AND id_parent=0");
128
129 while ($row = spip_fetch_array($result)) {
130 unset($forums_breve);
131 $id_breve = $row['id_breve'];
132 $result2 = spip_query("SELECT id_forum FROM spip_forum WHERE id_breve=$id_breve");
133 for (;;) {
134 unset($forums);
135 while ($row2 = spip_fetch_array($result2)) $forums[] = $row2['id_forum'];
136 if (!$forums) break;
137 $forums = join(',', $forums);
138 $forums_breve[] = $forums;
139 $result2 = spip_query("SELECT id_forum FROM spip_forum WHERE id_parent IN ($forums)");
140 }
141 $forums_breve = join(',', $forums_breve);
142 spip_query("UPDATE spip_forum SET id_breve=$id_breve WHERE id_forum IN ($forums_breve)");
143 }
144
145 $result = spip_query("SELECT DISTINCT id_rubrique FROM spip_forum WHERE id_rubrique!=0 AND id_parent=0");
146
147 while ($row = spip_fetch_array($result)) {
148 unset($forums_rubrique);
149 $id_rubrique = $row['id_rubrique'];
150 $result2 = spip_query("SELECT id_forum FROM spip_forum WHERE id_rubrique=$id_rubrique");
151 for (;;) {
152
153 unset($forums);
154 while ($row2 = spip_fetch_array($result2)) $forums[] = $row2['id_forum'];
155 if (!$forums) break;
156 $forums = join(',', $forums);
157 $forums_rubrique[] = $forums;
158 $result2 = spip_query("SELECT id_forum FROM spip_forum WHERE id_parent IN ($forums)");
159 }
160 $forums_rubrique = join(',', $forums_rubrique);
161 spip_query("UPDATE spip_forum SET id_rubrique=$id_rubrique WHERE id_forum IN ($forums_rubrique)");
162
163 }
164 maj_version (0.99);
165 }
166
167 if (upgrade_vers(0.997, $version_installee, $version_cible)) {
168 spip_query("DROP TABLE spip_index");
169 maj_version (0.997);
170 }
171
172 if (upgrade_vers(0.999, $version_installee, $version_cible)) {
173 global $htsalt;
174 spip_query("ALTER TABLE spip_auteurs CHANGE pass pass tinyblob NOT NULL");
175 spip_query("ALTER TABLE spip_auteurs ADD htpass tinyblob NOT NULL");
176 $result = spip_query("SELECT id_auteur, pass FROM spip_auteurs WHERE pass!=''");
177
178 while (list($id_auteur, $pass) = spip_fetch_array($result, SPIP_NUM)) {
179 $htpass = generer_htpass($pass);
180 $pass = md5($pass);
181 spip_query("UPDATE spip_auteurs SET pass='$pass', htpass='$htpass' WHERE id_auteur=$id_auteur");
182 }
183 maj_version (0.999);
184 }
185
186 if (upgrade_vers(1.01, $version_installee, $version_cible)) {
187 spip_query("UPDATE spip_forum SET statut='publie' WHERE statut=''");
188 maj_version (1.01);
189 }
190
191 if (upgrade_vers(1.02, $version_installee, $version_cible)) {
192 spip_query("ALTER TABLE spip_forum ADD id_auteur BIGINT DEFAULT '0' NOT NULL");
193 maj_version (1.02);
194 }
195
196 if (upgrade_vers(1.03, $version_installee, $version_cible)) {
197 spip_query("DROP TABLE spip_maj");
198 maj_version (1.03);
199 }
200
201 if (upgrade_vers(1.04, $version_installee, $version_cible)) {
202 spip_query("ALTER TABLE spip_articles ADD accepter_forum VARCHAR(3)");
203 maj_version (1.04);
204 }
205
206 if (upgrade_vers(1.05, $version_installee, $version_cible)) {
207 spip_query("DROP TABLE spip_petition");
208 spip_query("DROP TABLE spip_signatures_petition");
209 maj_version (1.05);
210 }
211
212 if (upgrade_vers(1.1, $version_installee, $version_cible)) {
213 spip_query("DROP TABLE spip_petition");
214 spip_query("DROP TABLE spip_signatures_petition");
215 maj_version (1.1);
216 }
217
218 // Correction de l'oubli des modifs creations depuis 1.04
219 if (upgrade_vers(1.204, $version_installee, $version_cible)) {
220 spip_query("ALTER TABLE spip_articles ADD accepter_forum VARCHAR(3) NOT NULL");
221 spip_query("ALTER TABLE spip_forum ADD id_message bigint(21) NOT NULL");
222 spip_query("ALTER TABLE spip_forum ADD INDEX id_message (id_message)");
223 spip_query("ALTER TABLE spip_auteurs ADD en_ligne datetime DEFAULT '0000-00-00 00:00:00' NOT NULL");
224 spip_query("ALTER TABLE spip_auteurs ADD imessage VARCHAR(3) not null");
225 spip_query("ALTER TABLE spip_auteurs ADD messagerie VARCHAR(3) not null");
226 maj_version (1.204);
227 }
228
229 if (upgrade_vers(1.207, $version_installee, $version_cible)) {
230 spip_query("ALTER TABLE spip_rubriques DROP INDEX id_rubrique");
231 spip_query("ALTER TABLE spip_rubriques ADD INDEX id_parent (id_parent)");
232 spip_query("ALTER TABLE spip_rubriques ADD statut VARCHAR(10) NOT NULL");
233 // Declencher le calcul des rubriques publiques
234 include_spip('inc/rubriques');
235 calculer_rubriques();
236 maj_version (1.207);
237 }
238
239 if (upgrade_vers(1.208, $version_installee, $version_cible)) {
240 spip_query("ALTER TABLE spip_auteurs_messages CHANGE forum vu CHAR(3) NOT NULL");
241 spip_query("UPDATE spip_auteurs_messages SET vu='oui'");
242 spip_query("UPDATE spip_auteurs_messages SET vu='non' WHERE statut='a'");
243
244 spip_query("ALTER TABLE spip_messages ADD id_auteur bigint(21) NOT NULL");
245 spip_query("ALTER TABLE spip_messages ADD INDEX id_auteur (id_auteur)");
246 $result = spip_query("SELECT id_auteur, id_message FROM spip_auteurs_messages WHERE statut='de'");
247 while ($row = spip_fetch_array($result)) {
248 $id_auteur = $row['id_auteur'];
249 $id_message = $row['id_message'];
250 spip_query("UPDATE spip_messages SET id_auteur=$id_auteur WHERE id_message=$id_message");
251 }
252
253 spip_query("ALTER TABLE spip_auteurs_messages DROP statut");
254 maj_version (1.208);
255 }
256
257 if (upgrade_vers(1.209, $version_installee, $version_cible)) {
258 spip_query("ALTER TABLE spip_syndic ADD maj TIMESTAMP");
259 spip_query("ALTER TABLE spip_syndic_articles ADD maj TIMESTAMP");
260 spip_query("ALTER TABLE spip_messages ADD maj TIMESTAMP");
261 maj_version (1.209);
262 }
263
264 if (upgrade_vers(1.210, $version_installee, $version_cible)) {
265 spip_query("ALTER TABLE spip_messages DROP page");
266
267 stripslashes_base('spip_articles', array('surtitre', 'titre', 'soustitre', 'descriptif', 'chapo', 'texte', 'ps'));
268 stripslashes_base('spip_auteurs', array('nom', 'bio', 'nom_site'));
269 stripslashes_base('spip_breves', array('titre', 'texte', 'lien_titre'));
270 stripslashes_base('spip_forum', array('titre', 'texte', 'auteur', 'nom_site'));
271 stripslashes_base('spip_messages', array('titre', 'texte'));
272 stripslashes_base('spip_mots', array('type', 'titre', 'descriptif', 'texte'));
273 stripslashes_base('spip_petitions', array('texte'));
274 stripslashes_base('spip_rubriques', array('titre', 'descriptif', 'texte'));
275 stripslashes_base('spip_signatures', array('nom_email', 'nom_site', 'message'));
276 stripslashes_base('spip_syndic', array('nom_site', 'descriptif'));
277 stripslashes_base('spip_syndic_articles', array('titre', 'lesauteurs'));
278 maj_version (1.210);
279 }
280
281 if (upgrade_vers(1.3, $version_installee, $version_cible)) {
282 // Modifier la syndication (pour liste de sites)
283 spip_query("ALTER TABLE spip_syndic ADD syndication VARCHAR(3) NOT NULL");
284 spip_query("ALTER TABLE spip_syndic ADD statut VARCHAR(10) NOT NULL");
285 spip_query("ALTER TABLE spip_syndic ADD date datetime DEFAULT '0000-00-00 00:00:00' NOT NULL");
286 spip_query("UPDATE spip_syndic SET syndication='oui', statut='publie', date=NOW()");
287
288 // Statut pour articles syndication, pour pouvoir desactiver un article
289 spip_query("ALTER TABLE spip_syndic_articles ADD statut VARCHAR(10) NOT NULL");
290 spip_query("UPDATE spip_syndic_articles SET statut='publie'");
291 maj_version (1.3);
292 }
293
294 if (upgrade_vers(1.301, $version_installee, $version_cible)) {
295 spip_query("ALTER TABLE spip_forum ADD id_syndic bigint(21) DEFAULT '0' NOT NULL");
296 maj_version (1.301);
297 }
298
299 if (upgrade_vers(1.302, $version_installee, $version_cible)) {
300 # spip_query("ALTER TABLE spip_forum_cache DROP PRIMARY KEY");
301 # spip_query("ALTER TABLE spip_forum_cache DROP INDEX fichier");
302 # spip_query("ALTER TABLE spip_forum_cache ADD PRIMARY KEY (fichier, id_forum, id_article, id_rubrique, id_breve, id_syndic)");
303 spip_query("ALTER TABLE spip_forum ADD INDEX id_syndic (id_syndic)");
304 maj_version (1.302);
305 }
306
307 if (upgrade_vers(1.303, $version_installee, $version_cible)) {
308 spip_query("ALTER TABLE spip_rubriques ADD date datetime DEFAULT '0000-00-00 00:00:00' NOT NULL");
309 spip_query("ALTER TABLE spip_syndic ADD date_syndic datetime DEFAULT '0000-00-00 00:00:00' NOT NULL");
310 spip_query("UPDATE spip_syndic SET date_syndic=date");
311 maj_version (1.303);
312 }
313
314 if (upgrade_vers(1.306, $version_installee, $version_cible)) {
315 spip_query("DROP TABLE spip_index_syndic_articles");
316 spip_query("ALTER TABLE spip_syndic ADD date_index datetime DEFAULT '0000-00-00 00:00:00' NOT NULL");
317 spip_query("ALTER TABLE spip_syndic ADD INDEX date_index (date_index)");
318 maj_version (1.306);
319 }
320
321 if (upgrade_vers(1.307, $version_installee, $version_cible)) {
322 spip_query("ALTER TABLE spip_syndic_articles ADD descriptif blob NOT NULL");
323 maj_version (1.307);
324 }
325
326 if (upgrade_vers(1.404, $version_installee, $version_cible)) {
327 spip_query("UPDATE spip_mots SET type='Mots sans groupe...' WHERE type=''");
328
329 $result = spip_query("SELECT * FROM spip_mots GROUP BY type");
330 while($row = spip_fetch_array($result)) {
331 $type = addslashes($row['type']);
332 // Old style, doit echouer
333 spip_log('ne pas tenir compte de l erreur spip_groupes_mots ci-dessous:', 'mysql');
334 spip_query("INSERT INTO spip_groupes_mots (titre, unseul, obligatoire, articles, breves, rubriques, syndic, 0minirezo, 1comite, 6forum) VALUES (\"$type\", 'non', 'non', 'oui', 'oui', 'non', 'oui', 'oui', 'oui', 'non')");
335 // New style, devrait marcher
336 spip_query("INSERT INTO spip_groupes_mots (titre, unseul, obligatoire, articles, breves, rubriques, syndic, minirezo, comite, forum) VALUES (\"$type\", 'non', 'non', 'oui', 'oui', 'non', 'oui', 'oui', 'oui', 'non')");
337 }
338 spip_query("DELETE FROM spip_mots WHERE titre='kawax'");
339 maj_version (1.404);
340 }
341
342 if (upgrade_vers(1.405, $version_installee, $version_cible)) {
343 spip_query("ALTER TABLE spip_mots ADD id_groupe bigint(21) NOT NULL");
344
345 $result = spip_query("SELECT * FROM spip_groupes_mots");
346 while($row = spip_fetch_array($result)) {
347 $id_groupe = addslashes($row['id_groupe']);
348 $type = addslashes($row['titre']);
349 spip_query("UPDATE spip_mots SET id_groupe = '$id_groupe' WHERE type='$type'");
350 }
351 maj_version (1.405);
352 }
353
354 if (upgrade_vers(1.408, $version_installee, $version_cible)) {
355 // Images articles passent dans spip_documents
356 $result = spip_query("SELECT id_article, images FROM spip_articles WHERE LENGTH(images) > 0");
357
358
359 $types = array('jpg' => 1, 'png' => 2, 'gif' => 3);
360
361 while ($row = @spip_fetch_array($result)) {
362 $id_article = $row['id_article'];
363 $images = $row['images'];
364 $images = explode(",", $images);
365 reset($images);
366 $replace = '_orig_';
367 foreach ($images as $val) {
368 $image = explode("|", $val);
369 $fichier = $image[0];
370 $largeur = $image[1];
371 $hauteur = $image[2];
372 ereg("-([0-9]+)\.(gif|jpg|png)$", $fichier, $match);
373 $id_type = intval($types[$match[2]]);
374 $num_img = $match[1];
375 $fichier = _DIR_IMG . $fichier;
376 $taille = @filesize($fichier);
377 // ici on n'a pas les fonctions absctract !
378 $s = spip_query("INSERT INTO spip_documents (titre, id_type, fichier, mode, largeur, hauteur, taille) VALUES ('image $largeur x $hauteur', $id_type, '$fichier', 'vignette', '$largeur', '$hauteur', '$taille')");
379 $id_document = mysql_insert_id($s);
380 if ($id_document > 0) {
381 spip_query("INSERT INTO spip_documents_articles (id_document, id_article) VALUES ($id_document, $id_article)");
382 $replace = "REPLACE($replace, '<IMG$num_img|', '<IM_$id_document|')";
383 } else {
384 echo _T('texte_erreur_mise_niveau_base', array('fichier' => $fichier, 'id_article' => $id_article));
385 exit;
386 }
387 }
388 $replace = "REPLACE($replace, '<IM_', '<IMG')";
389 $replace_chapo = str_replace('_orig_', 'chapo', $replace);
390 $replace_descriptif = str_replace('_orig_', 'descriptif', $replace);
391 $replace_texte = str_replace('_orig_', 'texte', $replace);
392 $replace_ps = str_replace('_orig_', 'ps', $replace);
393 spip_query("UPDATE spip_articles SET chapo=$replace_chapo, descriptif=$replace_descriptif, texte=$replace_texte, ps=$replace_ps WHERE id_article=$id_article");
394
395 }
396 spip_query("ALTER TABLE spip_articles DROP images");
397 maj_version (1.408);
398 }
399
400 if (upgrade_vers(1.414, $version_installee, $version_cible)) {
401 // Forum par defaut "en dur" dans les spip_articles
402 // -> non, prio (priori), pos (posteriori), abo (abonnement)
403 include_spip('inc/meta');
404 $accepter_forum = substr($GLOBALS['meta']["forums_publics"],0,3) ;
405 $result = spip_query("ALTER TABLE spip_articles CHANGE accepter_forum accepter_forum CHAR(3) NOT NULL");
406
407 $result = spip_query("UPDATE spip_articles SET accepter_forum='$accepter_forum' WHERE accepter_forum != 'non'");
408
409 maj_version (1.414);
410 }
411
412 /*
413 if ($version_installee == 1.415) {
414 spip_query("ALTER TABLE spip_documents DROP inclus");
415 maj_version (1.415);
416 }
417 */
418
419 if (upgrade_vers(1.417, $version_installee, $version_cible)) {
420 spip_query("ALTER TABLE spip_syndic_articles DROP date_index");
421 maj_version (1.417);
422 }
423
424 if (upgrade_vers(1.418, $version_installee, $version_cible)) {
425 $result = spip_query("SELECT * FROM spip_auteurs WHERE statut = '0minirezo' AND email != '' ORDER BY id_auteur LIMIT 1");
426
427 if ($webmaster = spip_fetch_array($result)) {
428 include_spip('inc/meta');
429 ecrire_meta('email_webmaster', $webmaster['email']);
430 ecrire_metas();
431 }
432 maj_version (1.418);
433 }
434
435 if (upgrade_vers(1.419, $version_installee, $version_cible)) {
436 spip_query("ALTER TABLE spip_auteurs ADD alea_actuel TINYTEXT DEFAULT ''");
437 spip_query("ALTER TABLE spip_auteurs ADD alea_futur TINYTEXT DEFAULT ''");
438 spip_query("UPDATE spip_auteurs SET alea_futur = FLOOR(32000*RAND())");
439 maj_version (1.419);
440 }
441
442 if (upgrade_vers(1.420, $version_installee, $version_cible)) {
443 spip_query("UPDATE spip_auteurs SET alea_actuel='' WHERE statut='nouveau'");
444 maj_version (1.420);
445 }
446
447 if (upgrade_vers(1.421, $version_installee, $version_cible)) {
448 spip_query("ALTER TABLE spip_articles ADD auteur_modif bigint(21) DEFAULT '0' NOT NULL");
449 spip_query("ALTER TABLE spip_articles ADD date_modif datetime DEFAULT '0000-00-00 00:00:00' NOT NULL");
450 maj_version (1.421);
451 }
452
453 if (upgrade_vers(1.432, $version_installee, $version_cible)) {
454 spip_query("ALTER TABLE spip_articles DROP referers");
455 spip_query("ALTER TABLE spip_articles ADD referers INTEGER DEFAULT '0' NOT NULL");
456 spip_query("ALTER TABLE spip_articles ADD popularite INTEGER DEFAULT '0' NOT NULL");
457 maj_version (1.432);
458 }
459
460 if (upgrade_vers(1.436, $version_installee, $version_cible)) {
461 spip_query("ALTER TABLE spip_documents ADD date datetime DEFAULT '0000-00-00 00:00:00' NOT NULL");
462 maj_version (1.436);
463 }
464
465 if (upgrade_vers(1.437, $version_installee, $version_cible)) {
466 spip_query("ALTER TABLE spip_visites ADD maj TIMESTAMP");
467 spip_query("ALTER TABLE spip_visites_referers ADD maj TIMESTAMP");
468 maj_version (1.437);
469 }
470
471 if (upgrade_vers(1.438, $version_installee, $version_cible)) {
472 spip_query("ALTER TABLE spip_articles ADD INDEX id_secteur (id_secteur)");
473 spip_query("ALTER TABLE spip_articles ADD INDEX statut (statut, date)");
474 maj_version (1.438);
475 }
476
477 if (upgrade_vers(1.439, $version_installee, $version_cible)) {
478 spip_query("ALTER TABLE spip_syndic ADD INDEX statut (statut, date_syndic)");
479 spip_query("ALTER TABLE spip_syndic_articles ADD INDEX statut (statut)");
480 spip_query("ALTER TABLE spip_syndic_articles CHANGE url url VARCHAR(255) NOT NULL");
481 spip_query("ALTER TABLE spip_syndic_articles ADD INDEX url (url)");
482 maj_version (1.439);
483 }
484
485 if (upgrade_vers(1.440, $version_installee, $version_cible)) {
486 spip_query("ALTER TABLE spip_visites_temp CHANGE ip ip INTEGER UNSIGNED NOT NULL");
487 maj_version (1.440);
488 }
489
490 if (upgrade_vers(1.441, $version_installee, $version_cible)) {
491 spip_query("ALTER TABLE spip_visites_temp CHANGE date date DATE NOT NULL");
492 spip_query("ALTER TABLE spip_visites CHANGE date date DATE NOT NULL");
493 spip_query("ALTER TABLE spip_visites_referers CHANGE date date DATE NOT NULL");
494 maj_version (1.441);
495 }
496
497 if (upgrade_vers(1.442, $version_installee, $version_cible)) {
498 spip_query("ALTER TABLE spip_auteurs ADD prefs TINYTEXT NOT NULL");
499 maj_version (1.442);
500 }
501
502 if (upgrade_vers(1.443, $version_installee, $version_cible)) {
503 spip_query("ALTER TABLE spip_auteurs CHANGE login login VARCHAR(255) BINARY NOT NULL");
504 spip_query("ALTER TABLE spip_auteurs CHANGE statut statut VARCHAR(255) NOT NULL");
505 spip_query("ALTER TABLE spip_auteurs ADD INDEX login (login)");
506 spip_query("ALTER TABLE spip_auteurs ADD INDEX statut (statut)");
507 maj_version (1.443);
508 }
509
510 if (upgrade_vers(1.444, $version_installee, $version_cible)) {
511 spip_query("ALTER TABLE spip_syndic ADD moderation VARCHAR(3) NOT NULL");
512 maj_version (1.444);
513 }
514
515 if (upgrade_vers(1.457, $version_installee, $version_cible)) {
516 spip_query("DROP TABLE spip_visites");
517 spip_query("DROP TABLE spip_visites_temp");
518 spip_query("DROP TABLE spip_visites_referers");
519 creer_base(); // crade, a ameliorer :-((
520 maj_version (1.457);
521 }
522
523 if (upgrade_vers(1.458, $version_installee, $version_cible)) {
524 spip_query("ALTER TABLE spip_auteurs ADD cookie_oubli TINYTEXT NOT NULL");
525 maj_version (1.458);
526 }
527
528 if (upgrade_vers(1.459, $version_installee, $version_cible)) {
529 $result = spip_query("SELECT type FROM spip_mots GROUP BY type");
530 while ($row = spip_fetch_array($result)) {
531 $type = addslashes($row['type']);
532 $res = spip_query("SELECT * FROM spip_groupes_mots WHERE titre='$type'");
533 if (spip_num_rows($res) == 0) {
534 $s = spip_query("INSERT INTO spip_groupes_mots (titre, unseul, obligatoire, articles, breves, rubriques, syndic, minirezo, comite, forum) VALUES ('$type', 'non', 'non', 'oui', 'oui', 'non', 'oui', 'oui', 'oui', 'non')");
535 if ($id_groupe = mysql_insert_id($s))
536 spip_query("UPDATE spip_mots SET id_groupe = '$id_groupe' WHERE type='$type'");
537 }
538 }
539 spip_query("UPDATE spip_articles SET popularite=0");
540 maj_version (1.459);
541 }
542
543 if (upgrade_vers(1.460, $version_installee, $version_cible)) {
544 // remettre les mots dans les groupes dupliques par erreur
545 // dans la precedente version du paragraphe de maj 1.459
546 // et supprimer ceux-ci
547 $result = spip_query("SELECT * FROM spip_groupes_mots ORDER BY id_groupe");
548 while ($row = spip_fetch_array($result)) {
549 $titre = addslashes($row['titre']);
550 if (! $vu[$titre] ) {
551 $vu[$titre] = true;
552 $id_groupe = $row['id_groupe'];
553 spip_query("UPDATE spip_mots SET id_groupe=$id_groupe WHERE type='$titre'");
554 spip_query("DELETE FROM spip_groupes_mots WHERE titre='$titre' AND id_groupe<>$id_groupe");
555 }
556 }
557 maj_version (1.460);
558 }
559
560 if (upgrade_vers(1.462, $version_installee, $version_cible)) {
561 spip_query("UPDATE spip_types_documents SET inclus='embed' WHERE inclus!='non' AND extension IN ('aiff', 'asf', 'avi', 'mid', 'mov', 'mp3', 'mpg', 'ogg', 'qt', 'ra', 'ram', 'rm', 'swf', 'wav', 'wmv')");
562 maj_version (1.462);
563 }
564
565 if (upgrade_vers(1.463, $version_installee, $version_cible)) {
566 spip_query("ALTER TABLE spip_articles CHANGE popularite popularite DOUBLE");
567 spip_query("ALTER TABLE spip_visites_temp ADD maj TIMESTAMP");
568 spip_query("ALTER TABLE spip_referers_temp ADD maj TIMESTAMP");
569 maj_version (1.463);
570 }
571
572 // l'upgrade < 1.462 ci-dessus etait fausse, d'ou correctif
573 if (upgrade_vers(1.464, $version_installee, $version_cible) AND ($version_installee >= 1.462)) {
574 $res = spip_query("SELECT id_type, extension FROM spip_types_documents WHERE id_type NOT IN (1,2,3)");
575 while ($row = spip_fetch_array($res)) {
576 $extension = $row['extension'];
577 $id_type = $row['id_type'];
578 spip_query("UPDATE spip_documents SET id_type=$id_type WHERE fichier like '%.$extension'");
579 }
580 maj_version (1.464);
581 }
582
583 if (upgrade_vers(1.465, $version_installee, $version_cible)) {
584 spip_query("ALTER TABLE spip_articles CHANGE popularite popularite DOUBLE NOT NULL");
585 maj_version (1.465);
586 }
587
588 if (upgrade_vers(1.466, $version_installee, $version_cible)) {
589 spip_query("ALTER TABLE spip_auteurs ADD source VARCHAR(10) DEFAULT 'spip' NOT NULL");
590 maj_version (1.466);
591 }
592
593 if (upgrade_vers(1.468, $version_installee, $version_cible)) {
594 spip_query("ALTER TABLE spip_auteurs ADD INDEX en_ligne (en_ligne)");
595 spip_query("ALTER TABLE spip_forum ADD INDEX statut (statut, date_heure)");
596 maj_version (1.468);
597 }
598
599 if (upgrade_vers(1.470, $version_installee, $version_cible)) {
600 if ($version_installee >= 1.467) { // annule les "listes de diff"
601 spip_query("DROP TABLE spip_listes");
602 spip_query("ALTER TABLE spip_auteurs DROP abonne");
603 spip_query("ALTER TABLE spip_auteurs DROP abonne_pass");
604 }
605 maj_version (1.470);
606 }
607
608 if (upgrade_vers(1.471, $version_installee, $version_cible)) {
609 if ($version_installee >= 1.470) { // annule les "maj"
610 spip_query("ALTER TABLE spip_auteurs_articles DROP maj TIMESTAMP");
611 spip_query("ALTER TABLE spip_auteurs_rubriques DROP maj TIMESTAMP");
612 spip_query("ALTER TABLE spip_auteurs_messages DROP maj TIMESTAMP");
613 spip_query("ALTER TABLE spip_documents_articles DROP maj TIMESTAMP");
614 spip_query("ALTER TABLE spip_documents_rubriques DROP maj TIMESTAMP");
615 spip_query("ALTER TABLE spip_documents_breves DROP maj TIMESTAMP");
616 spip_query("ALTER TABLE spip_mots_articles DROP maj TIMESTAMP");
617 spip_query("ALTER TABLE spip_mots_breves DROP maj TIMESTAMP");
618 spip_query("ALTER TABLE spip_mots_rubriques DROP maj TIMESTAMP");
619 spip_query("ALTER TABLE spip_mots_syndic DROP maj TIMESTAMP");
620 spip_query("ALTER TABLE spip_mots_forum DROP maj TIMESTAMP");
621 }
622 maj_version (1.471);
623 }
624
625 if (upgrade_vers(1.472, $version_installee, $version_cible)) {
626 spip_query("ALTER TABLE spip_referers ADD visites_jour INTEGER UNSIGNED NOT NULL");
627 maj_version (1.472);
628 }
629
630 if (upgrade_vers(1.473, $version_installee, $version_cible)) {
631 spip_query("UPDATE spip_syndic_articles SET url = REPLACE(url, '&amp;', '&')");
632 spip_query("UPDATE spip_syndic SET url_site = REPLACE(url_site, '&amp;', '&')");
633 maj_version (1.473);
634 }
635
636 if (upgrade_vers(1.600, $version_installee, $version_cible)) {
637 include_spip('inc/indexation');
638 purger_index();
639 creer_liste_indexation();
640 maj_version (1.600);
641 }
642
643 if (upgrade_vers(1.601, $version_installee, $version_cible)) {
644 spip_query("ALTER TABLE spip_forum ADD INDEX id_syndic (id_syndic)");
645 maj_version (1.601);
646 }
647
648 if (upgrade_vers(1.603, $version_installee, $version_cible)) {
649 // supprimer les fichiers deplaces
650 @unlink('inc_meta_cache.php');
651 @unlink('inc_meta_cache.php3');
652 @unlink('data/engines-list.ini');
653 maj_version (1.603);
654 }
655
656 if (upgrade_vers(1.604, $version_installee, $version_cible)) {
657 spip_query("ALTER TABLE spip_auteurs ADD lang VARCHAR(10) DEFAULT '' NOT NULL");
658 $u = spip_query("SELECT * FROM spip_auteurs WHERE prefs LIKE '%spip_lang%'");
659 while ($row = spip_fetch_array($u)) {
660 $prefs = unserialize($row['prefs']);
661 $l = $prefs['spip_lang'];
662 unset ($prefs['spip_lang']);
663 spip_query("UPDATE spip_auteurs SET lang=" . _q($l) . ", prefs='".addslashes(serialize($prefs))."' WHERE id_auteur=".$row['id_auteur']);
664 }
665 $u = spip_query("SELECT lang FROM spip_auteurs");
666 maj_version (1.604, $u);
667 }
668
669 if (upgrade_vers(1.702, $version_installee, $version_cible)) {
670 spip_query("ALTER TABLE spip_articles ADD extra longblob NULL");
671 spip_query("ALTER TABLE spip_auteurs ADD extra longblob NULL");
672 spip_query("ALTER TABLE spip_breves ADD extra longblob NULL");
673 spip_query("ALTER TABLE spip_rubriques ADD extra longblob NULL");
674 spip_query("ALTER TABLE spip_mots ADD extra longblob NULL");
675
676 // recuperer les eventuels 'supplement' installes en 1.701
677 if ($version_installee == 1.701) {
678 spip_query("UPDATE spip_articles SET extra = supplement");
679 spip_query("ALTER TABLE spip_articles DROP supplement");
680 spip_query("UPDATE spip_auteurs SET extra = supplement");
681 spip_query("ALTER TABLE spip_auteurs DROP supplement");
682 spip_query("UPDATE spip_breves SET extra = supplement");
683 spip_query("ALTER TABLE spip_breves DROP supplement");
684 spip_query("UPDATE spip_rubriques SET extra = supplement");
685 spip_query("ALTER TABLE spip_rubriques DROP supplement");
686 spip_query("UPDATE spip_mots SET extra = supplement");
687 spip_query("ALTER TABLE spip_mots DROP supplement");
688 }
689
690 $u = spip_query("SELECT extra FROM spip_articles");
691 $u&= spip_query("SELECT extra FROM spip_auteurs");
692 $u&= spip_query("SELECT extra FROM spip_breves");
693 $u&= spip_query("SELECT extra FROM spip_rubriques");
694 $u&= spip_query("SELECT extra FROM spip_mots");
695 maj_version (1.702,$u);
696 }
697
698 if (upgrade_vers(1.703, $version_installee, $version_cible)) {
699 spip_query("ALTER TABLE spip_articles ADD lang VARCHAR(10) DEFAULT '' NOT NULL");
700 spip_query("ALTER TABLE spip_rubriques ADD lang VARCHAR(10) DEFAULT '' NOT NULL");
701 maj_version (1.703);
702 }
703
704 if (upgrade_vers(1.704, $version_installee, $version_cible)) {
705 spip_query("ALTER TABLE spip_articles ADD INDEX lang (lang)");
706 spip_query("ALTER TABLE spip_auteurs ADD INDEX lang (lang)");
707 spip_query("ALTER TABLE spip_rubriques ADD INDEX lang (lang)");
708 maj_version (1.704);
709 }
710
711 if (upgrade_vers(1.705, $version_installee, $version_cible)) {
712 spip_query("ALTER TABLE spip_articles ADD langue_choisie VARCHAR(3) DEFAULT 'non'");
713 spip_query("ALTER TABLE spip_rubriques ADD langue_choisie VARCHAR(3) DEFAULT 'non'");
714 maj_version (1.705);
715 }
716
717 if (upgrade_vers(1.707, $version_installee, $version_cible)) {
718 spip_query("UPDATE spip_articles SET langue_choisie='oui' WHERE MID(lang,1,1) != '.' AND lang != ''");
719 spip_query("UPDATE spip_articles SET lang=MID(lang,2,8) WHERE langue_choisie = 'non'");
720 spip_query("UPDATE spip_rubriques SET langue_choisie='oui' WHERE MID(lang,1,1) != '.' AND lang != ''");
721 spip_query("UPDATE spip_rubriques SET lang=MID(lang,2,8) WHERE langue_choisie = 'non'");
722 maj_version (1.707);
723 }
724
725 if (upgrade_vers(1.708, $version_installee, $version_cible)) {
726 spip_query("ALTER TABLE spip_breves ADD lang VARCHAR(10) DEFAULT '' NOT NULL");
727 spip_query("ALTER TABLE spip_breves ADD langue_choisie VARCHAR(3) DEFAULT 'non'");
728 maj_version (1.708);
729 }
730
731 if (upgrade_vers(1.709, $version_installee, $version_cible)) {
732 spip_query("ALTER TABLE spip_articles ADD id_trad bigint(21) DEFAULT '0' NOT NULL");
733 spip_query("ALTER TABLE spip_articles ADD INDEX id_trad (id_trad)");
734 maj_version (1.709);
735 }
736
737 if (upgrade_vers(1.717, $version_installee, $version_cible)) {
738 spip_query("ALTER TABLE spip_articles ADD INDEX date_modif (date_modif)");
739 maj_version (1.717);
740 }
741
742 if (upgrade_vers(1.718, $version_installee, $version_cible)) {
743 spip_query("ALTER TABLE spip_referers DROP domaine");
744 spip_query("ALTER TABLE spip_referers_articles DROP domaine");
745 spip_query("ALTER TABLE spip_referers_temp DROP domaine");
746 maj_version (1.718);
747 }
748
749 if (upgrade_vers(1.722, $version_installee, $version_cible)) {
750 spip_query("ALTER TABLE spip_articles ADD nom_site tinytext NOT NULL");
751 spip_query("ALTER TABLE spip_articles ADD url_site VARCHAR(255) NOT NULL");
752 spip_query("ALTER TABLE spip_articles ADD INDEX url_site (url_site)");
753 if ($version_installee >= 1.720) {
754 spip_query("UPDATE spip_articles SET url_site=url_ref");
755 spip_query("ALTER TABLE spip_articles DROP INDEX url_ref");
756 spip_query("ALTER TABLE spip_articles DROP url_ref");
757 }
758 maj_version (1.722);
759 }
760
761 if (upgrade_vers(1.723, $version_installee, $version_cible)) {
762 if ($version_installee == 1.722) {
763 spip_query("ALTER TABLE spip_articles MODIFY url_site VARCHAR(255) NOT NULL");
764 spip_query("ALTER TABLE spip_articles DROP INDEX url_site;");
765 spip_query("ALTER TABLE spip_articles ADD INDEX url_site (url_site);");
766 }
767 maj_version (1.723);
768 }
769
770 if (upgrade_vers(1.724, $version_installee, $version_cible)) {
771 spip_query("ALTER TABLE spip_messages ADD date_fin datetime DEFAULT '0000-00-00 00:00:00' NOT NULL");
772 maj_version (1.724);
773 }
774
775 if (upgrade_vers(1.726, $version_installee, $version_cible)) {
776 spip_query("ALTER TABLE spip_auteurs ADD low_sec tinytext NOT NULL");
777 maj_version (1.726);
778 }
779
780 if (upgrade_vers(1.727, $version_installee, $version_cible)) {
781 // occitans : oci_xx -> oc_xx
782 spip_query("UPDATE spip_auteurs SET lang=REPLACE(lang,'oci_', 'oc_') WHERE lang LIKE 'oci_%'");
783 spip_query("UPDATE spip_rubriques SET lang=REPLACE(lang,'oci_', 'oc_') WHERE lang LIKE 'oci_%'");
784 spip_query("UPDATE spip_articles SET lang=REPLACE(lang,'oci_', 'oc_') WHERE lang LIKE 'oci_%'");
785 spip_query("UPDATE spip_breves SET lang=REPLACE(lang,'oci_', 'oc_') WHERE lang LIKE 'oci_%'");
786 maj_version (1.727);
787 }
788
789 // Ici version 1.7 officielle
790
791 if (upgrade_vers(1.728, $version_installee, $version_cible)) {
792 spip_query("ALTER TABLE spip_articles ADD id_version int unsigned DEFAULT '0' NOT NULL");
793 maj_version (1.728);
794 }
795
796 if (upgrade_vers(1.730, $version_installee, $version_cible)) {
797 spip_query("ALTER TABLE spip_articles ADD idx ENUM('', '1', 'non', 'oui', 'idx') DEFAULT '' NOT NULL");
798 spip_query("ALTER TABLE spip_articles ADD INDEX idx (idx)");
799 spip_query("ALTER TABLE spip_auteurs ADD idx ENUM('', '1', 'non', 'oui', 'idx') DEFAULT '' NOT NULL");
800 spip_query("ALTER TABLE spip_auteurs ADD INDEX idx (idx)");
801 spip_query("ALTER TABLE spip_breves ADD idx ENUM('', '1', 'non', 'oui', 'idx') DEFAULT '' NOT NULL");
802 spip_query("ALTER TABLE spip_breves ADD INDEX idx (idx)");
803 spip_query("ALTER TABLE spip_mots ADD idx ENUM('', '1', 'non', 'oui', 'idx') DEFAULT '' NOT NULL");
804 spip_query("ALTER TABLE spip_mots ADD INDEX idx (idx)");
805 spip_query("ALTER TABLE spip_rubriques ADD idx ENUM('', '1', 'non', 'oui', 'idx') DEFAULT '' NOT NULL");
806 spip_query("ALTER TABLE spip_rubriques ADD INDEX idx (idx)");
807 spip_query("ALTER TABLE spip_syndic ADD idx ENUM('', '1', 'non', 'oui', 'idx') DEFAULT '' NOT NULL");
808 spip_query("ALTER TABLE spip_syndic ADD INDEX idx (idx)");
809 spip_query("ALTER TABLE spip_forum ADD idx ENUM('', '1', 'non', 'oui', 'idx') DEFAULT '' NOT NULL");
810 spip_query("ALTER TABLE spip_forum ADD INDEX idx (idx)");
811 spip_query("ALTER TABLE spip_signatures ADD idx ENUM('', '1', 'non', 'oui', 'idx') DEFAULT '' NOT NULL");
812 spip_query("ALTER TABLE spip_signatures ADD INDEX idx (idx)");
813 maj_version (1.730);
814 }
815
816 if (upgrade_vers(1.731, $version_installee, $version_cible)) {
817 spip_query("UPDATE spip_articles SET idx='1' where lang IN ('de','vi')");
818 spip_query("UPDATE spip_rubriques SET idx='1' where lang IN ('de','vi')");
819 spip_query("UPDATE spip_breves SET idx='1' where lang IN ('de','vi')");
820 spip_query("UPDATE spip_auteurs SET idx='1' where lang IN ('de','vi')");
821 maj_version (1.731);
822 }
823
824 if (upgrade_vers(1.732, $version_installee, $version_cible)) { // en correction d'un vieux truc qui avait fait sauter le champ inclus sur les bases version 1.415
825 spip_query("ALTER TABLE spip_documents ADD inclus VARCHAR(3) DEFAULT 'non'");
826 maj_version (1.732);
827 }
828
829 if (upgrade_vers(1.733, $version_installee, $version_cible)) {
830 // spip_query("ALTER TABLE spip_articles ADD id_version int unsigned DEFAULT '0' NOT NULL");
831 spip_query("DROP TABLE spip_versions");
832 spip_query("DROP TABLE spip_versions_fragments");
833 creer_base();
834 maj_version(1.733);
835 }
836
837 #if ($version_installee < 1.734) {
838 # // integrer nouvelles tables auxiliaires du compilateur ESJ
839 # creer_base();
840 # maj_version(1.734);
841 #}
842
843 if (upgrade_vers(1.801, $version_installee, $version_cible)) {
844 spip_query("ALTER TABLE spip_rubriques ADD statut_tmp VARCHAR(10) NOT NULL, ADD date_tmp datetime DEFAULT '0000-00-00 00:00:00' NOT NULL");
845 include_spip('inc/rubriques');
846 calculer_rubriques();
847 maj_version(1.801);
848 }
849
850 // Nouvelles tables d'invalidation
851 if (upgrade_vers(1.802, $version_installee, $version_cible)) {
852 spip_query("DROP TABLE spip_id_article_caches");
853 spip_query("DROP TABLE spip_id_auteur_caches");
854 spip_query("DROP TABLE spip_id_breve_caches");
855 spip_query("DROP TABLE spip_id_document_caches");
856 spip_query("DROP TABLE spip_id_forum_caches");
857 spip_query("DROP TABLE spip_id_groupe_caches");
858 spip_query("DROP TABLE spip_id_message_caches");
859 spip_query("DROP TABLE spip_id_mot_caches");
860 spip_query("DROP TABLE spip_id_rubrique_caches");
861 spip_query("DROP TABLE spip_id_signature_caches");
862 spip_query("DROP TABLE spip_id_syndic_article_caches");
863 spip_query("DROP TABLE spip_id_syndic_caches");
864 spip_query("DROP TABLE spip_id_type_caches");
865 spip_query("DROP TABLE spip_inclure_caches");
866 maj_version(1.802);
867 }
868 if (upgrade_vers(1.803, $version_installee, $version_cible)) {
869
870 # 27 AOUT 2004 : conservons cette table pour autoriser les retours
871 # de SPIP 1.8a6 CVS vers 1.7.2
872 # spip_query("DROP TABLE spip_forum_cache");
873
874 spip_query("DROP TABLE spip_inclure_caches");
875 maj_version(1.803);
876 }
877 if (upgrade_vers(1.804, $version_installee, $version_cible)) {
878 // recreer la table spip_caches
879 spip_query("DROP TABLE spip_caches");
880 creer_base();
881 maj_version(1.804);
882 }
883
884 if (upgrade_vers(1.805, $version_installee, $version_cible)) {
885 spip_query("ALTER TABLE spip_forum ADD id_thread bigint(21) DEFAULT '0' NOT NULL");
886 include_spip('inc/forum');
887 calculer_threads();
888 maj_version(1.805);
889 }
890
891 // tables d'orthographe
892 #if ($version_installee < 1.806)
893 # maj_version(1.806);
894
895 // URLs propres (inc_version = 0.12)
896 if (upgrade_vers(1.807, $version_installee, $version_cible)) {
897 foreach (array('articles', 'breves', 'rubriques', 'mots') as $objets) {
898 spip_query("ALTER TABLE spip_$objets ADD url_propre VARCHAR(255) NOT NULL");
899 spip_query("ALTER TABLE spip_$objets ADD INDEX url_propre (url_propre)");
900 }
901 maj_version(1.807);
902 }
903
904 // referers de la veille
905 if (upgrade_vers(1.808, $version_installee, $version_cible)) {
906 spip_query("ALTER TABLE spip_referers ADD visites_veille INT UNSIGNED NOT NULL");
907 maj_version(1.808);
908 }
909
910
911 // corrections diverses
912 if (upgrade_vers(1.809, $version_installee, $version_cible)) {
913 // plus de retour possible vers 1.7.2
914 spip_query("DROP TABLE spip_forum_cache");
915
916 // les requetes ci-dessous ne s'appliqueront que si on est passe
917 // par une certaine version de developpement - oublie de le faire
918 // plus tot, car le code d'alors recreait purement et simplement
919 // cette table
920 spip_query("ALTER TABLE spip_versions DROP chapo");
921 spip_query("ALTER TABLE spip_versions DROP texte");
922 spip_query("ALTER TABLE spip_versions DROP ps");
923 spip_query("ALTER TABLE spip_versions DROP extra");
924 spip_query("ALTER TABLE spip_versions ADD champs text NOT NULL");
925
926 maj_version(1.809);
927 }
928
929 // Annuler les brouillons de forum jamais valides
930 if (upgrade_vers(1.810, $version_installee, $version_cible)) {
931 spip_query("DELETE FROM spip_forum WHERE statut='redac'");
932 maj_version(1.810);
933 }
934
935 if (upgrade_vers(1.811, $version_installee, $version_cible)) {
936 spip_query("ALTER TABLE spip_syndic ADD extra longblob NULL");
937 maj_version(1.811);
938 }
939
940 if (upgrade_vers(1.812, $version_installee, $version_cible)) {
941 spip_query("ALTER TABLE spip_documents ADD idx ENUM('', '1', 'non', 'oui', 'idx') DEFAULT '' NOT NULL");
942 maj_version(1.812);
943 }
944
945 // Mise a jour des types MIME
946 if (upgrade_vers(1.813, $version_installee, $version_cible)) {
947 # rien a faire car c'est creer_base() qui s'en charge
948 maj_version(1.813);
949 }
950
951 // URLs propres auteurs
952 if (upgrade_vers(1.814, $version_installee, $version_cible)) {
953 spip_query("ALTER TABLE spip_auteurs ADD url_propre VARCHAR(255) NOT NULL");
954 spip_query("ALTER TABLE spip_auteurs ADD INDEX url_propre (url_propre)");
955 maj_version(1.814);
956 }
957
958 // Mots-cles sur les documents
959 // + liens documents <-> sites et articles syndiques (podcasting)
960 if (upgrade_vers(1.815, $version_installee, $version_cible)) {
961 spip_query("ALTER TABLE spip_documents ADD distant VARCHAR(3) DEFAULT 'non'");
962 maj_version(1.815);
963 }
964
965 // Indexation des documents (rien a faire sauf reinstaller inc_auxbase)
966 if (upgrade_vers(1.816, $version_installee, $version_cible)) {
967 maj_version(1.816);
968 }
969
970 // Texte et descriptif des groupes de mots-cles
971 if (upgrade_vers(1.817, $version_installee, $version_cible)) {
972 spip_query("ALTER TABLE spip_groupes_mots ADD descriptif text NOT NULL AFTER titre");
973 spip_query("ALTER TABLE spip_groupes_mots ADD COLUMN texte longblob NOT NULL AFTER descriptif");
974 maj_version(1.817);
975 }
976
977 // Conformite des noms de certains champs (0minirezo => minirezo)
978 if (upgrade_vers(1.818, $version_installee, $version_cible)) {
979 spip_query("ALTER TABLE spip_groupes_mots CHANGE COLUMN 0minirezo minirezo char(3) NOT NULL");
980 spip_query("ALTER TABLE spip_groupes_mots CHANGE COLUMN 1comite comite char(3) NOT NULL");
981 spip_query("ALTER TABLE spip_groupes_mots CHANGE COLUMN 6forum forum char(3) NOT NULL");
982 maj_version(1.818);
983 }
984
985 // Options de syndication : miroir + oubli
986 if (upgrade_vers(1.819, $version_installee, $version_cible)) {
987 spip_query("ALTER TABLE spip_syndic ADD miroir VARCHAR(3) DEFAULT 'non'");
988 spip_query("ALTER TABLE spip_syndic ADD oubli VARCHAR(3) DEFAULT 'non'");
989 maj_version(1.819);
990 }
991
992 // Un bug dans les 1.730 (il manquait le "ADD")
993 if (upgrade_vers(1.820, $version_installee, $version_cible)) {
994 spip_query("ALTER TABLE spip_articles ADD INDEX idx (idx)");
995 spip_query("ALTER TABLE spip_auteurs ADD INDEX idx (idx)");
996 spip_query("ALTER TABLE spip_breves ADD INDEX idx (idx)");
997 spip_query("ALTER TABLE spip_mots ADD INDEX idx (idx)");
998 spip_query("ALTER TABLE spip_rubriques ADD INDEX idx (idx)");
999 spip_query("ALTER TABLE spip_syndic ADD INDEX idx (idx)");
1000 spip_query("ALTER TABLE spip_forum ADD INDEX idx (idx)");
1001 spip_query("ALTER TABLE spip_signatures ADD INDEX idx (idx)");
1002 maj_version(1.820);
1003 }
1004
1005 // reindexer les articles (on avait oublie les auteurs)
1006 if (upgrade_vers(1.821, $version_installee, $version_cible)) {
1007 spip_query("UPDATE spip_articles SET idx='1' WHERE idx='oui'");
1008 maj_version(1.821);
1009 }
1010 // le 'type' des mots doit etre du texte, sinon on depasse en champ multi
1011 if (upgrade_vers(1.822, $version_installee, $version_cible)) {
1012 spip_query("ALTER TABLE spip_mots DROP INDEX type");
1013 spip_query("ALTER TABLE spip_mots CHANGE type type TEXT NOT NULL");
1014 maj_version(1.822);
1015 }
1016 // ajouter une table de fonctions pour ajax
1017 if (upgrade_vers(1.825, $version_installee, $version_cible)) {
1018 maj_version(1.825);
1019 }
1020 if (upgrade_vers(1.826, $version_installee, $version_cible)) {
1021 spip_query("ALTER TABLE spip_ajax_fonc DROP fonction");
1022 maj_version(1.826);
1023 }
1024
1025 // Syndication : ajout de l'option resume=oui/non et de la langue
1026 if (upgrade_vers(1.901, $version_installee, $version_cible)) {
1027 spip_query("ALTER TABLE spip_syndic ADD resume VARCHAR(3) DEFAULT 'oui'");
1028 spip_query("ALTER TABLE spip_syndic_articles ADD lang VARCHAR(10) DEFAULT '' NOT NULL");
1029 maj_version(1.901);
1030 }
1031
1032 // Syndication : ajout de source, url_source, tags
1033 if (upgrade_vers(1.902, $version_installee, $version_cible)) {
1034 spip_query("ALTER TABLE spip_syndic_articles ADD url_source TINYTEXT DEFAULT '' NOT NULL");
1035 spip_query("ALTER TABLE spip_syndic_articles ADD source TINYTEXT DEFAULT '' NOT NULL");
1036 spip_query("ALTER TABLE spip_syndic_articles ADD tags TEXT DEFAULT '' NOT NULL");
1037 maj_version(1.902);
1038 }
1039
1040 // URLs propres des sites (sait-on jamais)
1041 // + oubli des KEY url_propre sur les auteurs si installation neuve
1042 if (upgrade_vers(1.903, $version_installee, $version_cible)) {
1043 spip_query("ALTER TABLE spip_syndic ADD url_propre VARCHAR(255) NOT NULL");
1044 spip_query("ALTER TABLE spip_syndic ADD INDEX url_propre (url_propre)");
1045 spip_query("ALTER TABLE spip_auteurs ADD INDEX url_propre (url_propre)");
1046 maj_version(1.903);
1047 }
1048
1049 // suppression des anciennes tables temporaires des visites
1050 // (maintenant stockees sous forme de fichiers)
1051 if (upgrade_vers(1.904, $version_installee, $version_cible)) {
1052 spip_query("DROP TABLE IF EXISTS spip_visites_temp");
1053 spip_query("DROP TABLE IF EXISTS spip_referers_temp");
1054 maj_version(1.904);
1055 }
1056
1057 // fusion des 10 tables index en une seule
1058 // pour fonctions futures evoluees du moteur de recherche
1059 if (upgrade_vers(1.905, $version_installee, $version_cible)) {
1060 // agrandir le champ "valeur" de spip_meta pour pouvoir y stocker
1061 // des choses plus sympa
1062 spip_query("ALTER TABLE spip_meta CHANGE `valeur` `valeur` TEXT");
1063 // table des correspondances table->id_table
1064 $liste_tables = array();
1065 $liste_tables[1]='spip_articles';
1066 $liste_tables[2]='spip_auteurs';
1067 $liste_tables[3]='spip_breves';
1068 $liste_tables[4]='spip_documents';
1069 $liste_tables[5]='spip_forum';
1070 $liste_tables[6]='spip_mots';
1071 $liste_tables[7]='spip_rubriques';
1072 $liste_tables[8]='spip_signatures';
1073 $liste_tables[9]='spip_syndic';
1074 $s=addslashes(serialize($liste_tables));
1075 spip_query("INSERT INTO `spip_meta` ( `nom` , `valeur` , `maj` ) VALUES ('index_table', '$s', NOW( ));");
1076
1077 spip_query("INSERT INTO spip_index (hash,points,id_objet,id_table) SELECT hash,points,id_article as id_objet,'1' as id_table FROM spip_index_articles");
1078 spip_query("DROP TABLE IF EXISTS spip_index_articles");
1079
1080 spip_query("INSERT INTO spip_index (hash,points,id_objet,id_table) SELECT hash,points,id_auteur as id_objet,'2' as id_table FROM spip_index_auteurs");
1081 spip_query("DROP TABLE IF EXISTS spip_index_auteurs");
1082
1083 spip_query("INSERT INTO spip_index (hash,points,id_objet,id_table) SELECT hash,points,id_breve as id_objet,'3' as id_table FROM spip_index_breves");
1084 spip_query("DROP TABLE IF EXISTS spip_index_breves");
1085
1086 spip_query("INSERT INTO spip_index (hash,points,id_objet,id_table) SELECT hash,points,id_document as id_objet,'4' as id_table FROM spip_index_documents");
1087 spip_query("DROP TABLE IF EXISTS spip_index_documents");
1088
1089 spip_query("INSERT INTO spip_index (hash,points,id_objet,id_table) SELECT hash,points,id_forum as id_objet,'5' as id_table FROM spip_index_forum");
1090 spip_query("DROP TABLE IF EXISTS spip_index_forum");
1091
1092 spip_query("INSERT INTO spip_index (hash,points,id_objet,id_table) SELECT hash,points,id_mot as id_objet,'6' as id_table FROM spip_index_mots");
1093 spip_query("DROP TABLE IF EXISTS spip_index_mots");
1094
1095 spip_query("INSERT INTO spip_index (hash,points,id_objet,id_table) SELECT hash,points,id_rubrique as id_objet,'7' as id_table FROM spip_index_rubriques");
1096 spip_query("DROP TABLE IF EXISTS spip_index_rubriques");
1097
1098 spip_query("INSERT INTO spip_index (hash,points,id_objet,id_table) SELECT hash,points,id_signature as id_objet,'8' as id_table FROM spip_index_signatures");
1099 spip_query("DROP TABLE IF EXISTS spip_index_signatures");
1100
1101 spip_query("INSERT INTO spip_index (hash,points,id_objet,id_table) SELECT hash,points,id_syndic as id_objet,'9' as id_table FROM spip_index_syndic");
1102 spip_query("DROP TABLE IF EXISTS spip_index_syndic");
1103 include_spip('inc/meta');
1104 lire_metas();
1105 ecrire_metas();
1106
1107 maj_version(1.905);
1108 }
1109
1110
1111 // cette table est desormais geree par le plugin "podcast_client", on la
1112 // supprime si le plugin n'est pas active ; risque inherent a l'utilisation
1113 // de versions alpha :-)
1114 if (upgrade_vers(1.906, $version_installee, $version_cible)) {
1115 if (!in_array('podcast_client', $GLOBALS['plugins'])) {
1116 spip_query("DROP TABLE spip_documents_syndic");
1117 }
1118 maj_version(1.906);
1119 }
1120 if (upgrade_vers(1.907, $version_installee, $version_cible)) {
1121 spip_query("ALTER TABLE spip_forum ADD INDEX idx (idx)");
1122 maj_version(1.907);
1123 }
1124 // Oups ! on stockait les tags de syndication sous la forme rel="category"
1125 // au lieu de rel="directory" - http://microformats.org/wiki/rel-directory
1126 if (upgrade_vers(1.908, $version_installee, $version_cible)) {
1127 spip_query("UPDATE spip_syndic_articles SET tags = REPLACE(tags, 'rel=\"category\">', 'rel=\"directory\">') WHERE tags like '%category%'");
1128 maj_version(1.908);
1129 }
1130 if (upgrade_vers(1.909, $version_installee, $version_cible)) {
1131 spip_query("ALTER IGNORE TABLE spip_mots_articles ADD PRIMARY KEY (id_article, id_mot)");
1132 spip_query("ALTER IGNORE TABLE spip_mots_breves ADD PRIMARY KEY (id_breve, id_mot)");
1133 spip_query("ALTER IGNORE TABLE spip_mots_rubriques ADD PRIMARY KEY (id_rubrique, id_mot)");
1134 spip_query("ALTER IGNORE TABLE spip_mots_syndic ADD PRIMARY KEY (id_syndic, id_mot)");
1135 spip_query("ALTER IGNORE TABLE spip_mots_documents ADD PRIMARY KEY (id_document, id_mot)");
1136 spip_query("ALTER IGNORE TABLE spip_mots_forum ADD PRIMARY KEY (id_forum, id_mot)");
1137 maj_version(1.909);
1138 }
1139
1140 if (upgrade_vers(1.910, $version_installee, $version_cible)) {
1141 spip_query("ALTER IGNORE TABLE spip_auteurs_articles ADD PRIMARY KEY (id_auteur, id_article)");
1142 spip_query("ALTER IGNORE TABLE spip_auteurs_rubriques ADD PRIMARY KEY (id_auteur, id_rubrique)");
1143 spip_query("ALTER IGNORE TABLE spip_auteurs_messages ADD PRIMARY KEY (id_auteur, id_message)");
1144 maj_version(1.910);
1145 }
1146
1147 if (upgrade_vers(1.911, $version_installee, $version_cible)) {
1148
1149 spip_query("ALTER IGNORE TABLE spip_auteurs_articles DROP INDEX id_auteur");
1150 spip_query("ALTER IGNORE TABLE spip_auteurs_rubriques DROP INDEX id_auteur");
1151 spip_query("ALTER IGNORE TABLE spip_auteurs_messages DROP INDEX id_auteur");
1152 spip_query("ALTER IGNORE TABLE spip_mots_articles DROP INDEX id_article");
1153 spip_query("ALTER IGNORE TABLE spip_mots_breves DROP INDEX id_breve");
1154 spip_query("ALTER IGNORE TABLE spip_mots_rubriques DROP INDEX id_rubrique");
1155 spip_query("ALTER IGNORE TABLE spip_mots_syndic DROP INDEX id_syndic");
1156 spip_query("ALTER IGNORE TABLE spip_mots_forum DROP INDEX id_forum");
1157 spip_query("ALTER IGNORE TABLE spip_mots_documents DROP INDEX id_document");
1158 spip_query("ALTER IGNORE TABLE spip_caches DROP INDEX fichier");
1159 maj_version(1.911);
1160 }
1161
1162 // Le logo du site n'est plus le logo par defaut des rubriques
1163 // mais pour assurer la compatibilite ascendante, on le duplique
1164 if (upgrade_vers(1.912, $version_installee, $version_cible)) {
1165 @copy(_DIR_IMG.'rubon0.gif', _DIR_IMG.'siteon0.gif');
1166 @copy(_DIR_IMG.'ruboff0.gif', _DIR_IMG.'siteoff0.gif');
1167 @copy(_DIR_IMG.'rubon0.jpg', _DIR_IMG.'siteon0.jpg');
1168 @copy(_DIR_IMG.'ruboff0.jpg', _DIR_IMG.'siteoff0.jpg');
1169 @copy(_DIR_IMG.'rubon0.png', _DIR_IMG.'siteon0.png');
1170 @copy(_DIR_IMG.'ruboff0.png', _DIR_IMG.'siteoff0.png');
1171 maj_version(1.912);
1172 }
1173
1174 // suppression de auteur_modif qui n'est plus utilise nulle part
1175 if (upgrade_vers(1.913, $version_installee, $version_cible)) {
1176 spip_query("ALTER TABLE spip_articles DROP auteur_modif");
1177 maj_version(1.913);
1178 }
1179
1180 // Ajout de SVG
1181 if (upgrade_vers(1.914, $version_installee, $version_cible)) {
1182 spip_query("INSERT IGNORE INTO spip_types_documents (extension, titre, inclus) VALUES ('svg', 'Scalable Vector Graphics', 'embed')");
1183 spip_query("UPDATE spip_types_documents SET mime_type='image/svg+xml' WHERE extension='svg'");
1184 maj_version(1.914);
1185 }
1186
1187 // Ajout de plein de type mime
1188 if (upgrade_vers(1.915, $version_installee, $version_cible)) {
1189 maj_version(1.915);
1190 }
1191 // refaire l'upgrade 1.905 qui a pu foirer en partie a cause de la requete ALTER sur `spip_meta`
1192 if (upgrade_vers(1.916, $version_installee, $version_cible)) {
1193 // agrandir le champ "valeur" de spip_meta pour pouvoir y stocker
1194 // des choses plus sympa
1195 spip_query("ALTER TABLE spip_meta CHANGE `valeur` `valeur` TEXT");
1196 include_spip('inc/indexation');
1197 update_index_tables();
1198 maj_version(1.916);
1199 }
1200 if (upgrade_vers(1.917, $version_installee, $version_cible)) {
1201 spip_query("ALTER TABLE spip_documents DROP inclus");
1202 maj_version(1.917);
1203 }
1204
1205 // Permettre d'enregistrer un numero IP dans les revisions d'articles
1206 // a la place de l'id_auteur
1207 if (upgrade_vers(1.918, $version_installee, $version_cible)) {
1208 spip_query("ALTER TABLE spip_versions CHANGE `id_auteur` `id_auteur` VARCHAR(23)");
1209 maj_version(1.918);
1210 }
1211
1212 if (upgrade_vers(1.919, $version_installee, $version_cible)) {
1213 spip_query("ALTER TABLE spip_ajax_fonc DROP id_auteur");
1214 maj_version('1.919');
1215 }
1216
1217 if (upgrade_vers(1.920, $version_installee, $version_cible)) {
1218 spip_query("ALTER IGNORE TABLE spip_documents_articles ADD PRIMARY KEY (id_article, id_document)");
1219 spip_query("ALTER IGNORE TABLE spip_documents_breves ADD PRIMARY KEY (id_breve, id_document)");
1220 spip_query("ALTER IGNORE TABLE spip_documents_rubriques ADD PRIMARY KEY (id_rubrique, id_document)");
1221 spip_query("ALTER IGNORE TABLE spip_documents_articles DROP INDEX id_article");
1222 spip_query("ALTER IGNORE TABLE spip_documents_breves DROP INDEX id_breve");
1223 spip_query("ALTER IGNORE TABLE spip_documents_rubriques DROP INDEX id_rubrique");
1224 maj_version('1.920');
1225 }
1226 if (upgrade_vers(1.922, $version_installee, $version_cible)) {
1227 spip_query("ALTER TABLE spip_meta ADD impt ENUM('non', 'oui') DEFAULT 'oui' NOT NULL AFTER valeur");
1228 $meta_serveur = array('version_installee','adresse_site','alea_ephemere_ancien','alea_ephemere','alea_ephemere_date','langue_site','langues_proposees','date_calcul_rubriques','derniere_modif','optimiser_table','drapeau_edition','creer_preview','taille_preview','creer_htpasswd','creer_htaccess','gd_formats_read','gd_formats',
1229 'netpbm_formats','formats_graphiques','image_process','plugin_header','plugin');
1230 foreach($meta_serveur as $nom)
1231 spip_query("UPDATE spip_meta SET impt='non' WHERE nom="._q($nom));
1232 maj_version('1.922');
1233 }
1234 if (upgrade_vers(1.923, $version_installee, $version_cible)) {
1235 if (isset($GLOBALS['meta']['IMPORT_tables_noimport'])){
1236 $IMPORT_tables_noimport = unserialize($GLOBALS['meta']['IMPORT_tables_noimport']);
1237 foreach ($IMPORT_tables_noimport as $key=>$table)
1238 if ($table=='spip_meta') unset($IMPORT_tables_noimport[$key]);
1239 include_spip('inc/meta');
1240 ecrire_meta('IMPORT_tables_noimport',serialize($IMPORT_tables_noimport),'non');
1241 }
1242 maj_version('1.923');
1243 }
1244
1245 if (upgrade_vers(1.924, $version_installee, $version_cible)) {
1246 spip_query('DROP TABLE spip_ajax_fonc');
1247 maj_version('1.924');
1248 }
1249
1250 if (upgrade_vers(1.925, $version_installee, $version_cible)) {
1251 include_spip('inc/flock');
1252 /* deplacement des sessions */
1253 $f_session = preg_files('data', 'session_');
1254 $repertoire = _DIR_SESSIONS;
1255 if(!@file_exists($repertoire)) {
1256 $repertoire = preg_replace(','._DIR_TMP.',', '', $repertoire);
1257 $repertoire = sous_repertoire(_DIR_TMP, $repertoire);
1258 }
1259 foreach($f_session as $f) {
1260 $d = basename($f);
1261 @copy($f, $repertoire.$d);
1262 }
1263 /* deplacement des visites */
1264 $f_visites = preg_files('data/visites');
1265 $repertoire = sous_repertoire(_DIR_TMP, 'visites');
1266 foreach($f_visites as $f) {
1267 $d = basename($f);
1268 @copy($f, $repertoire.$d);
1269 }
1270 /* deplacement des upload */
1271 $auteurs = array();
1272 $req = spip_query("SELECT login FROM spip_auteurs WHERE statut = '0minirezo'");
1273 while($row = spip_fetch_array($req))
1274 $auteurs[] = $row['login'];
1275 $f_upload = preg_files('upload', -1, 10000, $auteurs);
1276 $repertoire = _DIR_TRANSFERT;
1277 if(!@file_exists($repertoire)) {
1278 $repertoire = preg_replace(','._DIR_TMP.',', '', $repertoire);
1279 $repertoire = sous_repertoire(_DIR_TMP, $repertoire);
1280 }
1281 foreach($auteurs as $login) {
1282 if(is_dir('upload/'.$login))
1283 $sous_repertoire = sous_repertoire(_DIR_TRANSFERT, $login);
1284 }
1285 foreach($f_upload as $f) {
1286 @copy($f, _DIR_TMP.$f);
1287 }
1288 /* deplacement des dumps */
1289 $f_session = preg_files('data', 'dump');
1290 $repertoire = _DIR_DUMP;
1291 if(!@file_exists($repertoire)) {
1292 $repertoire = preg_replace(','._DIR_TMP.',', '', $repertoire);
1293 $repertoire = sous_repertoire(_DIR_TMP, $repertoire);
1294 }
1295 foreach($f_session as $f) {
1296 $d = basename($f);
1297 @copy($f, $repertoire.$d);
1298 }
1299 maj_version('1.925');
1300 }
1301 // Ajout de MP4
1302 if (upgrade_vers(1.926, $version_installee, $version_cible)) {
1303 spip_query("INSERT IGNORE INTO spip_types_documents (extension, titre, inclus) VALUES ('mp4', 'MPEG4', 'embed')");
1304 spip_query("UPDATE spip_types_documents SET mime_type='application/mp4' WHERE extension='mp4'");
1305 maj_version('1.926');
1306 }
1307 // Ajout de CSV
1308 if (upgrade_vers(1.927, $version_installee, $version_cible)) {
1309 //pas de psd en <img>
1310 spip_query("UPDATE spip_types_documents SET inclus='non' WHERE extension='psd'");
1311 //ajout csv
1312 spip_query("INSERT IGNORE INTO spip_types_documents (extension, titre) VALUES ('csv', 'CSV')");
1313 spip_query("UPDATE spip_types_documents SET mime_type='text/csv' WHERE extension='csv'");
1314 //ajout mkv
1315 spip_query("INSERT IGNORE INTO spip_types_documents (extension, titre, inclus) VALUES ('mkv', 'Matroska Video', 'embed')");
1316 spip_query("UPDATE spip_types_documents SET mime_type='video/x-mkv' WHERE extension='mkv'");
1317 //ajout mka
1318 spip_query("INSERT IGNORE INTO spip_types_documents (extension, titre, inclus) VALUES ('mka', 'Matroska Audio', 'embed')");
1319 spip_query("UPDATE spip_types_documents SET mime_type='audio/x-mka' WHERE extension='mka'");
1320 //ajout kml
1321 spip_query("INSERT IGNORE INTO spip_types_documents (extension, titre) VALUES ('kml', 'Keyhole Markup Language')");
1322 spip_query("UPDATE spip_types_documents SET mime_type='application/vnd.google-earth.kml+xml' WHERE extension='kml'");
1323 //ajout kmz
1324 spip_query("INSERT IGNORE INTO spip_types_documents (extension, titre) VALUES ('kmz', 'Google Earth Placemark File')");
1325 spip_query("UPDATE spip_types_documents SET mime_type='application/vnd.google-earth.kmz' WHERE extension='kmz'");
1326 maj_version('1.927');
1327 }
1328
1329 }
1330
1331 ?>