[SPIP][PLUGINS] v3.0-->v3.2
[lhc/web/www.git] / www / ecrire / maj / v017.php
1 <?php
2
3 /***************************************************************************\
4 * SPIP, Systeme de publication pour l'internet *
5 * *
6 * Copyright (c) 2001-2017 *
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 * Gestion des mises à jour de SPIP, versions 1.7*
15 *
16 * @package SPIP\Core\SQL\Upgrade
17 **/
18 if (!defined('_ECRIRE_INC_VERSION')) {
19 return;
20 }
21
22 /**
23 * Mises à jour de SPIP n°017
24 *
25 * @param float $version_installee Version actuelle
26 * @param float $version_cible Version de destination
27 **/
28 function maj_v017_dist($version_installee, $version_cible) {
29 if (upgrade_vers(1.702, $version_installee, $version_cible)) {
30 spip_query("ALTER TABLE spip_articles ADD extra longblob NULL");
31 spip_query("ALTER TABLE spip_auteurs ADD extra longblob NULL");
32 spip_query("ALTER TABLE spip_breves ADD extra longblob NULL");
33 spip_query("ALTER TABLE spip_rubriques ADD extra longblob NULL");
34 spip_query("ALTER TABLE spip_mots ADD extra longblob NULL");
35
36 // recuperer les eventuels 'supplement' installes en 1.701
37 if ($version_installee == 1.701) {
38 spip_query("UPDATE spip_articles SET extra = supplement");
39 spip_query("ALTER TABLE spip_articles DROP supplement");
40 spip_query("UPDATE spip_auteurs SET extra = supplement");
41 spip_query("ALTER TABLE spip_auteurs DROP supplement");
42 spip_query("UPDATE spip_breves SET extra = supplement");
43 spip_query("ALTER TABLE spip_breves DROP supplement");
44 spip_query("UPDATE spip_rubriques SET extra = supplement");
45 spip_query("ALTER TABLE spip_rubriques DROP supplement");
46 spip_query("UPDATE spip_mots SET extra = supplement");
47 spip_query("ALTER TABLE spip_mots DROP supplement");
48 }
49
50 $u = spip_query("SELECT extra FROM spip_articles");
51 $u &= spip_query("SELECT extra FROM spip_auteurs");
52 $u &= spip_query("SELECT extra FROM spip_breves");
53 $u &= spip_query("SELECT extra FROM spip_rubriques");
54 $u &= spip_query("SELECT extra FROM spip_mots");
55 maj_version(1.702, $u);
56 }
57
58 if (upgrade_vers(1.703, $version_installee, $version_cible)) {
59 spip_query("ALTER TABLE spip_articles ADD lang VARCHAR(10) DEFAULT '' NOT NULL");
60 spip_query("ALTER TABLE spip_rubriques ADD lang VARCHAR(10) DEFAULT '' NOT NULL");
61 maj_version(1.703);
62 }
63
64 if (upgrade_vers(1.704, $version_installee, $version_cible)) {
65 spip_query("ALTER TABLE spip_articles ADD INDEX lang (lang)");
66 spip_query("ALTER TABLE spip_auteurs ADD INDEX lang (lang)");
67 spip_query("ALTER TABLE spip_rubriques ADD INDEX lang (lang)");
68 maj_version(1.704);
69 }
70
71 if (upgrade_vers(1.705, $version_installee, $version_cible)) {
72 spip_query("ALTER TABLE spip_articles ADD langue_choisie VARCHAR(3) DEFAULT 'non'");
73 spip_query("ALTER TABLE spip_rubriques ADD langue_choisie VARCHAR(3) DEFAULT 'non'");
74 maj_version(1.705);
75 }
76
77 if (upgrade_vers(1.707, $version_installee, $version_cible)) {
78 spip_query("UPDATE spip_articles SET langue_choisie='oui' WHERE MID(lang,1,1) != '.' AND lang != ''");
79 spip_query("UPDATE spip_articles SET lang=MID(lang,2,8) WHERE langue_choisie = 'non'");
80 spip_query("UPDATE spip_rubriques SET langue_choisie='oui' WHERE MID(lang,1,1) != '.' AND lang != ''");
81 spip_query("UPDATE spip_rubriques SET lang=MID(lang,2,8) WHERE langue_choisie = 'non'");
82 maj_version(1.707);
83 }
84
85 if (upgrade_vers(1.708, $version_installee, $version_cible)) {
86 spip_query("ALTER TABLE spip_breves ADD lang VARCHAR(10) DEFAULT '' NOT NULL");
87 spip_query("ALTER TABLE spip_breves ADD langue_choisie VARCHAR(3) DEFAULT 'non'");
88 maj_version(1.708);
89 }
90
91 if (upgrade_vers(1.709, $version_installee, $version_cible)) {
92 spip_query("ALTER TABLE spip_articles ADD id_trad bigint(21) DEFAULT '0' NOT NULL");
93 spip_query("ALTER TABLE spip_articles ADD INDEX id_trad (id_trad)");
94 maj_version(1.709);
95 }
96
97 if (upgrade_vers(1.717, $version_installee, $version_cible)) {
98 spip_query("ALTER TABLE spip_articles ADD INDEX date_modif (date_modif)");
99 maj_version(1.717);
100 }
101
102 if (upgrade_vers(1.718, $version_installee, $version_cible)) {
103 spip_query("ALTER TABLE spip_referers DROP domaine");
104 spip_query("ALTER TABLE spip_referers_articles DROP domaine");
105 spip_query("ALTER TABLE spip_referers_temp DROP domaine");
106 maj_version(1.718);
107 }
108
109 if (upgrade_vers(1.722, $version_installee, $version_cible)) {
110 spip_query("ALTER TABLE spip_articles ADD nom_site tinytext NOT NULL");
111 spip_query("ALTER TABLE spip_articles ADD url_site VARCHAR(255) NOT NULL");
112 spip_query("ALTER TABLE spip_articles ADD INDEX url_site (url_site)");
113 if ($version_installee >= 1.720) {
114 spip_query("UPDATE spip_articles SET url_site=url_ref");
115 spip_query("ALTER TABLE spip_articles DROP INDEX url_ref");
116 spip_query("ALTER TABLE spip_articles DROP url_ref");
117 }
118 maj_version(1.722);
119 }
120
121 if (upgrade_vers(1.723, $version_installee, $version_cible)) {
122 if ($version_installee == 1.722) {
123 spip_query("ALTER TABLE spip_articles MODIFY url_site VARCHAR(255) NOT NULL");
124 spip_query("ALTER TABLE spip_articles DROP INDEX url_site;");
125 spip_query("ALTER TABLE spip_articles ADD INDEX url_site (url_site);");
126 }
127 maj_version(1.723);
128 }
129
130 if (upgrade_vers(1.724, $version_installee, $version_cible)) {
131 spip_query("ALTER TABLE spip_messages ADD date_fin datetime DEFAULT '0000-00-00 00:00:00' NOT NULL");
132 maj_version(1.724);
133 }
134
135 if (upgrade_vers(1.726, $version_installee, $version_cible)) {
136 spip_query("ALTER TABLE spip_auteurs ADD low_sec tinytext NOT NULL");
137 maj_version(1.726);
138 }
139
140 if (upgrade_vers(1.727, $version_installee, $version_cible)) {
141 // occitans : oci_xx -> oc_xx
142 spip_query("UPDATE spip_auteurs SET lang=REPLACE(lang,'oci_', 'oc_') WHERE lang LIKE 'oci_%'");
143 spip_query("UPDATE spip_rubriques SET lang=REPLACE(lang,'oci_', 'oc_') WHERE lang LIKE 'oci_%'");
144 spip_query("UPDATE spip_articles SET lang=REPLACE(lang,'oci_', 'oc_') WHERE lang LIKE 'oci_%'");
145 spip_query("UPDATE spip_breves SET lang=REPLACE(lang,'oci_', 'oc_') WHERE lang LIKE 'oci_%'");
146 maj_version(1.727);
147 }
148
149 // Ici version 1.7 officielle
150 if (upgrade_vers(1.728, $version_installee, $version_cible)) {
151 spip_query("ALTER TABLE spip_articles ADD id_version int unsigned DEFAULT '0' NOT NULL");
152 maj_version(1.728);
153 }
154
155 if (upgrade_vers(1.730, $version_installee, $version_cible)) {
156 spip_query("ALTER TABLE spip_articles ADD idx ENUM('', '1', 'non', 'oui', 'idx') DEFAULT '' NOT NULL");
157 spip_query("ALTER TABLE spip_articles ADD INDEX idx (idx)");
158 spip_query("ALTER TABLE spip_auteurs ADD idx ENUM('', '1', 'non', 'oui', 'idx') DEFAULT '' NOT NULL");
159 spip_query("ALTER TABLE spip_auteurs ADD INDEX idx (idx)");
160 spip_query("ALTER TABLE spip_breves ADD idx ENUM('', '1', 'non', 'oui', 'idx') DEFAULT '' NOT NULL");
161 spip_query("ALTER TABLE spip_breves ADD INDEX idx (idx)");
162 spip_query("ALTER TABLE spip_mots ADD idx ENUM('', '1', 'non', 'oui', 'idx') DEFAULT '' NOT NULL");
163 spip_query("ALTER TABLE spip_mots ADD INDEX idx (idx)");
164 spip_query("ALTER TABLE spip_rubriques ADD idx ENUM('', '1', 'non', 'oui', 'idx') DEFAULT '' NOT NULL");
165 spip_query("ALTER TABLE spip_rubriques ADD INDEX idx (idx)");
166 spip_query("ALTER TABLE spip_syndic ADD idx ENUM('', '1', 'non', 'oui', 'idx') DEFAULT '' NOT NULL");
167 spip_query("ALTER TABLE spip_syndic ADD INDEX idx (idx)");
168 spip_query("ALTER TABLE spip_forum ADD idx ENUM('', '1', 'non', 'oui', 'idx') DEFAULT '' NOT NULL");
169 spip_query("ALTER TABLE spip_forum ADD INDEX idx (idx)");
170 spip_query("ALTER TABLE spip_signatures ADD idx ENUM('', '1', 'non', 'oui', 'idx') DEFAULT '' NOT NULL");
171 spip_query("ALTER TABLE spip_signatures ADD INDEX idx (idx)");
172 maj_version(1.730);
173 }
174
175 if (upgrade_vers(1.731, $version_installee, $version_cible)) {
176 spip_query("UPDATE spip_articles SET idx='1' where lang IN ('de','vi')");
177 spip_query("UPDATE spip_rubriques SET idx='1' where lang IN ('de','vi')");
178 spip_query("UPDATE spip_breves SET idx='1' where lang IN ('de','vi')");
179 spip_query("UPDATE spip_auteurs SET idx='1' where lang IN ('de','vi')");
180 maj_version(1.731);
181 }
182
183 if (upgrade_vers(1.732, $version_installee,
184 $version_cible)) { // en correction d'un vieux truc qui avait fait sauter le champ inclus sur les bases version 1.415
185 spip_query("ALTER TABLE spip_documents ADD inclus VARCHAR(3) DEFAULT 'non'");
186 maj_version(1.732);
187 }
188
189 if (upgrade_vers(1.733, $version_installee, $version_cible)) {
190 // spip_query("ALTER TABLE spip_articles ADD id_version int unsigned DEFAULT '0' NOT NULL");
191 spip_query("DROP TABLE spip_versions");
192 spip_query("DROP TABLE spip_versions_fragments");
193 creer_base();
194 maj_version(1.733);
195 }
196
197 #if ($version_installee < 1.734) {
198 # // integrer nouvelles tables auxiliaires du compilateur ESJ
199 # creer_base();
200 # maj_version(1.734);
201 #}
202 }