Commit | Line | Data |
---|---|---|
c495c100 P |
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, '&', '&')"); | |
632 | spip_query("UPDATE spip_syndic SET url_site = REPLACE(url_site, '&', '&')"); | |
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 | ?> |