@@ -16,11 +16,11 @@ |
||
| 16 | 16 | function maj_v011_dist($version_installee, $version_cible) |
| 17 | 17 | { |
| 18 | 18 | |
| 19 | - if (upgrade_vers(1.1, $version_installee, $version_cible)) { |
|
| 20 | - spip_query("DROP TABLE spip_petition"); |
|
| 21 | - spip_query("DROP TABLE spip_signatures_petition"); |
|
| 22 | - maj_version (1.1); |
|
| 23 | - } |
|
| 19 | + if (upgrade_vers(1.1, $version_installee, $version_cible)) { |
|
| 20 | + spip_query("DROP TABLE spip_petition"); |
|
| 21 | + spip_query("DROP TABLE spip_signatures_petition"); |
|
| 22 | + maj_version (1.1); |
|
| 23 | + } |
|
| 24 | 24 | } |
| 25 | 25 | |
| 26 | 26 | |
@@ -14,68 +14,68 @@ |
||
| 14 | 14 | |
| 15 | 15 | function maj_v012_dist($version_installee, $version_cible) |
| 16 | 16 | { |
| 17 | - // Correction de l'oubli des modifs creations depuis 1.04 |
|
| 18 | - if (upgrade_vers(1.204, $version_installee, $version_cible)) { |
|
| 19 | - spip_query("ALTER TABLE spip_articles ADD accepter_forum VARCHAR(3) NOT NULL"); |
|
| 20 | - spip_query("ALTER TABLE spip_forum ADD id_message bigint(21) NOT NULL"); |
|
| 21 | - spip_query("ALTER TABLE spip_forum ADD INDEX id_message (id_message)"); |
|
| 22 | - spip_query("ALTER TABLE spip_auteurs ADD en_ligne datetime DEFAULT '0000-00-00 00:00:00' NOT NULL"); |
|
| 23 | - spip_query("ALTER TABLE spip_auteurs ADD imessage VARCHAR(3) not null"); |
|
| 24 | - spip_query("ALTER TABLE spip_auteurs ADD messagerie VARCHAR(3) not null"); |
|
| 25 | - maj_version (1.204); |
|
| 26 | - } |
|
| 17 | + // Correction de l'oubli des modifs creations depuis 1.04 |
|
| 18 | + if (upgrade_vers(1.204, $version_installee, $version_cible)) { |
|
| 19 | + spip_query("ALTER TABLE spip_articles ADD accepter_forum VARCHAR(3) NOT NULL"); |
|
| 20 | + spip_query("ALTER TABLE spip_forum ADD id_message bigint(21) NOT NULL"); |
|
| 21 | + spip_query("ALTER TABLE spip_forum ADD INDEX id_message (id_message)"); |
|
| 22 | + spip_query("ALTER TABLE spip_auteurs ADD en_ligne datetime DEFAULT '0000-00-00 00:00:00' NOT NULL"); |
|
| 23 | + spip_query("ALTER TABLE spip_auteurs ADD imessage VARCHAR(3) not null"); |
|
| 24 | + spip_query("ALTER TABLE spip_auteurs ADD messagerie VARCHAR(3) not null"); |
|
| 25 | + maj_version (1.204); |
|
| 26 | + } |
|
| 27 | 27 | |
| 28 | - if (upgrade_vers(1.207, $version_installee, $version_cible)) { |
|
| 29 | - spip_query("ALTER TABLE spip_rubriques DROP INDEX id_rubrique"); |
|
| 30 | - spip_query("ALTER TABLE spip_rubriques ADD INDEX id_parent (id_parent)"); |
|
| 31 | - spip_query("ALTER TABLE spip_rubriques ADD statut VARCHAR(10) NOT NULL"); |
|
| 32 | - // Declencher le calcul des rubriques publiques |
|
| 33 | - include_spip('inc/rubriques'); |
|
| 34 | - calculer_rubriques(); |
|
| 35 | - maj_version (1.207); |
|
| 36 | - } |
|
| 28 | + if (upgrade_vers(1.207, $version_installee, $version_cible)) { |
|
| 29 | + spip_query("ALTER TABLE spip_rubriques DROP INDEX id_rubrique"); |
|
| 30 | + spip_query("ALTER TABLE spip_rubriques ADD INDEX id_parent (id_parent)"); |
|
| 31 | + spip_query("ALTER TABLE spip_rubriques ADD statut VARCHAR(10) NOT NULL"); |
|
| 32 | + // Declencher le calcul des rubriques publiques |
|
| 33 | + include_spip('inc/rubriques'); |
|
| 34 | + calculer_rubriques(); |
|
| 35 | + maj_version (1.207); |
|
| 36 | + } |
|
| 37 | 37 | |
| 38 | - if (upgrade_vers(1.208, $version_installee, $version_cible)) { |
|
| 39 | - spip_query("ALTER TABLE spip_auteurs_messages CHANGE forum vu CHAR(3) NOT NULL"); |
|
| 40 | - spip_query("UPDATE spip_auteurs_messages SET vu='oui'"); |
|
| 41 | - spip_query("UPDATE spip_auteurs_messages SET vu='non' WHERE statut='a'"); |
|
| 38 | + if (upgrade_vers(1.208, $version_installee, $version_cible)) { |
|
| 39 | + spip_query("ALTER TABLE spip_auteurs_messages CHANGE forum vu CHAR(3) NOT NULL"); |
|
| 40 | + spip_query("UPDATE spip_auteurs_messages SET vu='oui'"); |
|
| 41 | + spip_query("UPDATE spip_auteurs_messages SET vu='non' WHERE statut='a'"); |
|
| 42 | 42 | |
| 43 | - spip_query("ALTER TABLE spip_messages ADD id_auteur bigint(21) NOT NULL"); |
|
| 44 | - spip_query("ALTER TABLE spip_messages ADD INDEX id_auteur (id_auteur)"); |
|
| 45 | - $result = spip_query("SELECT id_auteur, id_message FROM spip_auteurs_messages WHERE statut='de'"); |
|
| 46 | - while ($row = sql_fetch($result)) { |
|
| 47 | - $id_auteur = $row['id_auteur']; |
|
| 48 | - $id_message = $row['id_message']; |
|
| 49 | - spip_query("UPDATE spip_messages SET id_auteur=$id_auteur WHERE id_message=$id_message"); |
|
| 50 | - } |
|
| 43 | + spip_query("ALTER TABLE spip_messages ADD id_auteur bigint(21) NOT NULL"); |
|
| 44 | + spip_query("ALTER TABLE spip_messages ADD INDEX id_auteur (id_auteur)"); |
|
| 45 | + $result = spip_query("SELECT id_auteur, id_message FROM spip_auteurs_messages WHERE statut='de'"); |
|
| 46 | + while ($row = sql_fetch($result)) { |
|
| 47 | + $id_auteur = $row['id_auteur']; |
|
| 48 | + $id_message = $row['id_message']; |
|
| 49 | + spip_query("UPDATE spip_messages SET id_auteur=$id_auteur WHERE id_message=$id_message"); |
|
| 50 | + } |
|
| 51 | 51 | |
| 52 | - spip_query("ALTER TABLE spip_auteurs_messages DROP statut"); |
|
| 53 | - maj_version (1.208); |
|
| 54 | - } |
|
| 52 | + spip_query("ALTER TABLE spip_auteurs_messages DROP statut"); |
|
| 53 | + maj_version (1.208); |
|
| 54 | + } |
|
| 55 | 55 | |
| 56 | - if (upgrade_vers(1.209, $version_installee, $version_cible)) { |
|
| 57 | - spip_query("ALTER TABLE spip_syndic ADD maj TIMESTAMP"); |
|
| 58 | - spip_query("ALTER TABLE spip_syndic_articles ADD maj TIMESTAMP"); |
|
| 59 | - spip_query("ALTER TABLE spip_messages ADD maj TIMESTAMP"); |
|
| 60 | - maj_version (1.209); |
|
| 61 | - } |
|
| 56 | + if (upgrade_vers(1.209, $version_installee, $version_cible)) { |
|
| 57 | + spip_query("ALTER TABLE spip_syndic ADD maj TIMESTAMP"); |
|
| 58 | + spip_query("ALTER TABLE spip_syndic_articles ADD maj TIMESTAMP"); |
|
| 59 | + spip_query("ALTER TABLE spip_messages ADD maj TIMESTAMP"); |
|
| 60 | + maj_version (1.209); |
|
| 61 | + } |
|
| 62 | 62 | |
| 63 | - if (upgrade_vers(1.210, $version_installee, $version_cible)) { |
|
| 64 | - spip_query("ALTER TABLE spip_messages DROP page"); |
|
| 63 | + if (upgrade_vers(1.210, $version_installee, $version_cible)) { |
|
| 64 | + spip_query("ALTER TABLE spip_messages DROP page"); |
|
| 65 | 65 | |
| 66 | - stripslashes_base('spip_articles', array('surtitre', 'titre', 'soustitre', 'descriptif', 'chapo', 'texte', 'ps')); |
|
| 67 | - stripslashes_base('spip_auteurs', array('nom', 'bio', 'nom_site')); |
|
| 68 | - stripslashes_base('spip_breves', array('titre', 'texte', 'lien_titre')); |
|
| 69 | - stripslashes_base('spip_forum', array('titre', 'texte', 'auteur', 'nom_site')); |
|
| 70 | - stripslashes_base('spip_messages', array('titre', 'texte')); |
|
| 71 | - stripslashes_base('spip_mots', array('type', 'titre', 'descriptif', 'texte')); |
|
| 72 | - stripslashes_base('spip_petitions', array('texte')); |
|
| 73 | - stripslashes_base('spip_rubriques', array('titre', 'descriptif', 'texte')); |
|
| 74 | - stripslashes_base('spip_signatures', array('nom_email', 'nom_site', 'message')); |
|
| 75 | - stripslashes_base('spip_syndic', array('nom_site', 'descriptif')); |
|
| 76 | - stripslashes_base('spip_syndic_articles', array('titre', 'lesauteurs')); |
|
| 77 | - maj_version (1.210); |
|
| 78 | - } |
|
| 66 | + stripslashes_base('spip_articles', array('surtitre', 'titre', 'soustitre', 'descriptif', 'chapo', 'texte', 'ps')); |
|
| 67 | + stripslashes_base('spip_auteurs', array('nom', 'bio', 'nom_site')); |
|
| 68 | + stripslashes_base('spip_breves', array('titre', 'texte', 'lien_titre')); |
|
| 69 | + stripslashes_base('spip_forum', array('titre', 'texte', 'auteur', 'nom_site')); |
|
| 70 | + stripslashes_base('spip_messages', array('titre', 'texte')); |
|
| 71 | + stripslashes_base('spip_mots', array('type', 'titre', 'descriptif', 'texte')); |
|
| 72 | + stripslashes_base('spip_petitions', array('texte')); |
|
| 73 | + stripslashes_base('spip_rubriques', array('titre', 'descriptif', 'texte')); |
|
| 74 | + stripslashes_base('spip_signatures', array('nom_email', 'nom_site', 'message')); |
|
| 75 | + stripslashes_base('spip_syndic', array('nom_site', 'descriptif')); |
|
| 76 | + stripslashes_base('spip_syndic_articles', array('titre', 'lesauteurs')); |
|
| 77 | + maj_version (1.210); |
|
| 78 | + } |
|
| 79 | 79 | } |
| 80 | 80 | |
| 81 | 81 | |
@@ -14,115 +14,115 @@ |
||
| 14 | 14 | |
| 15 | 15 | function maj_v009_dist($version_installee, $version_cible) |
| 16 | 16 | { |
| 17 | - if (upgrade_vers(0.98, $version_installee, $version_cible)) { |
|
| 17 | + if (upgrade_vers(0.98, $version_installee, $version_cible)) { |
|
| 18 | 18 | |
| 19 | - spip_query("ALTER TABLE spip_articles ADD maj TIMESTAMP"); |
|
| 20 | - spip_query("ALTER TABLE spip_articles ADD export VARCHAR(10) DEFAULT 'oui'"); |
|
| 21 | - spip_query("ALTER TABLE spip_articles ADD images TEXT DEFAULT ''"); |
|
| 22 | - spip_query("ALTER TABLE spip_articles ADD date_redac datetime DEFAULT '0000-00-00 00:00:00' NOT NULL"); |
|
| 23 | - spip_query("ALTER TABLE spip_articles DROP INDEX id_article"); |
|
| 24 | - spip_query("ALTER TABLE spip_articles ADD INDEX id_rubrique (id_rubrique)"); |
|
| 25 | - spip_query("ALTER TABLE spip_articles ADD visites INTEGER DEFAULT '0' NOT NULL"); |
|
| 26 | - spip_query("ALTER TABLE spip_articles ADD referers BLOB NOT NULL"); |
|
| 19 | + spip_query("ALTER TABLE spip_articles ADD maj TIMESTAMP"); |
|
| 20 | + spip_query("ALTER TABLE spip_articles ADD export VARCHAR(10) DEFAULT 'oui'"); |
|
| 21 | + spip_query("ALTER TABLE spip_articles ADD images TEXT DEFAULT ''"); |
|
| 22 | + spip_query("ALTER TABLE spip_articles ADD date_redac datetime DEFAULT '0000-00-00 00:00:00' NOT NULL"); |
|
| 23 | + spip_query("ALTER TABLE spip_articles DROP INDEX id_article"); |
|
| 24 | + spip_query("ALTER TABLE spip_articles ADD INDEX id_rubrique (id_rubrique)"); |
|
| 25 | + spip_query("ALTER TABLE spip_articles ADD visites INTEGER DEFAULT '0' NOT NULL"); |
|
| 26 | + spip_query("ALTER TABLE spip_articles ADD referers BLOB NOT NULL"); |
|
| 27 | 27 | |
| 28 | - spip_query("ALTER TABLE spip_auteurs ADD maj TIMESTAMP"); |
|
| 29 | - spip_query("ALTER TABLE spip_auteurs ADD pgp BLOB NOT NULL"); |
|
| 28 | + spip_query("ALTER TABLE spip_auteurs ADD maj TIMESTAMP"); |
|
| 29 | + spip_query("ALTER TABLE spip_auteurs ADD pgp BLOB NOT NULL"); |
|
| 30 | 30 | |
| 31 | - spip_query("ALTER TABLE spip_auteurs_articles ADD INDEX id_auteur (id_auteur), ADD INDEX id_article (id_article)"); |
|
| 31 | + spip_query("ALTER TABLE spip_auteurs_articles ADD INDEX id_auteur (id_auteur), ADD INDEX id_article (id_article)"); |
|
| 32 | 32 | |
| 33 | - spip_query("ALTER TABLE spip_rubriques ADD maj TIMESTAMP"); |
|
| 34 | - spip_query("ALTER TABLE spip_rubriques ADD export VARCHAR(10) DEFAULT 'oui', ADD id_import BIGINT DEFAULT '0'"); |
|
| 33 | + spip_query("ALTER TABLE spip_rubriques ADD maj TIMESTAMP"); |
|
| 34 | + spip_query("ALTER TABLE spip_rubriques ADD export VARCHAR(10) DEFAULT 'oui', ADD id_import BIGINT DEFAULT '0'"); |
|
| 35 | 35 | |
| 36 | - spip_query("ALTER TABLE spip_breves ADD maj TIMESTAMP"); |
|
| 37 | - spip_query("ALTER TABLE spip_breves DROP INDEX id_breve"); |
|
| 38 | - spip_query("ALTER TABLE spip_breves DROP INDEX id_breve_2"); |
|
| 39 | - spip_query("ALTER TABLE spip_breves ADD INDEX id_rubrique (id_rubrique)"); |
|
| 36 | + spip_query("ALTER TABLE spip_breves ADD maj TIMESTAMP"); |
|
| 37 | + spip_query("ALTER TABLE spip_breves DROP INDEX id_breve"); |
|
| 38 | + spip_query("ALTER TABLE spip_breves DROP INDEX id_breve_2"); |
|
| 39 | + spip_query("ALTER TABLE spip_breves ADD INDEX id_rubrique (id_rubrique)"); |
|
| 40 | 40 | |
| 41 | - spip_query("ALTER TABLE spip_forum ADD ip VARCHAR(16)"); |
|
| 42 | - spip_query("ALTER TABLE spip_forum ADD maj TIMESTAMP"); |
|
| 43 | - spip_query("ALTER TABLE spip_forum DROP INDEX id_forum"); |
|
| 44 | - 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)"); |
|
| 45 | - maj_version (0.98); |
|
| 46 | - } |
|
| 47 | - |
|
| 48 | - if (upgrade_vers(0.99, $version_installee, $version_cible)) { |
|
| 41 | + spip_query("ALTER TABLE spip_forum ADD ip VARCHAR(16)"); |
|
| 42 | + spip_query("ALTER TABLE spip_forum ADD maj TIMESTAMP"); |
|
| 43 | + spip_query("ALTER TABLE spip_forum DROP INDEX id_forum"); |
|
| 44 | + 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)"); |
|
| 45 | + maj_version (0.98); |
|
| 46 | + } |
|
| 47 | + |
|
| 48 | + if (upgrade_vers(0.99, $version_installee, $version_cible)) { |
|
| 49 | 49 | |
| 50 | - $result = spip_query("SELECT DISTINCT id_article FROM spip_forum WHERE id_article!=0 AND id_parent=0"); |
|
| 51 | - |
|
| 52 | - while ($row = sql_fetch($result)) { |
|
| 53 | - unset($forums_article); |
|
| 54 | - $id_article = $row['id_article']; |
|
| 55 | - $result2 = spip_query("SELECT id_forum FROM spip_forum WHERE id_article=$id_article"); |
|
| 56 | - for (;;) { |
|
| 57 | - unset($forums); |
|
| 58 | - while ($row2 = sql_fetch($result2)) $forums[] = $row2['id_forum']; |
|
| 59 | - if (!$forums) break; |
|
| 60 | - $forums = join(',', $forums); |
|
| 61 | - $forums_article[] = $forums; |
|
| 62 | - $result2 = spip_query("SELECT id_forum FROM spip_forum WHERE id_parent IN ($forums)"); |
|
| 63 | - } |
|
| 64 | - $forums_article = join(',', $forums_article); |
|
| 65 | - spip_query("UPDATE spip_forum SET id_article=$id_article WHERE id_forum IN ($forums_article)"); |
|
| 66 | - } |
|
| 50 | + $result = spip_query("SELECT DISTINCT id_article FROM spip_forum WHERE id_article!=0 AND id_parent=0"); |
|
| 51 | + |
|
| 52 | + while ($row = sql_fetch($result)) { |
|
| 53 | + unset($forums_article); |
|
| 54 | + $id_article = $row['id_article']; |
|
| 55 | + $result2 = spip_query("SELECT id_forum FROM spip_forum WHERE id_article=$id_article"); |
|
| 56 | + for (;;) { |
|
| 57 | + unset($forums); |
|
| 58 | + while ($row2 = sql_fetch($result2)) $forums[] = $row2['id_forum']; |
|
| 59 | + if (!$forums) break; |
|
| 60 | + $forums = join(',', $forums); |
|
| 61 | + $forums_article[] = $forums; |
|
| 62 | + $result2 = spip_query("SELECT id_forum FROM spip_forum WHERE id_parent IN ($forums)"); |
|
| 63 | + } |
|
| 64 | + $forums_article = join(',', $forums_article); |
|
| 65 | + spip_query("UPDATE spip_forum SET id_article=$id_article WHERE id_forum IN ($forums_article)"); |
|
| 66 | + } |
|
| 67 | 67 | |
| 68 | - $result = spip_query("SELECT DISTINCT id_breve FROM spip_forum WHERE id_breve!=0 AND id_parent=0"); |
|
| 69 | - |
|
| 70 | - while ($row = sql_fetch($result)) { |
|
| 71 | - unset($forums_breve); |
|
| 72 | - $id_breve = $row['id_breve']; |
|
| 73 | - $result2 = spip_query("SELECT id_forum FROM spip_forum WHERE id_breve=$id_breve"); |
|
| 74 | - for (;;) { |
|
| 75 | - unset($forums); |
|
| 76 | - while ($row2 = sql_fetch($result2)) $forums[] = $row2['id_forum']; |
|
| 77 | - if (!$forums) break; |
|
| 78 | - $forums = join(',', $forums); |
|
| 79 | - $forums_breve[] = $forums; |
|
| 80 | - $result2 = spip_query("SELECT id_forum FROM spip_forum WHERE id_parent IN ($forums)"); |
|
| 81 | - } |
|
| 82 | - $forums_breve = join(',', $forums_breve); |
|
| 83 | - spip_query("UPDATE spip_forum SET id_breve=$id_breve WHERE id_forum IN ($forums_breve)"); |
|
| 84 | - } |
|
| 68 | + $result = spip_query("SELECT DISTINCT id_breve FROM spip_forum WHERE id_breve!=0 AND id_parent=0"); |
|
| 69 | + |
|
| 70 | + while ($row = sql_fetch($result)) { |
|
| 71 | + unset($forums_breve); |
|
| 72 | + $id_breve = $row['id_breve']; |
|
| 73 | + $result2 = spip_query("SELECT id_forum FROM spip_forum WHERE id_breve=$id_breve"); |
|
| 74 | + for (;;) { |
|
| 75 | + unset($forums); |
|
| 76 | + while ($row2 = sql_fetch($result2)) $forums[] = $row2['id_forum']; |
|
| 77 | + if (!$forums) break; |
|
| 78 | + $forums = join(',', $forums); |
|
| 79 | + $forums_breve[] = $forums; |
|
| 80 | + $result2 = spip_query("SELECT id_forum FROM spip_forum WHERE id_parent IN ($forums)"); |
|
| 81 | + } |
|
| 82 | + $forums_breve = join(',', $forums_breve); |
|
| 83 | + spip_query("UPDATE spip_forum SET id_breve=$id_breve WHERE id_forum IN ($forums_breve)"); |
|
| 84 | + } |
|
| 85 | 85 | |
| 86 | - $result = spip_query("SELECT DISTINCT id_rubrique FROM spip_forum WHERE id_rubrique!=0 AND id_parent=0"); |
|
| 87 | - |
|
| 88 | - while ($row = sql_fetch($result)) { |
|
| 89 | - unset($forums_rubrique); |
|
| 90 | - $id_rubrique = $row['id_rubrique']; |
|
| 91 | - $result2 = spip_query("SELECT id_forum FROM spip_forum WHERE id_rubrique=$id_rubrique"); |
|
| 92 | - for (;;) { |
|
| 93 | - |
|
| 94 | - unset($forums); |
|
| 95 | - while ($row2 = sql_fetch($result2)) $forums[] = $row2['id_forum']; |
|
| 96 | - if (!$forums) break; |
|
| 97 | - $forums = join(',', $forums); |
|
| 98 | - $forums_rubrique[] = $forums; |
|
| 99 | - $result2 = spip_query("SELECT id_forum FROM spip_forum WHERE id_parent IN ($forums)"); |
|
| 100 | - } |
|
| 101 | - $forums_rubrique = join(',', $forums_rubrique); |
|
| 102 | - spip_query("UPDATE spip_forum SET id_rubrique=$id_rubrique WHERE id_forum IN ($forums_rubrique)"); |
|
| 103 | - |
|
| 104 | - } |
|
| 105 | - maj_version (0.99); |
|
| 106 | - } |
|
| 107 | - |
|
| 108 | - if (upgrade_vers(0.997, $version_installee, $version_cible)) { |
|
| 109 | - spip_query("DROP TABLE spip_index"); |
|
| 110 | - maj_version (0.997); |
|
| 111 | - } |
|
| 112 | - |
|
| 113 | - if (upgrade_vers(0.999, $version_installee, $version_cible)) { |
|
| 114 | - |
|
| 115 | - spip_query("ALTER TABLE spip_auteurs CHANGE pass pass tinyblob NOT NULL"); |
|
| 116 | - spip_query("ALTER TABLE spip_auteurs ADD htpass tinyblob NOT NULL"); |
|
| 117 | - $result = spip_query("SELECT id_auteur, pass FROM spip_auteurs WHERE pass!=''"); |
|
| 118 | - |
|
| 119 | - while ($r= sql_fetch($result)) { |
|
| 120 | - $htpass = generer_htpass($r['pass']); |
|
| 121 | - $pass = md5($pass); |
|
| 122 | - spip_query("UPDATE spip_auteurs SET pass='$pass', htpass='$htpass' WHERE id_auteur=" . $r['id_auteur']); |
|
| 123 | - } |
|
| 124 | - maj_version (0.999); |
|
| 125 | - } |
|
| 86 | + $result = spip_query("SELECT DISTINCT id_rubrique FROM spip_forum WHERE id_rubrique!=0 AND id_parent=0"); |
|
| 87 | + |
|
| 88 | + while ($row = sql_fetch($result)) { |
|
| 89 | + unset($forums_rubrique); |
|
| 90 | + $id_rubrique = $row['id_rubrique']; |
|
| 91 | + $result2 = spip_query("SELECT id_forum FROM spip_forum WHERE id_rubrique=$id_rubrique"); |
|
| 92 | + for (;;) { |
|
| 93 | + |
|
| 94 | + unset($forums); |
|
| 95 | + while ($row2 = sql_fetch($result2)) $forums[] = $row2['id_forum']; |
|
| 96 | + if (!$forums) break; |
|
| 97 | + $forums = join(',', $forums); |
|
| 98 | + $forums_rubrique[] = $forums; |
|
| 99 | + $result2 = spip_query("SELECT id_forum FROM spip_forum WHERE id_parent IN ($forums)"); |
|
| 100 | + } |
|
| 101 | + $forums_rubrique = join(',', $forums_rubrique); |
|
| 102 | + spip_query("UPDATE spip_forum SET id_rubrique=$id_rubrique WHERE id_forum IN ($forums_rubrique)"); |
|
| 103 | + |
|
| 104 | + } |
|
| 105 | + maj_version (0.99); |
|
| 106 | + } |
|
| 107 | + |
|
| 108 | + if (upgrade_vers(0.997, $version_installee, $version_cible)) { |
|
| 109 | + spip_query("DROP TABLE spip_index"); |
|
| 110 | + maj_version (0.997); |
|
| 111 | + } |
|
| 112 | + |
|
| 113 | + if (upgrade_vers(0.999, $version_installee, $version_cible)) { |
|
| 114 | + |
|
| 115 | + spip_query("ALTER TABLE spip_auteurs CHANGE pass pass tinyblob NOT NULL"); |
|
| 116 | + spip_query("ALTER TABLE spip_auteurs ADD htpass tinyblob NOT NULL"); |
|
| 117 | + $result = spip_query("SELECT id_auteur, pass FROM spip_auteurs WHERE pass!=''"); |
|
| 118 | + |
|
| 119 | + while ($r= sql_fetch($result)) { |
|
| 120 | + $htpass = generer_htpass($r['pass']); |
|
| 121 | + $pass = md5($pass); |
|
| 122 | + spip_query("UPDATE spip_auteurs SET pass='$pass', htpass='$htpass' WHERE id_auteur=" . $r['id_auteur']); |
|
| 123 | + } |
|
| 124 | + maj_version (0.999); |
|
| 125 | + } |
|
| 126 | 126 | } |
| 127 | 127 | |
| 128 | 128 | ?> |
@@ -16,312 +16,312 @@ |
||
| 16 | 16 | |
| 17 | 17 | function maj_v014_dist($version_installee, $version_cible) |
| 18 | 18 | { |
| 19 | - if (upgrade_vers(1.404, $version_installee, $version_cible)) { |
|
| 20 | - spip_query("UPDATE spip_mots SET type='Mots sans groupe...' WHERE type=''"); |
|
| 21 | - |
|
| 22 | - $result = spip_query("SELECT * FROM spip_mots GROUP BY type"); |
|
| 23 | - while($row = sql_fetch($result)) { |
|
| 24 | - $type = addslashes($row['type']); |
|
| 25 | - // Old style, doit echouer |
|
| 26 | - spip_log('ne pas tenir compte de l erreur spip_groupes_mots ci-dessous:', 'mysql'); |
|
| 27 | - 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')"); |
|
| 28 | - // New style, devrait marcher |
|
| 29 | - 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')"); |
|
| 30 | - } |
|
| 31 | - sql_delete("spip_mots", "titre='kawax'"); |
|
| 32 | - maj_version (1.404); |
|
| 33 | - } |
|
| 34 | - |
|
| 35 | - if (upgrade_vers(1.405, $version_installee, $version_cible)) { |
|
| 36 | - spip_query("ALTER TABLE spip_mots ADD id_groupe bigint(21) NOT NULL"); |
|
| 19 | + if (upgrade_vers(1.404, $version_installee, $version_cible)) { |
|
| 20 | + spip_query("UPDATE spip_mots SET type='Mots sans groupe...' WHERE type=''"); |
|
| 21 | + |
|
| 22 | + $result = spip_query("SELECT * FROM spip_mots GROUP BY type"); |
|
| 23 | + while($row = sql_fetch($result)) { |
|
| 24 | + $type = addslashes($row['type']); |
|
| 25 | + // Old style, doit echouer |
|
| 26 | + spip_log('ne pas tenir compte de l erreur spip_groupes_mots ci-dessous:', 'mysql'); |
|
| 27 | + 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')"); |
|
| 28 | + // New style, devrait marcher |
|
| 29 | + 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')"); |
|
| 30 | + } |
|
| 31 | + sql_delete("spip_mots", "titre='kawax'"); |
|
| 32 | + maj_version (1.404); |
|
| 33 | + } |
|
| 34 | + |
|
| 35 | + if (upgrade_vers(1.405, $version_installee, $version_cible)) { |
|
| 36 | + spip_query("ALTER TABLE spip_mots ADD id_groupe bigint(21) NOT NULL"); |
|
| 37 | 37 | |
| 38 | - $result = spip_query("SELECT * FROM spip_groupes_mots"); |
|
| 39 | - while($row = sql_fetch($result)) { |
|
| 40 | - $id_groupe = addslashes($row['id_groupe']); |
|
| 41 | - $type = addslashes($row['titre']); |
|
| 42 | - spip_query("UPDATE spip_mots SET id_groupe = '$id_groupe' WHERE type='$type'"); |
|
| 43 | - } |
|
| 44 | - maj_version (1.405); |
|
| 45 | - } |
|
| 46 | - |
|
| 47 | - if (upgrade_vers(1.408, $version_installee, $version_cible)) { |
|
| 48 | - // Images articles passent dans spip_documents |
|
| 49 | - $result = spip_query("SELECT id_article, images FROM spip_articles WHERE LENGTH(images) > 0"); |
|
| 50 | - |
|
| 51 | - |
|
| 52 | - $types = array('jpg' => 1, 'png' => 2, 'gif' => 3); |
|
| 53 | - |
|
| 54 | - while ($row = @sql_fetch($result)) { |
|
| 55 | - $id_article = $row['id_article']; |
|
| 56 | - $images = $row['images']; |
|
| 57 | - $images = explode(",", $images); |
|
| 58 | - reset($images); |
|
| 59 | - $replace = '_orig_'; |
|
| 60 | - foreach ($images as $val) { |
|
| 61 | - $image = explode("|", $val); |
|
| 62 | - $fichier = $image[0]; |
|
| 63 | - $largeur = $image[1]; |
|
| 64 | - $hauteur = $image[2]; |
|
| 65 | - preg_match(",-([0-9]+)\.(gif|jpg|png)$,i", $fichier, $match); |
|
| 66 | - $id_type = intval($types[$match[2]]); |
|
| 67 | - $num_img = $match[1]; |
|
| 68 | - $fichier = _DIR_IMG . $fichier; |
|
| 69 | - $taille = @filesize($fichier); |
|
| 70 | - // ici on n'a pas les fonctions absctract ! |
|
| 71 | - $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')"); |
|
| 72 | - $id_document = mysql_insert_id($s); |
|
| 73 | - if ($id_document > 0) { |
|
| 74 | - spip_query("INSERT INTO spip_documents_articles (id_document, id_article) VALUES ($id_document, $id_article)"); |
|
| 75 | - $replace = "REPLACE($replace, '<IMG$num_img|', '<IM_$id_document|')"; |
|
| 76 | - } else { |
|
| 77 | - echo _T('texte_erreur_mise_niveau_base', array('fichier' => $fichier, 'id_article' => $id_article)); |
|
| 78 | - exit; |
|
| 79 | - } |
|
| 80 | - } |
|
| 81 | - $replace = "REPLACE($replace, '<IM_', '<IMG')"; |
|
| 82 | - $replace_chapo = str_replace('_orig_', 'chapo', $replace); |
|
| 83 | - $replace_descriptif = str_replace('_orig_', 'descriptif', $replace); |
|
| 84 | - $replace_texte = str_replace('_orig_', 'texte', $replace); |
|
| 85 | - $replace_ps = str_replace('_orig_', 'ps', $replace); |
|
| 86 | - spip_query("UPDATE spip_articles SET chapo=$replace_chapo, descriptif=$replace_descriptif, texte=$replace_texte, ps=$replace_ps WHERE id_article=$id_article"); |
|
| 87 | - |
|
| 88 | - } |
|
| 89 | - spip_query("ALTER TABLE spip_articles DROP images"); |
|
| 90 | - maj_version (1.408); |
|
| 91 | - } |
|
| 92 | - |
|
| 93 | - if (upgrade_vers(1.414, $version_installee, $version_cible)) { |
|
| 94 | - // Forum par defaut "en dur" dans les spip_articles |
|
| 95 | - // -> non, prio (priori), pos (posteriori), abo (abonnement) |
|
| 96 | - $accepter_forum = substr($GLOBALS['meta']["forums_publics"],0,3) ; |
|
| 97 | - $result = spip_query("ALTER TABLE spip_articles CHANGE accepter_forum accepter_forum CHAR(3) NOT NULL"); |
|
| 98 | - |
|
| 99 | - $result = spip_query("UPDATE spip_articles SET accepter_forum='$accepter_forum' WHERE accepter_forum != 'non'"); |
|
| 100 | - |
|
| 101 | - maj_version (1.414); |
|
| 102 | - } |
|
| 103 | - |
|
| 104 | - /* |
|
| 38 | + $result = spip_query("SELECT * FROM spip_groupes_mots"); |
|
| 39 | + while($row = sql_fetch($result)) { |
|
| 40 | + $id_groupe = addslashes($row['id_groupe']); |
|
| 41 | + $type = addslashes($row['titre']); |
|
| 42 | + spip_query("UPDATE spip_mots SET id_groupe = '$id_groupe' WHERE type='$type'"); |
|
| 43 | + } |
|
| 44 | + maj_version (1.405); |
|
| 45 | + } |
|
| 46 | + |
|
| 47 | + if (upgrade_vers(1.408, $version_installee, $version_cible)) { |
|
| 48 | + // Images articles passent dans spip_documents |
|
| 49 | + $result = spip_query("SELECT id_article, images FROM spip_articles WHERE LENGTH(images) > 0"); |
|
| 50 | + |
|
| 51 | + |
|
| 52 | + $types = array('jpg' => 1, 'png' => 2, 'gif' => 3); |
|
| 53 | + |
|
| 54 | + while ($row = @sql_fetch($result)) { |
|
| 55 | + $id_article = $row['id_article']; |
|
| 56 | + $images = $row['images']; |
|
| 57 | + $images = explode(",", $images); |
|
| 58 | + reset($images); |
|
| 59 | + $replace = '_orig_'; |
|
| 60 | + foreach ($images as $val) { |
|
| 61 | + $image = explode("|", $val); |
|
| 62 | + $fichier = $image[0]; |
|
| 63 | + $largeur = $image[1]; |
|
| 64 | + $hauteur = $image[2]; |
|
| 65 | + preg_match(",-([0-9]+)\.(gif|jpg|png)$,i", $fichier, $match); |
|
| 66 | + $id_type = intval($types[$match[2]]); |
|
| 67 | + $num_img = $match[1]; |
|
| 68 | + $fichier = _DIR_IMG . $fichier; |
|
| 69 | + $taille = @filesize($fichier); |
|
| 70 | + // ici on n'a pas les fonctions absctract ! |
|
| 71 | + $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')"); |
|
| 72 | + $id_document = mysql_insert_id($s); |
|
| 73 | + if ($id_document > 0) { |
|
| 74 | + spip_query("INSERT INTO spip_documents_articles (id_document, id_article) VALUES ($id_document, $id_article)"); |
|
| 75 | + $replace = "REPLACE($replace, '<IMG$num_img|', '<IM_$id_document|')"; |
|
| 76 | + } else { |
|
| 77 | + echo _T('texte_erreur_mise_niveau_base', array('fichier' => $fichier, 'id_article' => $id_article)); |
|
| 78 | + exit; |
|
| 79 | + } |
|
| 80 | + } |
|
| 81 | + $replace = "REPLACE($replace, '<IM_', '<IMG')"; |
|
| 82 | + $replace_chapo = str_replace('_orig_', 'chapo', $replace); |
|
| 83 | + $replace_descriptif = str_replace('_orig_', 'descriptif', $replace); |
|
| 84 | + $replace_texte = str_replace('_orig_', 'texte', $replace); |
|
| 85 | + $replace_ps = str_replace('_orig_', 'ps', $replace); |
|
| 86 | + spip_query("UPDATE spip_articles SET chapo=$replace_chapo, descriptif=$replace_descriptif, texte=$replace_texte, ps=$replace_ps WHERE id_article=$id_article"); |
|
| 87 | + |
|
| 88 | + } |
|
| 89 | + spip_query("ALTER TABLE spip_articles DROP images"); |
|
| 90 | + maj_version (1.408); |
|
| 91 | + } |
|
| 92 | + |
|
| 93 | + if (upgrade_vers(1.414, $version_installee, $version_cible)) { |
|
| 94 | + // Forum par defaut "en dur" dans les spip_articles |
|
| 95 | + // -> non, prio (priori), pos (posteriori), abo (abonnement) |
|
| 96 | + $accepter_forum = substr($GLOBALS['meta']["forums_publics"],0,3) ; |
|
| 97 | + $result = spip_query("ALTER TABLE spip_articles CHANGE accepter_forum accepter_forum CHAR(3) NOT NULL"); |
|
| 98 | + |
|
| 99 | + $result = spip_query("UPDATE spip_articles SET accepter_forum='$accepter_forum' WHERE accepter_forum != 'non'"); |
|
| 100 | + |
|
| 101 | + maj_version (1.414); |
|
| 102 | + } |
|
| 103 | + |
|
| 104 | + /* |
|
| 105 | 105 | if ($version_installee == 1.415) { |
| 106 | 106 | spip_query("ALTER TABLE spip_documents DROP inclus"); |
| 107 | 107 | maj_version (1.415); |
| 108 | 108 | } |
| 109 | 109 | */ |
| 110 | 110 | |
| 111 | - if (upgrade_vers(1.417, $version_installee, $version_cible)) { |
|
| 112 | - spip_query("ALTER TABLE spip_syndic_articles DROP date_index"); |
|
| 113 | - maj_version (1.417); |
|
| 114 | - } |
|
| 115 | - |
|
| 116 | - if (upgrade_vers(1.418, $version_installee, $version_cible)) { |
|
| 117 | - $result = spip_query("SELECT * FROM spip_auteurs WHERE statut = '0minirezo' AND email != '' ORDER BY id_auteur LIMIT 1"); |
|
| 118 | - |
|
| 119 | - if ($webmaster = sql_fetch($result)) { |
|
| 120 | - ecrire_meta('email_webmaster', $webmaster['email']); |
|
| 121 | - } |
|
| 122 | - maj_version (1.418); |
|
| 123 | - } |
|
| 124 | - |
|
| 125 | - if (upgrade_vers(1.419, $version_installee, $version_cible)) { |
|
| 126 | - spip_query("ALTER TABLE spip_auteurs ADD alea_actuel TINYTEXT DEFAULT ''"); |
|
| 127 | - spip_query("ALTER TABLE spip_auteurs ADD alea_futur TINYTEXT DEFAULT ''"); |
|
| 128 | - spip_query("UPDATE spip_auteurs SET alea_futur = FLOOR(32000*RAND())"); |
|
| 129 | - maj_version (1.419); |
|
| 130 | - } |
|
| 131 | - |
|
| 132 | - if (upgrade_vers(1.420, $version_installee, $version_cible)) { |
|
| 133 | - spip_query("UPDATE spip_auteurs SET alea_actuel='' WHERE statut='nouveau'"); |
|
| 134 | - maj_version (1.420); |
|
| 135 | - } |
|
| 111 | + if (upgrade_vers(1.417, $version_installee, $version_cible)) { |
|
| 112 | + spip_query("ALTER TABLE spip_syndic_articles DROP date_index"); |
|
| 113 | + maj_version (1.417); |
|
| 114 | + } |
|
| 115 | + |
|
| 116 | + if (upgrade_vers(1.418, $version_installee, $version_cible)) { |
|
| 117 | + $result = spip_query("SELECT * FROM spip_auteurs WHERE statut = '0minirezo' AND email != '' ORDER BY id_auteur LIMIT 1"); |
|
| 118 | + |
|
| 119 | + if ($webmaster = sql_fetch($result)) { |
|
| 120 | + ecrire_meta('email_webmaster', $webmaster['email']); |
|
| 121 | + } |
|
| 122 | + maj_version (1.418); |
|
| 123 | + } |
|
| 124 | + |
|
| 125 | + if (upgrade_vers(1.419, $version_installee, $version_cible)) { |
|
| 126 | + spip_query("ALTER TABLE spip_auteurs ADD alea_actuel TINYTEXT DEFAULT ''"); |
|
| 127 | + spip_query("ALTER TABLE spip_auteurs ADD alea_futur TINYTEXT DEFAULT ''"); |
|
| 128 | + spip_query("UPDATE spip_auteurs SET alea_futur = FLOOR(32000*RAND())"); |
|
| 129 | + maj_version (1.419); |
|
| 130 | + } |
|
| 131 | + |
|
| 132 | + if (upgrade_vers(1.420, $version_installee, $version_cible)) { |
|
| 133 | + spip_query("UPDATE spip_auteurs SET alea_actuel='' WHERE statut='nouveau'"); |
|
| 134 | + maj_version (1.420); |
|
| 135 | + } |
|
| 136 | 136 | |
| 137 | - if (upgrade_vers(1.421, $version_installee, $version_cible)) { |
|
| 138 | - spip_query("ALTER TABLE spip_articles ADD auteur_modif bigint(21) DEFAULT '0' NOT NULL"); |
|
| 139 | - spip_query("ALTER TABLE spip_articles ADD date_modif datetime DEFAULT '0000-00-00 00:00:00' NOT NULL"); |
|
| 140 | - maj_version (1.421); |
|
| 141 | - } |
|
| 142 | - |
|
| 143 | - if (upgrade_vers(1.432, $version_installee, $version_cible)) { |
|
| 144 | - spip_query("ALTER TABLE spip_articles DROP referers"); |
|
| 145 | - spip_query("ALTER TABLE spip_articles ADD referers INTEGER DEFAULT '0' NOT NULL"); |
|
| 146 | - spip_query("ALTER TABLE spip_articles ADD popularite INTEGER DEFAULT '0' NOT NULL"); |
|
| 147 | - maj_version (1.432); |
|
| 148 | - } |
|
| 149 | - |
|
| 150 | - if (upgrade_vers(1.436, $version_installee, $version_cible)) { |
|
| 151 | - spip_query("ALTER TABLE spip_documents ADD date datetime DEFAULT '0000-00-00 00:00:00' NOT NULL"); |
|
| 152 | - maj_version (1.436); |
|
| 153 | - } |
|
| 154 | - |
|
| 155 | - if (upgrade_vers(1.437, $version_installee, $version_cible)) { |
|
| 156 | - spip_query("ALTER TABLE spip_visites ADD maj TIMESTAMP"); |
|
| 157 | - spip_query("ALTER TABLE spip_visites_referers ADD maj TIMESTAMP"); |
|
| 158 | - maj_version (1.437); |
|
| 159 | - } |
|
| 160 | - |
|
| 161 | - if (upgrade_vers(1.438, $version_installee, $version_cible)) { |
|
| 162 | - spip_query("ALTER TABLE spip_articles ADD INDEX id_secteur (id_secteur)"); |
|
| 163 | - spip_query("ALTER TABLE spip_articles ADD INDEX statut (statut, date)"); |
|
| 164 | - maj_version (1.438); |
|
| 165 | - } |
|
| 166 | - |
|
| 167 | - if (upgrade_vers(1.439, $version_installee, $version_cible)) { |
|
| 168 | - spip_query("ALTER TABLE spip_syndic ADD INDEX statut (statut, date_syndic)"); |
|
| 169 | - spip_query("ALTER TABLE spip_syndic_articles ADD INDEX statut (statut)"); |
|
| 170 | - spip_query("ALTER TABLE spip_syndic_articles CHANGE url url VARCHAR(255) NOT NULL"); |
|
| 171 | - spip_query("ALTER TABLE spip_syndic_articles ADD INDEX url (url)"); |
|
| 172 | - maj_version (1.439); |
|
| 173 | - } |
|
| 174 | - |
|
| 175 | - if (upgrade_vers(1.440, $version_installee, $version_cible)) { |
|
| 176 | - spip_query("ALTER TABLE spip_visites_temp CHANGE ip ip INTEGER UNSIGNED NOT NULL"); |
|
| 177 | - maj_version (1.440); |
|
| 178 | - } |
|
| 179 | - |
|
| 180 | - if (upgrade_vers(1.441, $version_installee, $version_cible)) { |
|
| 181 | - spip_query("ALTER TABLE spip_visites_temp CHANGE date date DATE NOT NULL"); |
|
| 182 | - spip_query("ALTER TABLE spip_visites CHANGE date date DATE NOT NULL"); |
|
| 183 | - spip_query("ALTER TABLE spip_visites_referers CHANGE date date DATE NOT NULL"); |
|
| 184 | - maj_version (1.441); |
|
| 185 | - } |
|
| 186 | - |
|
| 187 | - if (upgrade_vers(1.442, $version_installee, $version_cible)) { |
|
| 188 | - spip_query("ALTER TABLE spip_auteurs ADD prefs TINYTEXT NOT NULL"); |
|
| 189 | - maj_version (1.442); |
|
| 190 | - } |
|
| 191 | - |
|
| 192 | - if (upgrade_vers(1.443, $version_installee, $version_cible)) { |
|
| 193 | - spip_query("ALTER TABLE spip_auteurs CHANGE login login VARCHAR(255) BINARY NOT NULL"); |
|
| 194 | - spip_query("ALTER TABLE spip_auteurs CHANGE statut statut VARCHAR(255) NOT NULL"); |
|
| 195 | - spip_query("ALTER TABLE spip_auteurs ADD INDEX login (login)"); |
|
| 196 | - spip_query("ALTER TABLE spip_auteurs ADD INDEX statut (statut)"); |
|
| 197 | - maj_version (1.443); |
|
| 198 | - } |
|
| 199 | - |
|
| 200 | - if (upgrade_vers(1.444, $version_installee, $version_cible)) { |
|
| 201 | - spip_query("ALTER TABLE spip_syndic ADD moderation VARCHAR(3) NOT NULL"); |
|
| 202 | - maj_version (1.444); |
|
| 203 | - } |
|
| 204 | - |
|
| 205 | - if (upgrade_vers(1.457, $version_installee, $version_cible)) { |
|
| 206 | - spip_query("DROP TABLE spip_visites"); |
|
| 207 | - spip_query("DROP TABLE spip_visites_temp"); |
|
| 208 | - spip_query("DROP TABLE spip_visites_referers"); |
|
| 209 | - creer_base(); // crade, a ameliorer :-(( |
|
| 210 | - maj_version (1.457); |
|
| 211 | - } |
|
| 212 | - |
|
| 213 | - if (upgrade_vers(1.458, $version_installee, $version_cible)) { |
|
| 214 | - spip_query("ALTER TABLE spip_auteurs ADD cookie_oubli TINYTEXT NOT NULL"); |
|
| 215 | - maj_version (1.458); |
|
| 216 | - } |
|
| 217 | - |
|
| 218 | - if (upgrade_vers(1.459, $version_installee, $version_cible)) { |
|
| 219 | - $result = spip_query("SELECT type FROM spip_mots GROUP BY type"); |
|
| 220 | - while ($row = sql_fetch($result)) { |
|
| 221 | - $type = addslashes($row['type']); |
|
| 222 | - $res = spip_query("SELECT * FROM spip_groupes_mots WHERE titre='$type'"); |
|
| 223 | - if (sql_count($res) == 0) { |
|
| 224 | - $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')"); |
|
| 225 | - if ($id_groupe = mysql_insert_id($s)) |
|
| 226 | - spip_query("UPDATE spip_mots SET id_groupe = '$id_groupe' WHERE type='$type'"); |
|
| 227 | - } |
|
| 228 | - } |
|
| 229 | - spip_query("UPDATE spip_articles SET popularite=0"); |
|
| 230 | - maj_version (1.459); |
|
| 231 | - } |
|
| 232 | - |
|
| 233 | - if (upgrade_vers(1.460, $version_installee, $version_cible)) { |
|
| 234 | - // remettre les mots dans les groupes dupliques par erreur |
|
| 235 | - // dans la precedente version du paragraphe de maj 1.459 |
|
| 236 | - // et supprimer ceux-ci |
|
| 237 | - $result = spip_query("SELECT * FROM spip_groupes_mots ORDER BY id_groupe"); |
|
| 238 | - while ($row = sql_fetch($result)) { |
|
| 239 | - $titre = addslashes($row['titre']); |
|
| 240 | - if (! $vu[$titre] ) { |
|
| 241 | - $vu[$titre] = true; |
|
| 242 | - $id_groupe = $row['id_groupe']; |
|
| 243 | - spip_query("UPDATE spip_mots SET id_groupe=$id_groupe WHERE type='$titre'"); |
|
| 244 | - sql_delete("spip_groupes_mots", "titre='$titre' AND id_groupe<>$id_groupe"); |
|
| 245 | - } |
|
| 246 | - } |
|
| 247 | - maj_version (1.460); |
|
| 248 | - } |
|
| 249 | - |
|
| 250 | - if (upgrade_vers(1.462, $version_installee, $version_cible)) { |
|
| 251 | - 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')"); |
|
| 252 | - maj_version (1.462); |
|
| 253 | - } |
|
| 254 | - |
|
| 255 | - if (upgrade_vers(1.463, $version_installee, $version_cible)) { |
|
| 256 | - spip_query("ALTER TABLE spip_articles CHANGE popularite popularite DOUBLE"); |
|
| 257 | - spip_query("ALTER TABLE spip_visites_temp ADD maj TIMESTAMP"); |
|
| 258 | - spip_query("ALTER TABLE spip_referers_temp ADD maj TIMESTAMP"); |
|
| 259 | - maj_version (1.463); |
|
| 260 | - } |
|
| 261 | - |
|
| 262 | - // l'upgrade < 1.462 ci-dessus etait fausse, d'ou correctif |
|
| 263 | - if (upgrade_vers(1.464, $version_installee, $version_cible) AND ($version_installee >= 1.462)) { |
|
| 264 | - $res = spip_query("SELECT id_type, extension FROM spip_types_documents WHERE id_type NOT IN (1,2,3)"); |
|
| 265 | - while ($row = sql_fetch($res)) { |
|
| 266 | - $extension = $row['extension']; |
|
| 267 | - $id_type = $row['id_type']; |
|
| 268 | - spip_query("UPDATE spip_documents SET id_type=$id_type WHERE fichier like '%.$extension'"); |
|
| 269 | - } |
|
| 270 | - maj_version (1.464); |
|
| 271 | - } |
|
| 272 | - |
|
| 273 | - if (upgrade_vers(1.465, $version_installee, $version_cible)) { |
|
| 274 | - spip_query("ALTER TABLE spip_articles CHANGE popularite popularite DOUBLE NOT NULL"); |
|
| 275 | - maj_version (1.465); |
|
| 276 | - } |
|
| 277 | - |
|
| 278 | - if (upgrade_vers(1.466, $version_installee, $version_cible)) { |
|
| 279 | - spip_query("ALTER TABLE spip_auteurs ADD source VARCHAR(10) DEFAULT 'spip' NOT NULL"); |
|
| 280 | - maj_version (1.466); |
|
| 281 | - } |
|
| 282 | - |
|
| 283 | - if (upgrade_vers(1.468, $version_installee, $version_cible)) { |
|
| 284 | - spip_query("ALTER TABLE spip_auteurs ADD INDEX en_ligne (en_ligne)"); |
|
| 285 | - spip_query("ALTER TABLE spip_forum ADD INDEX statut (statut, date_heure)"); |
|
| 286 | - maj_version (1.468); |
|
| 287 | - } |
|
| 288 | - |
|
| 289 | - if (upgrade_vers(1.470, $version_installee, $version_cible)) { |
|
| 290 | - if ($version_installee >= 1.467) { // annule les "listes de diff" |
|
| 291 | - spip_query("DROP TABLE spip_listes"); |
|
| 292 | - spip_query("ALTER TABLE spip_auteurs DROP abonne"); |
|
| 293 | - spip_query("ALTER TABLE spip_auteurs DROP abonne_pass"); |
|
| 294 | - } |
|
| 295 | - maj_version (1.470); |
|
| 296 | - } |
|
| 297 | - |
|
| 298 | - if (upgrade_vers(1.471, $version_installee, $version_cible)) { |
|
| 299 | - if ($version_installee >= 1.470) { // annule les "maj" |
|
| 300 | - spip_query("ALTER TABLE spip_auteurs_articles DROP maj TIMESTAMP"); |
|
| 301 | - spip_query("ALTER TABLE spip_auteurs_rubriques DROP maj TIMESTAMP"); |
|
| 302 | - spip_query("ALTER TABLE spip_auteurs_messages DROP maj TIMESTAMP"); |
|
| 303 | - spip_query("ALTER TABLE spip_documents_articles DROP maj TIMESTAMP"); |
|
| 304 | - spip_query("ALTER TABLE spip_documents_rubriques DROP maj TIMESTAMP"); |
|
| 305 | - spip_query("ALTER TABLE spip_documents_breves DROP maj TIMESTAMP"); |
|
| 306 | - spip_query("ALTER TABLE spip_mots_articles DROP maj TIMESTAMP"); |
|
| 307 | - spip_query("ALTER TABLE spip_mots_breves DROP maj TIMESTAMP"); |
|
| 308 | - spip_query("ALTER TABLE spip_mots_rubriques DROP maj TIMESTAMP"); |
|
| 309 | - spip_query("ALTER TABLE spip_mots_syndic DROP maj TIMESTAMP"); |
|
| 310 | - spip_query("ALTER TABLE spip_mots_forum DROP maj TIMESTAMP"); |
|
| 311 | - } |
|
| 312 | - maj_version (1.471); |
|
| 313 | - } |
|
| 314 | - |
|
| 315 | - if (upgrade_vers(1.472, $version_installee, $version_cible)) { |
|
| 316 | - spip_query("ALTER TABLE spip_referers ADD visites_jour INTEGER UNSIGNED NOT NULL"); |
|
| 317 | - maj_version (1.472); |
|
| 318 | - } |
|
| 319 | - |
|
| 320 | - if (upgrade_vers(1.473, $version_installee, $version_cible)) { |
|
| 321 | - spip_query("UPDATE spip_syndic_articles SET url = REPLACE(url, '&', '&')"); |
|
| 322 | - spip_query("UPDATE spip_syndic SET url_site = REPLACE(url_site, '&', '&')"); |
|
| 323 | - maj_version (1.473); |
|
| 324 | - } |
|
| 137 | + if (upgrade_vers(1.421, $version_installee, $version_cible)) { |
|
| 138 | + spip_query("ALTER TABLE spip_articles ADD auteur_modif bigint(21) DEFAULT '0' NOT NULL"); |
|
| 139 | + spip_query("ALTER TABLE spip_articles ADD date_modif datetime DEFAULT '0000-00-00 00:00:00' NOT NULL"); |
|
| 140 | + maj_version (1.421); |
|
| 141 | + } |
|
| 142 | + |
|
| 143 | + if (upgrade_vers(1.432, $version_installee, $version_cible)) { |
|
| 144 | + spip_query("ALTER TABLE spip_articles DROP referers"); |
|
| 145 | + spip_query("ALTER TABLE spip_articles ADD referers INTEGER DEFAULT '0' NOT NULL"); |
|
| 146 | + spip_query("ALTER TABLE spip_articles ADD popularite INTEGER DEFAULT '0' NOT NULL"); |
|
| 147 | + maj_version (1.432); |
|
| 148 | + } |
|
| 149 | + |
|
| 150 | + if (upgrade_vers(1.436, $version_installee, $version_cible)) { |
|
| 151 | + spip_query("ALTER TABLE spip_documents ADD date datetime DEFAULT '0000-00-00 00:00:00' NOT NULL"); |
|
| 152 | + maj_version (1.436); |
|
| 153 | + } |
|
| 154 | + |
|
| 155 | + if (upgrade_vers(1.437, $version_installee, $version_cible)) { |
|
| 156 | + spip_query("ALTER TABLE spip_visites ADD maj TIMESTAMP"); |
|
| 157 | + spip_query("ALTER TABLE spip_visites_referers ADD maj TIMESTAMP"); |
|
| 158 | + maj_version (1.437); |
|
| 159 | + } |
|
| 160 | + |
|
| 161 | + if (upgrade_vers(1.438, $version_installee, $version_cible)) { |
|
| 162 | + spip_query("ALTER TABLE spip_articles ADD INDEX id_secteur (id_secteur)"); |
|
| 163 | + spip_query("ALTER TABLE spip_articles ADD INDEX statut (statut, date)"); |
|
| 164 | + maj_version (1.438); |
|
| 165 | + } |
|
| 166 | + |
|
| 167 | + if (upgrade_vers(1.439, $version_installee, $version_cible)) { |
|
| 168 | + spip_query("ALTER TABLE spip_syndic ADD INDEX statut (statut, date_syndic)"); |
|
| 169 | + spip_query("ALTER TABLE spip_syndic_articles ADD INDEX statut (statut)"); |
|
| 170 | + spip_query("ALTER TABLE spip_syndic_articles CHANGE url url VARCHAR(255) NOT NULL"); |
|
| 171 | + spip_query("ALTER TABLE spip_syndic_articles ADD INDEX url (url)"); |
|
| 172 | + maj_version (1.439); |
|
| 173 | + } |
|
| 174 | + |
|
| 175 | + if (upgrade_vers(1.440, $version_installee, $version_cible)) { |
|
| 176 | + spip_query("ALTER TABLE spip_visites_temp CHANGE ip ip INTEGER UNSIGNED NOT NULL"); |
|
| 177 | + maj_version (1.440); |
|
| 178 | + } |
|
| 179 | + |
|
| 180 | + if (upgrade_vers(1.441, $version_installee, $version_cible)) { |
|
| 181 | + spip_query("ALTER TABLE spip_visites_temp CHANGE date date DATE NOT NULL"); |
|
| 182 | + spip_query("ALTER TABLE spip_visites CHANGE date date DATE NOT NULL"); |
|
| 183 | + spip_query("ALTER TABLE spip_visites_referers CHANGE date date DATE NOT NULL"); |
|
| 184 | + maj_version (1.441); |
|
| 185 | + } |
|
| 186 | + |
|
| 187 | + if (upgrade_vers(1.442, $version_installee, $version_cible)) { |
|
| 188 | + spip_query("ALTER TABLE spip_auteurs ADD prefs TINYTEXT NOT NULL"); |
|
| 189 | + maj_version (1.442); |
|
| 190 | + } |
|
| 191 | + |
|
| 192 | + if (upgrade_vers(1.443, $version_installee, $version_cible)) { |
|
| 193 | + spip_query("ALTER TABLE spip_auteurs CHANGE login login VARCHAR(255) BINARY NOT NULL"); |
|
| 194 | + spip_query("ALTER TABLE spip_auteurs CHANGE statut statut VARCHAR(255) NOT NULL"); |
|
| 195 | + spip_query("ALTER TABLE spip_auteurs ADD INDEX login (login)"); |
|
| 196 | + spip_query("ALTER TABLE spip_auteurs ADD INDEX statut (statut)"); |
|
| 197 | + maj_version (1.443); |
|
| 198 | + } |
|
| 199 | + |
|
| 200 | + if (upgrade_vers(1.444, $version_installee, $version_cible)) { |
|
| 201 | + spip_query("ALTER TABLE spip_syndic ADD moderation VARCHAR(3) NOT NULL"); |
|
| 202 | + maj_version (1.444); |
|
| 203 | + } |
|
| 204 | + |
|
| 205 | + if (upgrade_vers(1.457, $version_installee, $version_cible)) { |
|
| 206 | + spip_query("DROP TABLE spip_visites"); |
|
| 207 | + spip_query("DROP TABLE spip_visites_temp"); |
|
| 208 | + spip_query("DROP TABLE spip_visites_referers"); |
|
| 209 | + creer_base(); // crade, a ameliorer :-(( |
|
| 210 | + maj_version (1.457); |
|
| 211 | + } |
|
| 212 | + |
|
| 213 | + if (upgrade_vers(1.458, $version_installee, $version_cible)) { |
|
| 214 | + spip_query("ALTER TABLE spip_auteurs ADD cookie_oubli TINYTEXT NOT NULL"); |
|
| 215 | + maj_version (1.458); |
|
| 216 | + } |
|
| 217 | + |
|
| 218 | + if (upgrade_vers(1.459, $version_installee, $version_cible)) { |
|
| 219 | + $result = spip_query("SELECT type FROM spip_mots GROUP BY type"); |
|
| 220 | + while ($row = sql_fetch($result)) { |
|
| 221 | + $type = addslashes($row['type']); |
|
| 222 | + $res = spip_query("SELECT * FROM spip_groupes_mots WHERE titre='$type'"); |
|
| 223 | + if (sql_count($res) == 0) { |
|
| 224 | + $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')"); |
|
| 225 | + if ($id_groupe = mysql_insert_id($s)) |
|
| 226 | + spip_query("UPDATE spip_mots SET id_groupe = '$id_groupe' WHERE type='$type'"); |
|
| 227 | + } |
|
| 228 | + } |
|
| 229 | + spip_query("UPDATE spip_articles SET popularite=0"); |
|
| 230 | + maj_version (1.459); |
|
| 231 | + } |
|
| 232 | + |
|
| 233 | + if (upgrade_vers(1.460, $version_installee, $version_cible)) { |
|
| 234 | + // remettre les mots dans les groupes dupliques par erreur |
|
| 235 | + // dans la precedente version du paragraphe de maj 1.459 |
|
| 236 | + // et supprimer ceux-ci |
|
| 237 | + $result = spip_query("SELECT * FROM spip_groupes_mots ORDER BY id_groupe"); |
|
| 238 | + while ($row = sql_fetch($result)) { |
|
| 239 | + $titre = addslashes($row['titre']); |
|
| 240 | + if (! $vu[$titre] ) { |
|
| 241 | + $vu[$titre] = true; |
|
| 242 | + $id_groupe = $row['id_groupe']; |
|
| 243 | + spip_query("UPDATE spip_mots SET id_groupe=$id_groupe WHERE type='$titre'"); |
|
| 244 | + sql_delete("spip_groupes_mots", "titre='$titre' AND id_groupe<>$id_groupe"); |
|
| 245 | + } |
|
| 246 | + } |
|
| 247 | + maj_version (1.460); |
|
| 248 | + } |
|
| 249 | + |
|
| 250 | + if (upgrade_vers(1.462, $version_installee, $version_cible)) { |
|
| 251 | + 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')"); |
|
| 252 | + maj_version (1.462); |
|
| 253 | + } |
|
| 254 | + |
|
| 255 | + if (upgrade_vers(1.463, $version_installee, $version_cible)) { |
|
| 256 | + spip_query("ALTER TABLE spip_articles CHANGE popularite popularite DOUBLE"); |
|
| 257 | + spip_query("ALTER TABLE spip_visites_temp ADD maj TIMESTAMP"); |
|
| 258 | + spip_query("ALTER TABLE spip_referers_temp ADD maj TIMESTAMP"); |
|
| 259 | + maj_version (1.463); |
|
| 260 | + } |
|
| 261 | + |
|
| 262 | + // l'upgrade < 1.462 ci-dessus etait fausse, d'ou correctif |
|
| 263 | + if (upgrade_vers(1.464, $version_installee, $version_cible) AND ($version_installee >= 1.462)) { |
|
| 264 | + $res = spip_query("SELECT id_type, extension FROM spip_types_documents WHERE id_type NOT IN (1,2,3)"); |
|
| 265 | + while ($row = sql_fetch($res)) { |
|
| 266 | + $extension = $row['extension']; |
|
| 267 | + $id_type = $row['id_type']; |
|
| 268 | + spip_query("UPDATE spip_documents SET id_type=$id_type WHERE fichier like '%.$extension'"); |
|
| 269 | + } |
|
| 270 | + maj_version (1.464); |
|
| 271 | + } |
|
| 272 | + |
|
| 273 | + if (upgrade_vers(1.465, $version_installee, $version_cible)) { |
|
| 274 | + spip_query("ALTER TABLE spip_articles CHANGE popularite popularite DOUBLE NOT NULL"); |
|
| 275 | + maj_version (1.465); |
|
| 276 | + } |
|
| 277 | + |
|
| 278 | + if (upgrade_vers(1.466, $version_installee, $version_cible)) { |
|
| 279 | + spip_query("ALTER TABLE spip_auteurs ADD source VARCHAR(10) DEFAULT 'spip' NOT NULL"); |
|
| 280 | + maj_version (1.466); |
|
| 281 | + } |
|
| 282 | + |
|
| 283 | + if (upgrade_vers(1.468, $version_installee, $version_cible)) { |
|
| 284 | + spip_query("ALTER TABLE spip_auteurs ADD INDEX en_ligne (en_ligne)"); |
|
| 285 | + spip_query("ALTER TABLE spip_forum ADD INDEX statut (statut, date_heure)"); |
|
| 286 | + maj_version (1.468); |
|
| 287 | + } |
|
| 288 | + |
|
| 289 | + if (upgrade_vers(1.470, $version_installee, $version_cible)) { |
|
| 290 | + if ($version_installee >= 1.467) { // annule les "listes de diff" |
|
| 291 | + spip_query("DROP TABLE spip_listes"); |
|
| 292 | + spip_query("ALTER TABLE spip_auteurs DROP abonne"); |
|
| 293 | + spip_query("ALTER TABLE spip_auteurs DROP abonne_pass"); |
|
| 294 | + } |
|
| 295 | + maj_version (1.470); |
|
| 296 | + } |
|
| 297 | + |
|
| 298 | + if (upgrade_vers(1.471, $version_installee, $version_cible)) { |
|
| 299 | + if ($version_installee >= 1.470) { // annule les "maj" |
|
| 300 | + spip_query("ALTER TABLE spip_auteurs_articles DROP maj TIMESTAMP"); |
|
| 301 | + spip_query("ALTER TABLE spip_auteurs_rubriques DROP maj TIMESTAMP"); |
|
| 302 | + spip_query("ALTER TABLE spip_auteurs_messages DROP maj TIMESTAMP"); |
|
| 303 | + spip_query("ALTER TABLE spip_documents_articles DROP maj TIMESTAMP"); |
|
| 304 | + spip_query("ALTER TABLE spip_documents_rubriques DROP maj TIMESTAMP"); |
|
| 305 | + spip_query("ALTER TABLE spip_documents_breves DROP maj TIMESTAMP"); |
|
| 306 | + spip_query("ALTER TABLE spip_mots_articles DROP maj TIMESTAMP"); |
|
| 307 | + spip_query("ALTER TABLE spip_mots_breves DROP maj TIMESTAMP"); |
|
| 308 | + spip_query("ALTER TABLE spip_mots_rubriques DROP maj TIMESTAMP"); |
|
| 309 | + spip_query("ALTER TABLE spip_mots_syndic DROP maj TIMESTAMP"); |
|
| 310 | + spip_query("ALTER TABLE spip_mots_forum DROP maj TIMESTAMP"); |
|
| 311 | + } |
|
| 312 | + maj_version (1.471); |
|
| 313 | + } |
|
| 314 | + |
|
| 315 | + if (upgrade_vers(1.472, $version_installee, $version_cible)) { |
|
| 316 | + spip_query("ALTER TABLE spip_referers ADD visites_jour INTEGER UNSIGNED NOT NULL"); |
|
| 317 | + maj_version (1.472); |
|
| 318 | + } |
|
| 319 | + |
|
| 320 | + if (upgrade_vers(1.473, $version_installee, $version_cible)) { |
|
| 321 | + spip_query("UPDATE spip_syndic_articles SET url = REPLACE(url, '&', '&')"); |
|
| 322 | + spip_query("UPDATE spip_syndic SET url_site = REPLACE(url_site, '&', '&')"); |
|
| 323 | + maj_version (1.473); |
|
| 324 | + } |
|
| 325 | 325 | } |
| 326 | 326 | |
| 327 | 327 | |
@@ -14,58 +14,58 @@ discard block |
||
| 14 | 14 | |
| 15 | 15 | function v019_pre193($version_installee, $version_cible) |
| 16 | 16 | { |
| 17 | - // Syndication : ajout de l'option resume=oui/non et de la langue |
|
| 18 | - if (upgrade_vers(1.901, $version_installee, $version_cible)) { |
|
| 19 | - spip_query("ALTER TABLE spip_syndic ADD `resume` VARCHAR(3) DEFAULT 'oui'"); |
|
| 20 | - spip_query("ALTER TABLE spip_syndic_articles ADD `lang` VARCHAR(10) DEFAULT '' NOT NULL"); |
|
| 21 | - maj_version(1.901); |
|
| 22 | - } |
|
| 17 | + // Syndication : ajout de l'option resume=oui/non et de la langue |
|
| 18 | + if (upgrade_vers(1.901, $version_installee, $version_cible)) { |
|
| 19 | + spip_query("ALTER TABLE spip_syndic ADD `resume` VARCHAR(3) DEFAULT 'oui'"); |
|
| 20 | + spip_query("ALTER TABLE spip_syndic_articles ADD `lang` VARCHAR(10) DEFAULT '' NOT NULL"); |
|
| 21 | + maj_version(1.901); |
|
| 22 | + } |
|
| 23 | 23 | |
| 24 | - // Syndication : ajout de source, url_source, tags |
|
| 25 | - if (upgrade_vers(1.902, $version_installee, $version_cible)) { |
|
| 26 | - spip_query("ALTER TABLE spip_syndic_articles ADD `url_source` TINYTEXT DEFAULT '' NOT NULL"); |
|
| 27 | - spip_query("ALTER TABLE spip_syndic_articles ADD `source` TINYTEXT DEFAULT '' NOT NULL"); |
|
| 28 | - spip_query("ALTER TABLE spip_syndic_articles ADD `tags` TEXT DEFAULT '' NOT NULL"); |
|
| 29 | - maj_version(1.902); |
|
| 30 | - } |
|
| 24 | + // Syndication : ajout de source, url_source, tags |
|
| 25 | + if (upgrade_vers(1.902, $version_installee, $version_cible)) { |
|
| 26 | + spip_query("ALTER TABLE spip_syndic_articles ADD `url_source` TINYTEXT DEFAULT '' NOT NULL"); |
|
| 27 | + spip_query("ALTER TABLE spip_syndic_articles ADD `source` TINYTEXT DEFAULT '' NOT NULL"); |
|
| 28 | + spip_query("ALTER TABLE spip_syndic_articles ADD `tags` TEXT DEFAULT '' NOT NULL"); |
|
| 29 | + maj_version(1.902); |
|
| 30 | + } |
|
| 31 | 31 | |
| 32 | - // URLs propres des sites (sait-on jamais) |
|
| 33 | - // + oubli des KEY url_propre sur les auteurs si installation neuve |
|
| 34 | - if (upgrade_vers(1.903, $version_installee, $version_cible)) { |
|
| 35 | - spip_query("ALTER TABLE spip_syndic ADD `url_propre` VARCHAR(255) NOT NULL"); |
|
| 36 | - spip_query("ALTER TABLE spip_syndic ADD INDEX `url_propre` (`url_propre`)"); |
|
| 37 | - spip_query("ALTER TABLE spip_auteurs ADD INDEX `url_propre` (`url_propre`)"); |
|
| 38 | - maj_version(1.903); |
|
| 39 | - } |
|
| 32 | + // URLs propres des sites (sait-on jamais) |
|
| 33 | + // + oubli des KEY url_propre sur les auteurs si installation neuve |
|
| 34 | + if (upgrade_vers(1.903, $version_installee, $version_cible)) { |
|
| 35 | + spip_query("ALTER TABLE spip_syndic ADD `url_propre` VARCHAR(255) NOT NULL"); |
|
| 36 | + spip_query("ALTER TABLE spip_syndic ADD INDEX `url_propre` (`url_propre`)"); |
|
| 37 | + spip_query("ALTER TABLE spip_auteurs ADD INDEX `url_propre` (`url_propre`)"); |
|
| 38 | + maj_version(1.903); |
|
| 39 | + } |
|
| 40 | 40 | |
| 41 | - // suppression des anciennes tables temporaires des visites |
|
| 42 | - // (maintenant stockees sous forme de fichiers) |
|
| 43 | - if (upgrade_vers(1.904, $version_installee, $version_cible)) { |
|
| 44 | - spip_query("DROP TABLE IF EXISTS spip_visites_temp"); |
|
| 45 | - spip_query("DROP TABLE IF EXISTS spip_referers_temp"); |
|
| 46 | - maj_version(1.904); |
|
| 47 | - } |
|
| 41 | + // suppression des anciennes tables temporaires des visites |
|
| 42 | + // (maintenant stockees sous forme de fichiers) |
|
| 43 | + if (upgrade_vers(1.904, $version_installee, $version_cible)) { |
|
| 44 | + spip_query("DROP TABLE IF EXISTS spip_visites_temp"); |
|
| 45 | + spip_query("DROP TABLE IF EXISTS spip_referers_temp"); |
|
| 46 | + maj_version(1.904); |
|
| 47 | + } |
|
| 48 | 48 | |
| 49 | - // fusion des 10 tables index en une seule |
|
| 50 | - // pour fonctions futures evoluees du moteur de recherche |
|
| 51 | - if (upgrade_vers(1.905, $version_installee, $version_cible)) { |
|
| 52 | - // agrandir le champ "valeur" de spip_meta pour pouvoir y stocker |
|
| 53 | - // des choses plus sympa |
|
| 54 | - spip_query("ALTER TABLE spip_meta DROP INDEX `valeur`"); |
|
| 55 | - spip_query("ALTER TABLE spip_meta CHANGE `valeur` `valeur` TEXT"); |
|
| 56 | - // table des correspondances table->id_table |
|
| 57 | - $liste_tables = array(); |
|
| 58 | - $liste_tables[1]='spip_articles'; |
|
| 59 | - $liste_tables[2]='spip_auteurs'; |
|
| 60 | - $liste_tables[3]='spip_breves'; |
|
| 61 | - $liste_tables[4]='spip_documents'; |
|
| 62 | - $liste_tables[5]='spip_forum'; |
|
| 63 | - $liste_tables[6]='spip_mots'; |
|
| 64 | - $liste_tables[7]='spip_rubriques'; |
|
| 65 | - $liste_tables[8]='spip_signatures'; |
|
| 66 | - $liste_tables[9]='spip_syndic'; |
|
| 49 | + // fusion des 10 tables index en une seule |
|
| 50 | + // pour fonctions futures evoluees du moteur de recherche |
|
| 51 | + if (upgrade_vers(1.905, $version_installee, $version_cible)) { |
|
| 52 | + // agrandir le champ "valeur" de spip_meta pour pouvoir y stocker |
|
| 53 | + // des choses plus sympa |
|
| 54 | + spip_query("ALTER TABLE spip_meta DROP INDEX `valeur`"); |
|
| 55 | + spip_query("ALTER TABLE spip_meta CHANGE `valeur` `valeur` TEXT"); |
|
| 56 | + // table des correspondances table->id_table |
|
| 57 | + $liste_tables = array(); |
|
| 58 | + $liste_tables[1]='spip_articles'; |
|
| 59 | + $liste_tables[2]='spip_auteurs'; |
|
| 60 | + $liste_tables[3]='spip_breves'; |
|
| 61 | + $liste_tables[4]='spip_documents'; |
|
| 62 | + $liste_tables[5]='spip_forum'; |
|
| 63 | + $liste_tables[6]='spip_mots'; |
|
| 64 | + $liste_tables[7]='spip_rubriques'; |
|
| 65 | + $liste_tables[8]='spip_signatures'; |
|
| 66 | + $liste_tables[9]='spip_syndic'; |
|
| 67 | 67 | |
| 68 | - ecrire_meta('index_table', serialize($liste_tables)); |
|
| 68 | + ecrire_meta('index_table', serialize($liste_tables)); |
|
| 69 | 69 | |
| 70 | 70 | ## devenu inutile car suppression totale de l'indexation |
| 71 | 71 | /* |
@@ -96,207 +96,207 @@ discard block |
||
| 96 | 96 | 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"); |
| 97 | 97 | spip_query("DROP TABLE IF EXISTS spip_index_syndic"); |
| 98 | 98 | */ |
| 99 | - maj_version(1.905); |
|
| 100 | - } |
|
| 99 | + maj_version(1.905); |
|
| 100 | + } |
|
| 101 | 101 | |
| 102 | 102 | |
| 103 | - // cette table est desormais geree par le plugin "podcast_client", on la |
|
| 104 | - // supprime si le plugin n'est pas active ; risque inherent a l'utilisation |
|
| 105 | - // de versions alpha :-) |
|
| 106 | - if (upgrade_vers(1.906, $version_installee, $version_cible)) { |
|
| 107 | - if (!@in_array('podcast_client', $GLOBALS['plugins'])) { |
|
| 108 | - spip_query("DROP TABLE spip_documents_syndic"); |
|
| 109 | - } |
|
| 110 | - maj_version(1.906); |
|
| 111 | - } |
|
| 112 | - if (upgrade_vers(1.907, $version_installee, $version_cible)) { |
|
| 113 | - spip_query("ALTER TABLE spip_forum ADD INDEX `idx` (`idx`)"); |
|
| 114 | - maj_version(1.907); |
|
| 115 | - } |
|
| 116 | - // Oups ! on stockait les tags de syndication sous la forme rel="category" |
|
| 117 | - // au lieu de rel="directory" - http://microformats.org/wiki/rel-directory |
|
| 118 | - if (upgrade_vers(1.908, $version_installee, $version_cible)) { |
|
| 119 | - spip_query("UPDATE spip_syndic_articles SET `tags` = REPLACE(`tags`, 'rel=\"category\">', 'rel=\"directory\">') WHERE `tags` like '%category%'"); |
|
| 120 | - maj_version(1.908); |
|
| 121 | - } |
|
| 122 | - if (upgrade_vers(1.909, $version_installee, $version_cible)) { |
|
| 123 | - spip_query("ALTER IGNORE TABLE spip_mots_articles ADD PRIMARY KEY (`id_article`, `id_mot`)"); |
|
| 124 | - spip_query("ALTER IGNORE TABLE spip_mots_breves ADD PRIMARY KEY (`id_breve`, `id_mot`)"); |
|
| 125 | - spip_query("ALTER IGNORE TABLE spip_mots_rubriques ADD PRIMARY KEY (`id_rubrique`, `id_mot`)"); |
|
| 126 | - spip_query("ALTER IGNORE TABLE spip_mots_syndic ADD PRIMARY KEY (`id_syndic`, `id_mot`)"); |
|
| 127 | - spip_query("ALTER IGNORE TABLE spip_mots_documents ADD PRIMARY KEY (`id_document`, `id_mot`)"); |
|
| 128 | - spip_query("ALTER IGNORE TABLE spip_mots_forum ADD PRIMARY KEY (`id_forum`, `id_mot`)"); |
|
| 129 | - maj_version(1.909); |
|
| 130 | - } |
|
| 103 | + // cette table est desormais geree par le plugin "podcast_client", on la |
|
| 104 | + // supprime si le plugin n'est pas active ; risque inherent a l'utilisation |
|
| 105 | + // de versions alpha :-) |
|
| 106 | + if (upgrade_vers(1.906, $version_installee, $version_cible)) { |
|
| 107 | + if (!@in_array('podcast_client', $GLOBALS['plugins'])) { |
|
| 108 | + spip_query("DROP TABLE spip_documents_syndic"); |
|
| 109 | + } |
|
| 110 | + maj_version(1.906); |
|
| 111 | + } |
|
| 112 | + if (upgrade_vers(1.907, $version_installee, $version_cible)) { |
|
| 113 | + spip_query("ALTER TABLE spip_forum ADD INDEX `idx` (`idx`)"); |
|
| 114 | + maj_version(1.907); |
|
| 115 | + } |
|
| 116 | + // Oups ! on stockait les tags de syndication sous la forme rel="category" |
|
| 117 | + // au lieu de rel="directory" - http://microformats.org/wiki/rel-directory |
|
| 118 | + if (upgrade_vers(1.908, $version_installee, $version_cible)) { |
|
| 119 | + spip_query("UPDATE spip_syndic_articles SET `tags` = REPLACE(`tags`, 'rel=\"category\">', 'rel=\"directory\">') WHERE `tags` like '%category%'"); |
|
| 120 | + maj_version(1.908); |
|
| 121 | + } |
|
| 122 | + if (upgrade_vers(1.909, $version_installee, $version_cible)) { |
|
| 123 | + spip_query("ALTER IGNORE TABLE spip_mots_articles ADD PRIMARY KEY (`id_article`, `id_mot`)"); |
|
| 124 | + spip_query("ALTER IGNORE TABLE spip_mots_breves ADD PRIMARY KEY (`id_breve`, `id_mot`)"); |
|
| 125 | + spip_query("ALTER IGNORE TABLE spip_mots_rubriques ADD PRIMARY KEY (`id_rubrique`, `id_mot`)"); |
|
| 126 | + spip_query("ALTER IGNORE TABLE spip_mots_syndic ADD PRIMARY KEY (`id_syndic`, `id_mot`)"); |
|
| 127 | + spip_query("ALTER IGNORE TABLE spip_mots_documents ADD PRIMARY KEY (`id_document`, `id_mot`)"); |
|
| 128 | + spip_query("ALTER IGNORE TABLE spip_mots_forum ADD PRIMARY KEY (`id_forum`, `id_mot`)"); |
|
| 129 | + maj_version(1.909); |
|
| 130 | + } |
|
| 131 | 131 | |
| 132 | - if (upgrade_vers(1.910, $version_installee, $version_cible)) { |
|
| 133 | - spip_query("ALTER IGNORE TABLE spip_auteurs_articles ADD PRIMARY KEY (`id_auteur`, `id_article`)"); |
|
| 134 | - spip_query("ALTER IGNORE TABLE spip_auteurs_rubriques ADD PRIMARY KEY (`id_auteur`, `id_rubrique`)"); |
|
| 135 | - spip_query("ALTER IGNORE TABLE spip_auteurs_messages ADD PRIMARY KEY (`id_auteur`, `id_message`)"); |
|
| 136 | - maj_version(1.910); |
|
| 137 | - } |
|
| 132 | + if (upgrade_vers(1.910, $version_installee, $version_cible)) { |
|
| 133 | + spip_query("ALTER IGNORE TABLE spip_auteurs_articles ADD PRIMARY KEY (`id_auteur`, `id_article`)"); |
|
| 134 | + spip_query("ALTER IGNORE TABLE spip_auteurs_rubriques ADD PRIMARY KEY (`id_auteur`, `id_rubrique`)"); |
|
| 135 | + spip_query("ALTER IGNORE TABLE spip_auteurs_messages ADD PRIMARY KEY (`id_auteur`, `id_message`)"); |
|
| 136 | + maj_version(1.910); |
|
| 137 | + } |
|
| 138 | 138 | |
| 139 | - if (upgrade_vers(1.911, $version_installee, $version_cible)) { |
|
| 139 | + if (upgrade_vers(1.911, $version_installee, $version_cible)) { |
|
| 140 | 140 | |
| 141 | - spip_query("ALTER IGNORE TABLE spip_auteurs_articles DROP INDEX `id_auteur`"); |
|
| 142 | - spip_query("ALTER IGNORE TABLE spip_auteurs_rubriques DROP INDEX `id_auteur`"); |
|
| 143 | - spip_query("ALTER IGNORE TABLE spip_auteurs_messages DROP INDEX `id_auteur`"); |
|
| 144 | - spip_query("ALTER IGNORE TABLE spip_mots_articles DROP INDEX `id_article`"); |
|
| 145 | - spip_query("ALTER IGNORE TABLE spip_mots_breves DROP INDEX `id_breve`"); |
|
| 146 | - spip_query("ALTER IGNORE TABLE spip_mots_rubriques DROP INDEX `id_rubrique`"); |
|
| 147 | - spip_query("ALTER IGNORE TABLE spip_mots_syndic DROP INDEX `id_syndic`"); |
|
| 148 | - spip_query("ALTER IGNORE TABLE spip_mots_forum DROP INDEX `id_forum`"); |
|
| 149 | - spip_query("ALTER IGNORE TABLE spip_mots_documents DROP INDEX `id_document`"); |
|
| 141 | + spip_query("ALTER IGNORE TABLE spip_auteurs_articles DROP INDEX `id_auteur`"); |
|
| 142 | + spip_query("ALTER IGNORE TABLE spip_auteurs_rubriques DROP INDEX `id_auteur`"); |
|
| 143 | + spip_query("ALTER IGNORE TABLE spip_auteurs_messages DROP INDEX `id_auteur`"); |
|
| 144 | + spip_query("ALTER IGNORE TABLE spip_mots_articles DROP INDEX `id_article`"); |
|
| 145 | + spip_query("ALTER IGNORE TABLE spip_mots_breves DROP INDEX `id_breve`"); |
|
| 146 | + spip_query("ALTER IGNORE TABLE spip_mots_rubriques DROP INDEX `id_rubrique`"); |
|
| 147 | + spip_query("ALTER IGNORE TABLE spip_mots_syndic DROP INDEX `id_syndic`"); |
|
| 148 | + spip_query("ALTER IGNORE TABLE spip_mots_forum DROP INDEX `id_forum`"); |
|
| 149 | + spip_query("ALTER IGNORE TABLE spip_mots_documents DROP INDEX `id_document`"); |
|
| 150 | 150 | # 18 juillet 2007: table depreciee |
| 151 | 151 | # spip_query("ALTER IGNORE TABLE spip_caches DROP INDEX fichier"); |
| 152 | - maj_version(1.911); |
|
| 153 | - } |
|
| 152 | + maj_version(1.911); |
|
| 153 | + } |
|
| 154 | 154 | |
| 155 | - // Le logo du site n'est plus le logo par defaut des rubriques |
|
| 156 | - // mais pour assurer la compatibilite ascendante, on le duplique |
|
| 157 | - if (upgrade_vers(1.912, $version_installee, $version_cible)) { |
|
| 158 | - @copy(_DIR_LOGOS.'rubon0.gif', _DIR_LOGOS.'siteon0.gif'); |
|
| 159 | - @copy(_DIR_LOGOS.'ruboff0.gif', _DIR_LOGOS.'siteoff0.gif'); |
|
| 160 | - @copy(_DIR_LOGOS.'rubon0.jpg', _DIR_LOGOS.'siteon0.jpg'); |
|
| 161 | - @copy(_DIR_LOGOS.'ruboff0.jpg', _DIR_LOGOS.'siteoff0.jpg'); |
|
| 162 | - @copy(_DIR_LOGOS.'rubon0.png', _DIR_LOGOS.'siteon0.png'); |
|
| 163 | - @copy(_DIR_LOGOS.'ruboff0.png', _DIR_LOGOS.'siteoff0.png'); |
|
| 164 | - maj_version(1.912); |
|
| 165 | - } |
|
| 155 | + // Le logo du site n'est plus le logo par defaut des rubriques |
|
| 156 | + // mais pour assurer la compatibilite ascendante, on le duplique |
|
| 157 | + if (upgrade_vers(1.912, $version_installee, $version_cible)) { |
|
| 158 | + @copy(_DIR_LOGOS.'rubon0.gif', _DIR_LOGOS.'siteon0.gif'); |
|
| 159 | + @copy(_DIR_LOGOS.'ruboff0.gif', _DIR_LOGOS.'siteoff0.gif'); |
|
| 160 | + @copy(_DIR_LOGOS.'rubon0.jpg', _DIR_LOGOS.'siteon0.jpg'); |
|
| 161 | + @copy(_DIR_LOGOS.'ruboff0.jpg', _DIR_LOGOS.'siteoff0.jpg'); |
|
| 162 | + @copy(_DIR_LOGOS.'rubon0.png', _DIR_LOGOS.'siteon0.png'); |
|
| 163 | + @copy(_DIR_LOGOS.'ruboff0.png', _DIR_LOGOS.'siteoff0.png'); |
|
| 164 | + maj_version(1.912); |
|
| 165 | + } |
|
| 166 | 166 | |
| 167 | - // suppression de auteur_modif qui n'est plus utilise nulle part |
|
| 168 | - if (upgrade_vers(1.913, $version_installee, $version_cible)) { |
|
| 169 | - spip_query("ALTER TABLE spip_articles DROP `auteur_modif`"); |
|
| 170 | - maj_version(1.913); |
|
| 171 | - } |
|
| 167 | + // suppression de auteur_modif qui n'est plus utilise nulle part |
|
| 168 | + if (upgrade_vers(1.913, $version_installee, $version_cible)) { |
|
| 169 | + spip_query("ALTER TABLE spip_articles DROP `auteur_modif`"); |
|
| 170 | + maj_version(1.913); |
|
| 171 | + } |
|
| 172 | 172 | |
| 173 | - // Ajout de SVG |
|
| 174 | - if (upgrade_vers(1.914, $version_installee, $version_cible)) { |
|
| 175 | - spip_query("INSERT IGNORE INTO spip_types_documents (`extension`, `titre`, `inclus`) VALUES ('svg', 'Scalable Vector Graphics', 'embed')"); |
|
| 176 | - spip_query("UPDATE spip_types_documents SET `mime_type`='image/svg+xml' WHERE `extension`='svg'"); |
|
| 177 | - maj_version(1.914); |
|
| 178 | - } |
|
| 173 | + // Ajout de SVG |
|
| 174 | + if (upgrade_vers(1.914, $version_installee, $version_cible)) { |
|
| 175 | + spip_query("INSERT IGNORE INTO spip_types_documents (`extension`, `titre`, `inclus`) VALUES ('svg', 'Scalable Vector Graphics', 'embed')"); |
|
| 176 | + spip_query("UPDATE spip_types_documents SET `mime_type`='image/svg+xml' WHERE `extension`='svg'"); |
|
| 177 | + maj_version(1.914); |
|
| 178 | + } |
|
| 179 | 179 | |
| 180 | - // Ajout de plein de type mime |
|
| 181 | - if (upgrade_vers(1.915, $version_installee, $version_cible)) { |
|
| 182 | - maj_version(1.915); |
|
| 183 | - } |
|
| 184 | - // refaire l'upgrade 1.905 qui a pu foirer en partie a cause de la requete ALTER sur spip_meta |
|
| 185 | - if (upgrade_vers(1.916, $version_installee, $version_cible)) { |
|
| 186 | - // agrandir le champ "valeur" de spip_meta pour pouvoir y stocker |
|
| 187 | - // des choses plus sympa |
|
| 188 | - spip_query("ALTER TABLE spip_meta DROP INDEX `valeur`"); |
|
| 189 | - spip_query("ALTER TABLE spip_meta CHANGE `valeur` `valeur` TEXT"); |
|
| 180 | + // Ajout de plein de type mime |
|
| 181 | + if (upgrade_vers(1.915, $version_installee, $version_cible)) { |
|
| 182 | + maj_version(1.915); |
|
| 183 | + } |
|
| 184 | + // refaire l'upgrade 1.905 qui a pu foirer en partie a cause de la requete ALTER sur spip_meta |
|
| 185 | + if (upgrade_vers(1.916, $version_installee, $version_cible)) { |
|
| 186 | + // agrandir le champ "valeur" de spip_meta pour pouvoir y stocker |
|
| 187 | + // des choses plus sympa |
|
| 188 | + spip_query("ALTER TABLE spip_meta DROP INDEX `valeur`"); |
|
| 189 | + spip_query("ALTER TABLE spip_meta CHANGE `valeur` `valeur` TEXT"); |
|
| 190 | 190 | #8/08/07 plus d'indexation dans le core |
| 191 | - //include_spip('inc/indexation'); |
|
| 192 | - //update_index_tables(); |
|
| 193 | - maj_version(1.916); |
|
| 194 | - } |
|
| 195 | - if (upgrade_vers(1.917, $version_installee, $version_cible)) { |
|
| 196 | - spip_query("ALTER TABLE spip_documents DROP `inclus`"); |
|
| 197 | - maj_version(1.917); |
|
| 198 | - } |
|
| 191 | + //include_spip('inc/indexation'); |
|
| 192 | + //update_index_tables(); |
|
| 193 | + maj_version(1.916); |
|
| 194 | + } |
|
| 195 | + if (upgrade_vers(1.917, $version_installee, $version_cible)) { |
|
| 196 | + spip_query("ALTER TABLE spip_documents DROP `inclus`"); |
|
| 197 | + maj_version(1.917); |
|
| 198 | + } |
|
| 199 | 199 | |
| 200 | - // Permettre d'enregistrer un numero IP dans les revisions d'articles |
|
| 201 | - // a la place de l'id_auteur |
|
| 202 | - if (upgrade_vers(1.918, $version_installee, $version_cible)) { |
|
| 203 | - spip_query("ALTER TABLE spip_versions CHANGE `id_auteur` `id_auteur` VARCHAR(23)"); |
|
| 204 | - maj_version(1.918); |
|
| 205 | - } |
|
| 200 | + // Permettre d'enregistrer un numero IP dans les revisions d'articles |
|
| 201 | + // a la place de l'id_auteur |
|
| 202 | + if (upgrade_vers(1.918, $version_installee, $version_cible)) { |
|
| 203 | + spip_query("ALTER TABLE spip_versions CHANGE `id_auteur` `id_auteur` VARCHAR(23)"); |
|
| 204 | + maj_version(1.918); |
|
| 205 | + } |
|
| 206 | 206 | |
| 207 | - if (upgrade_vers(1.919, $version_installee, $version_cible)) { |
|
| 208 | - spip_query("ALTER TABLE spip_ajax_fonc DROP `id_auteur`"); |
|
| 209 | - maj_version('1.919'); |
|
| 210 | - } |
|
| 207 | + if (upgrade_vers(1.919, $version_installee, $version_cible)) { |
|
| 208 | + spip_query("ALTER TABLE spip_ajax_fonc DROP `id_auteur`"); |
|
| 209 | + maj_version('1.919'); |
|
| 210 | + } |
|
| 211 | 211 | |
| 212 | - if (upgrade_vers(1.920, $version_installee, $version_cible)) { |
|
| 213 | - spip_query("ALTER IGNORE TABLE spip_documents_articles ADD PRIMARY KEY (`id_article`, `id_document`)"); |
|
| 214 | - spip_query("ALTER IGNORE TABLE spip_documents_breves ADD PRIMARY KEY (`id_breve`, `id_document`)"); |
|
| 215 | - spip_query("ALTER IGNORE TABLE spip_documents_rubriques ADD PRIMARY KEY (`id_rubrique`, `id_document`)"); |
|
| 216 | - spip_query("ALTER IGNORE TABLE spip_documents_articles DROP INDEX `id_article`"); |
|
| 217 | - spip_query("ALTER IGNORE TABLE spip_documents_breves DROP INDEX `id_breve`"); |
|
| 218 | - spip_query("ALTER IGNORE TABLE spip_documents_rubriques DROP INDEX `id_rubrique`"); |
|
| 219 | - maj_version('1.920'); |
|
| 220 | - } |
|
| 221 | - if (upgrade_vers(1.922, $version_installee, $version_cible)) { |
|
| 222 | - spip_query("ALTER TABLE spip_meta ADD `impt` ENUM('non', 'oui') DEFAULT 'oui' NOT NULL AFTER `valeur`"); |
|
| 223 | - $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', |
|
| 224 | - 'netpbm_formats','formats_graphiques','image_process','plugin_header','plugin'); |
|
| 225 | - foreach($meta_serveur as $nom) |
|
| 226 | - spip_query("UPDATE spip_meta SET `impt`='non' WHERE `nom`="._q($nom)); |
|
| 227 | - maj_version('1.922'); |
|
| 228 | - } |
|
| 229 | - if (upgrade_vers(1.923, $version_installee, $version_cible)) { |
|
| 230 | - if (isset($GLOBALS['meta']['IMPORT_tables_noimport'])){ |
|
| 231 | - $IMPORT_tables_noimport = unserialize($GLOBALS['meta']['IMPORT_tables_noimport']); |
|
| 232 | - foreach ($IMPORT_tables_noimport as $key=>$table) |
|
| 233 | - if ($table=='spip_meta') unset($IMPORT_tables_noimport[$key]); |
|
| 234 | - ecrire_meta('IMPORT_tables_noimport',serialize($IMPORT_tables_noimport),'non'); |
|
| 235 | - } |
|
| 236 | - maj_version('1.923'); |
|
| 237 | - } |
|
| 212 | + if (upgrade_vers(1.920, $version_installee, $version_cible)) { |
|
| 213 | + spip_query("ALTER IGNORE TABLE spip_documents_articles ADD PRIMARY KEY (`id_article`, `id_document`)"); |
|
| 214 | + spip_query("ALTER IGNORE TABLE spip_documents_breves ADD PRIMARY KEY (`id_breve`, `id_document`)"); |
|
| 215 | + spip_query("ALTER IGNORE TABLE spip_documents_rubriques ADD PRIMARY KEY (`id_rubrique`, `id_document`)"); |
|
| 216 | + spip_query("ALTER IGNORE TABLE spip_documents_articles DROP INDEX `id_article`"); |
|
| 217 | + spip_query("ALTER IGNORE TABLE spip_documents_breves DROP INDEX `id_breve`"); |
|
| 218 | + spip_query("ALTER IGNORE TABLE spip_documents_rubriques DROP INDEX `id_rubrique`"); |
|
| 219 | + maj_version('1.920'); |
|
| 220 | + } |
|
| 221 | + if (upgrade_vers(1.922, $version_installee, $version_cible)) { |
|
| 222 | + spip_query("ALTER TABLE spip_meta ADD `impt` ENUM('non', 'oui') DEFAULT 'oui' NOT NULL AFTER `valeur`"); |
|
| 223 | + $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', |
|
| 224 | + 'netpbm_formats','formats_graphiques','image_process','plugin_header','plugin'); |
|
| 225 | + foreach($meta_serveur as $nom) |
|
| 226 | + spip_query("UPDATE spip_meta SET `impt`='non' WHERE `nom`="._q($nom)); |
|
| 227 | + maj_version('1.922'); |
|
| 228 | + } |
|
| 229 | + if (upgrade_vers(1.923, $version_installee, $version_cible)) { |
|
| 230 | + if (isset($GLOBALS['meta']['IMPORT_tables_noimport'])){ |
|
| 231 | + $IMPORT_tables_noimport = unserialize($GLOBALS['meta']['IMPORT_tables_noimport']); |
|
| 232 | + foreach ($IMPORT_tables_noimport as $key=>$table) |
|
| 233 | + if ($table=='spip_meta') unset($IMPORT_tables_noimport[$key]); |
|
| 234 | + ecrire_meta('IMPORT_tables_noimport',serialize($IMPORT_tables_noimport),'non'); |
|
| 235 | + } |
|
| 236 | + maj_version('1.923'); |
|
| 237 | + } |
|
| 238 | 238 | |
| 239 | - if (upgrade_vers(1.924, $version_installee, $version_cible)) { |
|
| 240 | - spip_query('DROP TABLE spip_ajax_fonc'); |
|
| 241 | - maj_version('1.924'); |
|
| 242 | - } |
|
| 239 | + if (upgrade_vers(1.924, $version_installee, $version_cible)) { |
|
| 240 | + spip_query('DROP TABLE spip_ajax_fonc'); |
|
| 241 | + maj_version('1.924'); |
|
| 242 | + } |
|
| 243 | 243 | |
| 244 | - if (upgrade_vers(1.925, $version_installee, $version_cible)) { |
|
| 245 | - include_spip('inc/flock'); |
|
| 246 | - /* deplacement des sessions */ |
|
| 247 | - $f_session = preg_files('data', 'session_'); |
|
| 248 | - $repertoire = _DIR_SESSIONS; |
|
| 249 | - if(!@file_exists($repertoire)) { |
|
| 250 | - $repertoire = preg_replace(','._DIR_TMP.',', '', $repertoire); |
|
| 251 | - $repertoire = sous_repertoire(_DIR_TMP, $repertoire); |
|
| 252 | - } |
|
| 253 | - foreach($f_session as $f) { |
|
| 254 | - $d = basename($f); |
|
| 255 | - @copy($f, $repertoire.$d); |
|
| 256 | - } |
|
| 257 | - /* deplacement des visites */ |
|
| 258 | - $f_visites = preg_files('data/visites'); |
|
| 259 | - $repertoire = sous_repertoire(_DIR_TMP, 'visites'); |
|
| 260 | - foreach($f_visites as $f) { |
|
| 261 | - $d = basename($f); |
|
| 262 | - @copy($f, $repertoire.$d); |
|
| 263 | - } |
|
| 264 | - /* deplacement des upload */ |
|
| 265 | - $auteurs = array(); |
|
| 266 | - $req = spip_query("SELECT `login` FROM spip_auteurs WHERE `statut` = '0minirezo'"); |
|
| 267 | - while($row = sql_fetch($req)) |
|
| 268 | - $auteurs[] = $row['login']; |
|
| 269 | - $f_upload = preg_files('upload', -1, 10000, $auteurs); |
|
| 270 | - $repertoire = _DIR_TRANSFERT; |
|
| 271 | - if(!@file_exists($repertoire)) { |
|
| 272 | - $repertoire = preg_replace(','._DIR_TMP.',', '', $repertoire); |
|
| 273 | - $repertoire = sous_repertoire(_DIR_TMP, $repertoire); |
|
| 274 | - } |
|
| 275 | - foreach($auteurs as $login) { |
|
| 276 | - if(is_dir('upload/'.$login)) |
|
| 277 | - $sous_repertoire = sous_repertoire(_DIR_TRANSFERT, $login); |
|
| 278 | - } |
|
| 279 | - foreach($f_upload as $f) { |
|
| 280 | - @copy($f, _DIR_TMP.$f); |
|
| 281 | - } |
|
| 282 | - /* deplacement des dumps */ |
|
| 283 | - $f_session = preg_files('data', 'dump'); |
|
| 284 | - $repertoire = _DIR_DUMP; |
|
| 285 | - if(!@file_exists($repertoire)) { |
|
| 286 | - $repertoire = preg_replace(','._DIR_TMP.',', '', $repertoire); |
|
| 287 | - $repertoire = sous_repertoire(_DIR_TMP, $repertoire); |
|
| 288 | - } |
|
| 289 | - foreach($f_session as $f) { |
|
| 290 | - $d = basename($f); |
|
| 291 | - @copy($f, $repertoire.$d); |
|
| 292 | - } |
|
| 293 | - maj_version('1.925'); |
|
| 294 | - } |
|
| 295 | - // Ajout de MP4 |
|
| 296 | - if (upgrade_vers(1.926, $version_installee, $version_cible)) { |
|
| 297 | - spip_query("INSERT IGNORE INTO spip_types_documents (`extension`, `titre`, `inclus`) VALUES ('mp4', 'MPEG4', 'embed')"); |
|
| 298 | - spip_query("UPDATE spip_types_documents SET `mime_type`='application/mp4' WHERE `extension`='mp4'"); |
|
| 299 | - maj_version('1.926'); |
|
| 300 | - } |
|
| 244 | + if (upgrade_vers(1.925, $version_installee, $version_cible)) { |
|
| 245 | + include_spip('inc/flock'); |
|
| 246 | + /* deplacement des sessions */ |
|
| 247 | + $f_session = preg_files('data', 'session_'); |
|
| 248 | + $repertoire = _DIR_SESSIONS; |
|
| 249 | + if(!@file_exists($repertoire)) { |
|
| 250 | + $repertoire = preg_replace(','._DIR_TMP.',', '', $repertoire); |
|
| 251 | + $repertoire = sous_repertoire(_DIR_TMP, $repertoire); |
|
| 252 | + } |
|
| 253 | + foreach($f_session as $f) { |
|
| 254 | + $d = basename($f); |
|
| 255 | + @copy($f, $repertoire.$d); |
|
| 256 | + } |
|
| 257 | + /* deplacement des visites */ |
|
| 258 | + $f_visites = preg_files('data/visites'); |
|
| 259 | + $repertoire = sous_repertoire(_DIR_TMP, 'visites'); |
|
| 260 | + foreach($f_visites as $f) { |
|
| 261 | + $d = basename($f); |
|
| 262 | + @copy($f, $repertoire.$d); |
|
| 263 | + } |
|
| 264 | + /* deplacement des upload */ |
|
| 265 | + $auteurs = array(); |
|
| 266 | + $req = spip_query("SELECT `login` FROM spip_auteurs WHERE `statut` = '0minirezo'"); |
|
| 267 | + while($row = sql_fetch($req)) |
|
| 268 | + $auteurs[] = $row['login']; |
|
| 269 | + $f_upload = preg_files('upload', -1, 10000, $auteurs); |
|
| 270 | + $repertoire = _DIR_TRANSFERT; |
|
| 271 | + if(!@file_exists($repertoire)) { |
|
| 272 | + $repertoire = preg_replace(','._DIR_TMP.',', '', $repertoire); |
|
| 273 | + $repertoire = sous_repertoire(_DIR_TMP, $repertoire); |
|
| 274 | + } |
|
| 275 | + foreach($auteurs as $login) { |
|
| 276 | + if(is_dir('upload/'.$login)) |
|
| 277 | + $sous_repertoire = sous_repertoire(_DIR_TRANSFERT, $login); |
|
| 278 | + } |
|
| 279 | + foreach($f_upload as $f) { |
|
| 280 | + @copy($f, _DIR_TMP.$f); |
|
| 281 | + } |
|
| 282 | + /* deplacement des dumps */ |
|
| 283 | + $f_session = preg_files('data', 'dump'); |
|
| 284 | + $repertoire = _DIR_DUMP; |
|
| 285 | + if(!@file_exists($repertoire)) { |
|
| 286 | + $repertoire = preg_replace(','._DIR_TMP.',', '', $repertoire); |
|
| 287 | + $repertoire = sous_repertoire(_DIR_TMP, $repertoire); |
|
| 288 | + } |
|
| 289 | + foreach($f_session as $f) { |
|
| 290 | + $d = basename($f); |
|
| 291 | + @copy($f, $repertoire.$d); |
|
| 292 | + } |
|
| 293 | + maj_version('1.925'); |
|
| 294 | + } |
|
| 295 | + // Ajout de MP4 |
|
| 296 | + if (upgrade_vers(1.926, $version_installee, $version_cible)) { |
|
| 297 | + spip_query("INSERT IGNORE INTO spip_types_documents (`extension`, `titre`, `inclus`) VALUES ('mp4', 'MPEG4', 'embed')"); |
|
| 298 | + spip_query("UPDATE spip_types_documents SET `mime_type`='application/mp4' WHERE `extension`='mp4'"); |
|
| 299 | + maj_version('1.926'); |
|
| 300 | + } |
|
| 301 | 301 | } |
| 302 | 302 | ?> |
@@ -14,210 +14,210 @@ |
||
| 14 | 14 | |
| 15 | 15 | function maj_v018_dist($version_installee, $version_cible) |
| 16 | 16 | { |
| 17 | - if (upgrade_vers(1.801, $version_installee, $version_cible)) { |
|
| 18 | - 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"); |
|
| 19 | - include_spip('inc/rubriques'); |
|
| 20 | - calculer_rubriques(); |
|
| 21 | - maj_version(1.801); |
|
| 22 | - } |
|
| 23 | - |
|
| 24 | - // Nouvelles tables d'invalidation |
|
| 25 | - if (upgrade_vers(1.802, $version_installee, $version_cible)) { |
|
| 26 | - spip_query("DROP TABLE spip_id_article_caches"); |
|
| 27 | - spip_query("DROP TABLE spip_id_auteur_caches"); |
|
| 28 | - spip_query("DROP TABLE spip_id_breve_caches"); |
|
| 29 | - spip_query("DROP TABLE spip_id_document_caches"); |
|
| 30 | - spip_query("DROP TABLE spip_id_forum_caches"); |
|
| 31 | - spip_query("DROP TABLE spip_id_groupe_caches"); |
|
| 32 | - spip_query("DROP TABLE spip_id_message_caches"); |
|
| 33 | - spip_query("DROP TABLE spip_id_mot_caches"); |
|
| 34 | - spip_query("DROP TABLE spip_id_rubrique_caches"); |
|
| 35 | - spip_query("DROP TABLE spip_id_signature_caches"); |
|
| 36 | - spip_query("DROP TABLE spip_id_syndic_article_caches"); |
|
| 37 | - spip_query("DROP TABLE spip_id_syndic_caches"); |
|
| 38 | - spip_query("DROP TABLE spip_id_type_caches"); |
|
| 39 | - spip_query("DROP TABLE spip_inclure_caches"); |
|
| 40 | - maj_version(1.802); |
|
| 41 | - } |
|
| 42 | - if (upgrade_vers(1.803, $version_installee, $version_cible)) { |
|
| 43 | - |
|
| 44 | - # 27 AOUT 2004 : conservons cette table pour autoriser les retours |
|
| 45 | - # de SPIP 1.8a6 CVS vers 1.7.2 |
|
| 46 | - # spip_query("DROP TABLE spip_forum_cache"); |
|
| 47 | - |
|
| 48 | - spip_query("DROP TABLE spip_inclure_caches"); |
|
| 49 | - maj_version(1.803); |
|
| 50 | - } |
|
| 51 | - if (upgrade_vers(1.804, $version_installee, $version_cible)) { |
|
| 52 | - // recreer la table spip_caches |
|
| 53 | - spip_query("DROP TABLE spip_caches"); |
|
| 54 | - creer_base(); |
|
| 55 | - maj_version(1.804); |
|
| 56 | - } |
|
| 57 | - |
|
| 58 | - // |
|
| 59 | - // Recalculer tous les threads |
|
| 60 | - // function du plugin forum recopiee ici pour assurer la montee de version dans tous les cas de figure |
|
| 61 | - function maj_v018_calculer_threads() { |
|
| 62 | - // fixer les id_thread des debuts de discussion |
|
| 63 | - sql_update('spip_forum', array('id_thread'=>'id_forum'), "id_parent=0"); |
|
| 64 | - // reparer les messages qui n'ont pas l'id_secteur de leur parent |
|
| 65 | - do { |
|
| 66 | - $discussion = "0"; |
|
| 67 | - $precedent = 0; |
|
| 68 | - $r = sql_select("fille.id_forum AS id, maman.id_thread AS thread", 'spip_forum AS fille, spip_forum AS maman', "fille.id_parent = maman.id_forum AND fille.id_thread <> maman.id_thread",'', "thread"); |
|
| 69 | - while ($row = sql_fetch($r)) { |
|
| 70 | - if ($row['thread'] == $precedent) |
|
| 71 | - $discussion .= "," . $row['id']; |
|
| 72 | - else { |
|
| 73 | - if ($precedent) |
|
| 74 | - sql_updateq("spip_forum", array("id_thread" => $precedent), "id_forum IN ($discussion)"); |
|
| 75 | - $precedent = $row['thread']; |
|
| 76 | - $discussion = $row['id']; |
|
| 77 | - } |
|
| 78 | - } |
|
| 79 | - sql_updateq("spip_forum", array("id_thread" => $precedent), "id_forum IN ($discussion)"); |
|
| 80 | - } while ($discussion != "0"); |
|
| 81 | - } |
|
| 82 | - if (upgrade_vers(1.805, $version_installee, $version_cible)) { |
|
| 83 | - spip_query("ALTER TABLE spip_forum ADD id_thread bigint(21) DEFAULT '0' NOT NULL"); |
|
| 84 | - maj_v018_calculer_threads(); |
|
| 85 | - maj_version(1.805); |
|
| 86 | - } |
|
| 87 | - |
|
| 88 | - // tables d'orthographe |
|
| 89 | - #if ($version_installee < 1.806) |
|
| 90 | - # maj_version(1.806); |
|
| 91 | - |
|
| 92 | - // URLs propres (inc_version = 0.12) |
|
| 93 | - if (upgrade_vers(1.807, $version_installee, $version_cible)) { |
|
| 94 | - foreach (array('articles', 'breves', 'rubriques', 'mots') as $objets) { |
|
| 95 | - spip_query("ALTER TABLE spip_$objets ADD url_propre VARCHAR(255) NOT NULL"); |
|
| 96 | - spip_query("ALTER TABLE spip_$objets ADD INDEX url_propre (url_propre)"); |
|
| 97 | - } |
|
| 98 | - maj_version(1.807); |
|
| 99 | - } |
|
| 100 | - |
|
| 101 | - // referers de la veille |
|
| 102 | - if (upgrade_vers(1.808, $version_installee, $version_cible)) { |
|
| 103 | - spip_query("ALTER TABLE spip_referers ADD visites_veille INT UNSIGNED NOT NULL"); |
|
| 104 | - maj_version(1.808); |
|
| 105 | - } |
|
| 106 | - |
|
| 107 | - |
|
| 108 | - // corrections diverses |
|
| 109 | - if (upgrade_vers(1.809, $version_installee, $version_cible)) { |
|
| 110 | - // plus de retour possible vers 1.7.2 |
|
| 111 | - spip_query("DROP TABLE spip_forum_cache"); |
|
| 112 | - |
|
| 113 | - // les requetes ci-dessous ne s'appliqueront que si on est passe |
|
| 114 | - // par une certaine version de developpement - oublie de le faire |
|
| 115 | - // plus tot, car le code d'alors recreait purement et simplement |
|
| 116 | - // cette table |
|
| 117 | - spip_query("ALTER TABLE spip_versions DROP chapo"); |
|
| 118 | - spip_query("ALTER TABLE spip_versions DROP texte"); |
|
| 119 | - spip_query("ALTER TABLE spip_versions DROP ps"); |
|
| 120 | - spip_query("ALTER TABLE spip_versions DROP extra"); |
|
| 121 | - spip_query("ALTER TABLE spip_versions ADD champs text NOT NULL"); |
|
| 122 | - |
|
| 123 | - maj_version(1.809); |
|
| 124 | - } |
|
| 125 | - |
|
| 126 | - // Annuler les brouillons de forum jamais valides |
|
| 127 | - if (upgrade_vers(1.810, $version_installee, $version_cible)) { |
|
| 128 | - sql_delete("spip_forum", "statut='redac'"); |
|
| 129 | - maj_version(1.810); |
|
| 130 | - } |
|
| 131 | - |
|
| 132 | - if (upgrade_vers(1.811, $version_installee, $version_cible)) { |
|
| 133 | - spip_query("ALTER TABLE spip_syndic ADD extra longblob NULL"); |
|
| 134 | - maj_version(1.811); |
|
| 135 | - } |
|
| 17 | + if (upgrade_vers(1.801, $version_installee, $version_cible)) { |
|
| 18 | + 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"); |
|
| 19 | + include_spip('inc/rubriques'); |
|
| 20 | + calculer_rubriques(); |
|
| 21 | + maj_version(1.801); |
|
| 22 | + } |
|
| 23 | + |
|
| 24 | + // Nouvelles tables d'invalidation |
|
| 25 | + if (upgrade_vers(1.802, $version_installee, $version_cible)) { |
|
| 26 | + spip_query("DROP TABLE spip_id_article_caches"); |
|
| 27 | + spip_query("DROP TABLE spip_id_auteur_caches"); |
|
| 28 | + spip_query("DROP TABLE spip_id_breve_caches"); |
|
| 29 | + spip_query("DROP TABLE spip_id_document_caches"); |
|
| 30 | + spip_query("DROP TABLE spip_id_forum_caches"); |
|
| 31 | + spip_query("DROP TABLE spip_id_groupe_caches"); |
|
| 32 | + spip_query("DROP TABLE spip_id_message_caches"); |
|
| 33 | + spip_query("DROP TABLE spip_id_mot_caches"); |
|
| 34 | + spip_query("DROP TABLE spip_id_rubrique_caches"); |
|
| 35 | + spip_query("DROP TABLE spip_id_signature_caches"); |
|
| 36 | + spip_query("DROP TABLE spip_id_syndic_article_caches"); |
|
| 37 | + spip_query("DROP TABLE spip_id_syndic_caches"); |
|
| 38 | + spip_query("DROP TABLE spip_id_type_caches"); |
|
| 39 | + spip_query("DROP TABLE spip_inclure_caches"); |
|
| 40 | + maj_version(1.802); |
|
| 41 | + } |
|
| 42 | + if (upgrade_vers(1.803, $version_installee, $version_cible)) { |
|
| 43 | + |
|
| 44 | + # 27 AOUT 2004 : conservons cette table pour autoriser les retours |
|
| 45 | + # de SPIP 1.8a6 CVS vers 1.7.2 |
|
| 46 | + # spip_query("DROP TABLE spip_forum_cache"); |
|
| 47 | + |
|
| 48 | + spip_query("DROP TABLE spip_inclure_caches"); |
|
| 49 | + maj_version(1.803); |
|
| 50 | + } |
|
| 51 | + if (upgrade_vers(1.804, $version_installee, $version_cible)) { |
|
| 52 | + // recreer la table spip_caches |
|
| 53 | + spip_query("DROP TABLE spip_caches"); |
|
| 54 | + creer_base(); |
|
| 55 | + maj_version(1.804); |
|
| 56 | + } |
|
| 57 | + |
|
| 58 | + // |
|
| 59 | + // Recalculer tous les threads |
|
| 60 | + // function du plugin forum recopiee ici pour assurer la montee de version dans tous les cas de figure |
|
| 61 | + function maj_v018_calculer_threads() { |
|
| 62 | + // fixer les id_thread des debuts de discussion |
|
| 63 | + sql_update('spip_forum', array('id_thread'=>'id_forum'), "id_parent=0"); |
|
| 64 | + // reparer les messages qui n'ont pas l'id_secteur de leur parent |
|
| 65 | + do { |
|
| 66 | + $discussion = "0"; |
|
| 67 | + $precedent = 0; |
|
| 68 | + $r = sql_select("fille.id_forum AS id, maman.id_thread AS thread", 'spip_forum AS fille, spip_forum AS maman', "fille.id_parent = maman.id_forum AND fille.id_thread <> maman.id_thread",'', "thread"); |
|
| 69 | + while ($row = sql_fetch($r)) { |
|
| 70 | + if ($row['thread'] == $precedent) |
|
| 71 | + $discussion .= "," . $row['id']; |
|
| 72 | + else { |
|
| 73 | + if ($precedent) |
|
| 74 | + sql_updateq("spip_forum", array("id_thread" => $precedent), "id_forum IN ($discussion)"); |
|
| 75 | + $precedent = $row['thread']; |
|
| 76 | + $discussion = $row['id']; |
|
| 77 | + } |
|
| 78 | + } |
|
| 79 | + sql_updateq("spip_forum", array("id_thread" => $precedent), "id_forum IN ($discussion)"); |
|
| 80 | + } while ($discussion != "0"); |
|
| 81 | + } |
|
| 82 | + if (upgrade_vers(1.805, $version_installee, $version_cible)) { |
|
| 83 | + spip_query("ALTER TABLE spip_forum ADD id_thread bigint(21) DEFAULT '0' NOT NULL"); |
|
| 84 | + maj_v018_calculer_threads(); |
|
| 85 | + maj_version(1.805); |
|
| 86 | + } |
|
| 87 | + |
|
| 88 | + // tables d'orthographe |
|
| 89 | + #if ($version_installee < 1.806) |
|
| 90 | + # maj_version(1.806); |
|
| 91 | + |
|
| 92 | + // URLs propres (inc_version = 0.12) |
|
| 93 | + if (upgrade_vers(1.807, $version_installee, $version_cible)) { |
|
| 94 | + foreach (array('articles', 'breves', 'rubriques', 'mots') as $objets) { |
|
| 95 | + spip_query("ALTER TABLE spip_$objets ADD url_propre VARCHAR(255) NOT NULL"); |
|
| 96 | + spip_query("ALTER TABLE spip_$objets ADD INDEX url_propre (url_propre)"); |
|
| 97 | + } |
|
| 98 | + maj_version(1.807); |
|
| 99 | + } |
|
| 100 | + |
|
| 101 | + // referers de la veille |
|
| 102 | + if (upgrade_vers(1.808, $version_installee, $version_cible)) { |
|
| 103 | + spip_query("ALTER TABLE spip_referers ADD visites_veille INT UNSIGNED NOT NULL"); |
|
| 104 | + maj_version(1.808); |
|
| 105 | + } |
|
| 106 | + |
|
| 107 | + |
|
| 108 | + // corrections diverses |
|
| 109 | + if (upgrade_vers(1.809, $version_installee, $version_cible)) { |
|
| 110 | + // plus de retour possible vers 1.7.2 |
|
| 111 | + spip_query("DROP TABLE spip_forum_cache"); |
|
| 112 | + |
|
| 113 | + // les requetes ci-dessous ne s'appliqueront que si on est passe |
|
| 114 | + // par une certaine version de developpement - oublie de le faire |
|
| 115 | + // plus tot, car le code d'alors recreait purement et simplement |
|
| 116 | + // cette table |
|
| 117 | + spip_query("ALTER TABLE spip_versions DROP chapo"); |
|
| 118 | + spip_query("ALTER TABLE spip_versions DROP texte"); |
|
| 119 | + spip_query("ALTER TABLE spip_versions DROP ps"); |
|
| 120 | + spip_query("ALTER TABLE spip_versions DROP extra"); |
|
| 121 | + spip_query("ALTER TABLE spip_versions ADD champs text NOT NULL"); |
|
| 122 | + |
|
| 123 | + maj_version(1.809); |
|
| 124 | + } |
|
| 125 | + |
|
| 126 | + // Annuler les brouillons de forum jamais valides |
|
| 127 | + if (upgrade_vers(1.810, $version_installee, $version_cible)) { |
|
| 128 | + sql_delete("spip_forum", "statut='redac'"); |
|
| 129 | + maj_version(1.810); |
|
| 130 | + } |
|
| 131 | + |
|
| 132 | + if (upgrade_vers(1.811, $version_installee, $version_cible)) { |
|
| 133 | + spip_query("ALTER TABLE spip_syndic ADD extra longblob NULL"); |
|
| 134 | + maj_version(1.811); |
|
| 135 | + } |
|
| 136 | 136 | |
| 137 | - if (upgrade_vers(1.812, $version_installee, $version_cible)) { |
|
| 138 | - spip_query("ALTER TABLE spip_documents ADD idx ENUM('', '1', 'non', 'oui', 'idx') DEFAULT '' NOT NULL"); |
|
| 139 | - maj_version(1.812); |
|
| 140 | - } |
|
| 141 | - |
|
| 142 | - // Mise a jour des types MIME |
|
| 143 | - if (upgrade_vers(1.813, $version_installee, $version_cible)) { |
|
| 144 | - # rien a faire car c'est creer_base() qui s'en charge |
|
| 145 | - maj_version(1.813); |
|
| 146 | - } |
|
| 147 | - |
|
| 148 | - // URLs propres auteurs |
|
| 149 | - if (upgrade_vers(1.814, $version_installee, $version_cible)) { |
|
| 150 | - spip_query("ALTER TABLE spip_auteurs ADD url_propre VARCHAR(255) NOT NULL"); |
|
| 151 | - spip_query("ALTER TABLE spip_auteurs ADD INDEX url_propre (url_propre)"); |
|
| 152 | - maj_version(1.814); |
|
| 153 | - } |
|
| 154 | - |
|
| 155 | - // Mots-cles sur les documents |
|
| 156 | - // + liens documents <-> sites et articles syndiques (podcasting) |
|
| 157 | - if (upgrade_vers(1.815, $version_installee, $version_cible)) { |
|
| 158 | - spip_query("ALTER TABLE spip_documents ADD distant VARCHAR(3) DEFAULT 'non'"); |
|
| 159 | - maj_version(1.815); |
|
| 160 | - } |
|
| 161 | - |
|
| 162 | - // Indexation des documents (rien a faire sauf reinstaller inc_auxbase) |
|
| 163 | - if (upgrade_vers(1.816, $version_installee, $version_cible)) { |
|
| 164 | - maj_version(1.816); |
|
| 165 | - } |
|
| 166 | - |
|
| 167 | - // Texte et descriptif des groupes de mots-cles |
|
| 168 | - if (upgrade_vers(1.817, $version_installee, $version_cible)) { |
|
| 169 | - spip_query("ALTER TABLE spip_groupes_mots ADD descriptif text NOT NULL AFTER titre"); |
|
| 170 | - spip_query("ALTER TABLE spip_groupes_mots ADD COLUMN texte longblob NOT NULL AFTER descriptif"); |
|
| 171 | - maj_version(1.817); |
|
| 172 | - } |
|
| 173 | - |
|
| 174 | - // Conformite des noms de certains champs (0minirezo => minirezo) |
|
| 175 | - if (upgrade_vers(1.818, $version_installee, $version_cible)) { |
|
| 176 | - spip_query("ALTER TABLE spip_groupes_mots CHANGE COLUMN 0minirezo minirezo char(3) NOT NULL"); |
|
| 177 | - spip_query("ALTER TABLE spip_groupes_mots CHANGE COLUMN 1comite comite char(3) NOT NULL"); |
|
| 178 | - spip_query("ALTER TABLE spip_groupes_mots CHANGE COLUMN 6forum forum char(3) NOT NULL"); |
|
| 179 | - maj_version(1.818); |
|
| 180 | - } |
|
| 181 | - |
|
| 182 | - // Options de syndication : miroir + oubli |
|
| 183 | - if (upgrade_vers(1.819, $version_installee, $version_cible)) { |
|
| 184 | - spip_query("ALTER TABLE spip_syndic ADD miroir VARCHAR(3) DEFAULT 'non'"); |
|
| 185 | - spip_query("ALTER TABLE spip_syndic ADD oubli VARCHAR(3) DEFAULT 'non'"); |
|
| 186 | - maj_version(1.819); |
|
| 187 | - } |
|
| 188 | - |
|
| 189 | - // Un bug dans les 1.730 (il manquait le "ADD") |
|
| 190 | - if (upgrade_vers(1.820, $version_installee, $version_cible)) { |
|
| 191 | - spip_query("ALTER TABLE spip_articles ADD INDEX idx (idx)"); |
|
| 192 | - spip_query("ALTER TABLE spip_auteurs ADD INDEX idx (idx)"); |
|
| 193 | - spip_query("ALTER TABLE spip_breves ADD INDEX idx (idx)"); |
|
| 194 | - spip_query("ALTER TABLE spip_mots ADD INDEX idx (idx)"); |
|
| 195 | - spip_query("ALTER TABLE spip_rubriques ADD INDEX idx (idx)"); |
|
| 196 | - spip_query("ALTER TABLE spip_syndic ADD INDEX idx (idx)"); |
|
| 197 | - spip_query("ALTER TABLE spip_forum ADD INDEX idx (idx)"); |
|
| 198 | - spip_query("ALTER TABLE spip_signatures ADD INDEX idx (idx)"); |
|
| 199 | - maj_version(1.820); |
|
| 200 | - } |
|
| 201 | - |
|
| 202 | - // reindexer les articles (on avait oublie les auteurs) |
|
| 203 | - if (upgrade_vers(1.821, $version_installee, $version_cible)) { |
|
| 204 | - spip_query("UPDATE spip_articles SET idx='1' WHERE idx='oui'"); |
|
| 205 | - maj_version(1.821); |
|
| 206 | - } |
|
| 207 | - // le 'type' des mots doit etre du texte, sinon on depasse en champ multi |
|
| 208 | - if (upgrade_vers(1.822, $version_installee, $version_cible)) { |
|
| 209 | - spip_query("ALTER TABLE spip_mots DROP INDEX type"); |
|
| 210 | - spip_query("ALTER TABLE spip_mots CHANGE type type TEXT NOT NULL"); |
|
| 211 | - maj_version(1.822); |
|
| 212 | - } |
|
| 213 | - // ajouter une table de fonctions pour ajax |
|
| 214 | - if (upgrade_vers(1.825, $version_installee, $version_cible)) { |
|
| 215 | - maj_version(1.825); |
|
| 216 | - } |
|
| 217 | - if (upgrade_vers(1.826, $version_installee, $version_cible)) { |
|
| 218 | - spip_query("ALTER TABLE spip_ajax_fonc DROP fonction"); |
|
| 219 | - maj_version(1.826); |
|
| 220 | - } |
|
| 137 | + if (upgrade_vers(1.812, $version_installee, $version_cible)) { |
|
| 138 | + spip_query("ALTER TABLE spip_documents ADD idx ENUM('', '1', 'non', 'oui', 'idx') DEFAULT '' NOT NULL"); |
|
| 139 | + maj_version(1.812); |
|
| 140 | + } |
|
| 141 | + |
|
| 142 | + // Mise a jour des types MIME |
|
| 143 | + if (upgrade_vers(1.813, $version_installee, $version_cible)) { |
|
| 144 | + # rien a faire car c'est creer_base() qui s'en charge |
|
| 145 | + maj_version(1.813); |
|
| 146 | + } |
|
| 147 | + |
|
| 148 | + // URLs propres auteurs |
|
| 149 | + if (upgrade_vers(1.814, $version_installee, $version_cible)) { |
|
| 150 | + spip_query("ALTER TABLE spip_auteurs ADD url_propre VARCHAR(255) NOT NULL"); |
|
| 151 | + spip_query("ALTER TABLE spip_auteurs ADD INDEX url_propre (url_propre)"); |
|
| 152 | + maj_version(1.814); |
|
| 153 | + } |
|
| 154 | + |
|
| 155 | + // Mots-cles sur les documents |
|
| 156 | + // + liens documents <-> sites et articles syndiques (podcasting) |
|
| 157 | + if (upgrade_vers(1.815, $version_installee, $version_cible)) { |
|
| 158 | + spip_query("ALTER TABLE spip_documents ADD distant VARCHAR(3) DEFAULT 'non'"); |
|
| 159 | + maj_version(1.815); |
|
| 160 | + } |
|
| 161 | + |
|
| 162 | + // Indexation des documents (rien a faire sauf reinstaller inc_auxbase) |
|
| 163 | + if (upgrade_vers(1.816, $version_installee, $version_cible)) { |
|
| 164 | + maj_version(1.816); |
|
| 165 | + } |
|
| 166 | + |
|
| 167 | + // Texte et descriptif des groupes de mots-cles |
|
| 168 | + if (upgrade_vers(1.817, $version_installee, $version_cible)) { |
|
| 169 | + spip_query("ALTER TABLE spip_groupes_mots ADD descriptif text NOT NULL AFTER titre"); |
|
| 170 | + spip_query("ALTER TABLE spip_groupes_mots ADD COLUMN texte longblob NOT NULL AFTER descriptif"); |
|
| 171 | + maj_version(1.817); |
|
| 172 | + } |
|
| 173 | + |
|
| 174 | + // Conformite des noms de certains champs (0minirezo => minirezo) |
|
| 175 | + if (upgrade_vers(1.818, $version_installee, $version_cible)) { |
|
| 176 | + spip_query("ALTER TABLE spip_groupes_mots CHANGE COLUMN 0minirezo minirezo char(3) NOT NULL"); |
|
| 177 | + spip_query("ALTER TABLE spip_groupes_mots CHANGE COLUMN 1comite comite char(3) NOT NULL"); |
|
| 178 | + spip_query("ALTER TABLE spip_groupes_mots CHANGE COLUMN 6forum forum char(3) NOT NULL"); |
|
| 179 | + maj_version(1.818); |
|
| 180 | + } |
|
| 181 | + |
|
| 182 | + // Options de syndication : miroir + oubli |
|
| 183 | + if (upgrade_vers(1.819, $version_installee, $version_cible)) { |
|
| 184 | + spip_query("ALTER TABLE spip_syndic ADD miroir VARCHAR(3) DEFAULT 'non'"); |
|
| 185 | + spip_query("ALTER TABLE spip_syndic ADD oubli VARCHAR(3) DEFAULT 'non'"); |
|
| 186 | + maj_version(1.819); |
|
| 187 | + } |
|
| 188 | + |
|
| 189 | + // Un bug dans les 1.730 (il manquait le "ADD") |
|
| 190 | + if (upgrade_vers(1.820, $version_installee, $version_cible)) { |
|
| 191 | + spip_query("ALTER TABLE spip_articles ADD INDEX idx (idx)"); |
|
| 192 | + spip_query("ALTER TABLE spip_auteurs ADD INDEX idx (idx)"); |
|
| 193 | + spip_query("ALTER TABLE spip_breves ADD INDEX idx (idx)"); |
|
| 194 | + spip_query("ALTER TABLE spip_mots ADD INDEX idx (idx)"); |
|
| 195 | + spip_query("ALTER TABLE spip_rubriques ADD INDEX idx (idx)"); |
|
| 196 | + spip_query("ALTER TABLE spip_syndic ADD INDEX idx (idx)"); |
|
| 197 | + spip_query("ALTER TABLE spip_forum ADD INDEX idx (idx)"); |
|
| 198 | + spip_query("ALTER TABLE spip_signatures ADD INDEX idx (idx)"); |
|
| 199 | + maj_version(1.820); |
|
| 200 | + } |
|
| 201 | + |
|
| 202 | + // reindexer les articles (on avait oublie les auteurs) |
|
| 203 | + if (upgrade_vers(1.821, $version_installee, $version_cible)) { |
|
| 204 | + spip_query("UPDATE spip_articles SET idx='1' WHERE idx='oui'"); |
|
| 205 | + maj_version(1.821); |
|
| 206 | + } |
|
| 207 | + // le 'type' des mots doit etre du texte, sinon on depasse en champ multi |
|
| 208 | + if (upgrade_vers(1.822, $version_installee, $version_cible)) { |
|
| 209 | + spip_query("ALTER TABLE spip_mots DROP INDEX type"); |
|
| 210 | + spip_query("ALTER TABLE spip_mots CHANGE type type TEXT NOT NULL"); |
|
| 211 | + maj_version(1.822); |
|
| 212 | + } |
|
| 213 | + // ajouter une table de fonctions pour ajax |
|
| 214 | + if (upgrade_vers(1.825, $version_installee, $version_cible)) { |
|
| 215 | + maj_version(1.825); |
|
| 216 | + } |
|
| 217 | + if (upgrade_vers(1.826, $version_installee, $version_cible)) { |
|
| 218 | + spip_query("ALTER TABLE spip_ajax_fonc DROP fonction"); |
|
| 219 | + maj_version(1.826); |
|
| 220 | + } |
|
| 221 | 221 | } |
| 222 | 222 | |
| 223 | 223 | |
@@ -15,31 +15,31 @@ |
||
| 15 | 15 | function maj_v010_dist($version_installee, $version_cible) |
| 16 | 16 | { |
| 17 | 17 | |
| 18 | - if (upgrade_vers(1.01, $version_installee, $version_cible)) { |
|
| 19 | - spip_query("UPDATE spip_forum SET statut='publie' WHERE statut=''"); |
|
| 20 | - maj_version (1.01); |
|
| 21 | - } |
|
| 18 | + if (upgrade_vers(1.01, $version_installee, $version_cible)) { |
|
| 19 | + spip_query("UPDATE spip_forum SET statut='publie' WHERE statut=''"); |
|
| 20 | + maj_version (1.01); |
|
| 21 | + } |
|
| 22 | 22 | |
| 23 | - if (upgrade_vers(1.02, $version_installee, $version_cible)) { |
|
| 24 | - spip_query("ALTER TABLE spip_forum ADD id_auteur BIGINT DEFAULT '0' NOT NULL"); |
|
| 25 | - maj_version (1.02); |
|
| 26 | - } |
|
| 27 | - |
|
| 28 | - if (upgrade_vers(1.03, $version_installee, $version_cible)) { |
|
| 29 | - spip_query("DROP TABLE spip_maj"); |
|
| 30 | - maj_version (1.03); |
|
| 31 | - } |
|
| 32 | - |
|
| 33 | - if (upgrade_vers(1.04, $version_installee, $version_cible)) { |
|
| 34 | - spip_query("ALTER TABLE spip_articles ADD accepter_forum VARCHAR(3)"); |
|
| 35 | - maj_version (1.04); |
|
| 36 | - } |
|
| 37 | - |
|
| 38 | - if (upgrade_vers(1.05, $version_installee, $version_cible)) { |
|
| 39 | - spip_query("DROP TABLE spip_petition"); |
|
| 40 | - spip_query("DROP TABLE spip_signatures_petition"); |
|
| 41 | - maj_version (1.05); |
|
| 42 | - } |
|
| 23 | + if (upgrade_vers(1.02, $version_installee, $version_cible)) { |
|
| 24 | + spip_query("ALTER TABLE spip_forum ADD id_auteur BIGINT DEFAULT '0' NOT NULL"); |
|
| 25 | + maj_version (1.02); |
|
| 26 | + } |
|
| 27 | + |
|
| 28 | + if (upgrade_vers(1.03, $version_installee, $version_cible)) { |
|
| 29 | + spip_query("DROP TABLE spip_maj"); |
|
| 30 | + maj_version (1.03); |
|
| 31 | + } |
|
| 32 | + |
|
| 33 | + if (upgrade_vers(1.04, $version_installee, $version_cible)) { |
|
| 34 | + spip_query("ALTER TABLE spip_articles ADD accepter_forum VARCHAR(3)"); |
|
| 35 | + maj_version (1.04); |
|
| 36 | + } |
|
| 37 | + |
|
| 38 | + if (upgrade_vers(1.05, $version_installee, $version_cible)) { |
|
| 39 | + spip_query("DROP TABLE spip_petition"); |
|
| 40 | + spip_query("DROP TABLE spip_signatures_petition"); |
|
| 41 | + maj_version (1.05); |
|
| 42 | + } |
|
| 43 | 43 | } |
| 44 | 44 | |
| 45 | 45 | |
@@ -73,7 +73,7 @@ discard block |
||
| 73 | 73 | // php 4 - 5 compatable class properties |
| 74 | 74 | var $toUpper; |
| 75 | 75 | var $platform; |
| 76 | - var $bytesString = 16; |
|
| 76 | + var $bytesString = 16; |
|
| 77 | 77 | |
| 78 | 78 | // Php 4 - 6 compatable constructor |
| 79 | 79 | function nanoSha2($toUpper = false) { |
@@ -144,94 +144,94 @@ discard block |
||
| 144 | 144 | function sigma_1($x) { return (int) ($this->ROTR($x, 17)^$this->ROTR($x, 19)^$this->SHR($x, 10)); } |
| 145 | 145 | |
| 146 | 146 | |
| 147 | - function string2ordUTF8($s,&$byteSize){ |
|
| 148 | - $chars = array(); |
|
| 149 | - // par defaut sur 8bits |
|
| 150 | - $byteSize = 8; |
|
| 151 | - $i = 0; |
|
| 152 | - while ($i<strlen($s)){ |
|
| 153 | - $chars[] = $this->ordUTF8($s, $i, $bytes); |
|
| 154 | - $i+=$bytes; |
|
| 155 | - // mais si un char necessite 16bits, on passe tout sur 16 |
|
| 156 | - // sinon on ne concorde pas avec le lecture de la chaine en js |
|
| 157 | - // et le sha256 js |
|
| 158 | - if ($bytes>1) $byteSize = 16; |
|
| 159 | - } |
|
| 160 | - return $chars; |
|
| 161 | - } |
|
| 162 | - |
|
| 163 | - function ordUTF8($c, $index = 0, &$bytes) |
|
| 164 | - { |
|
| 165 | - $len = strlen($c); |
|
| 166 | - $bytes = 0; |
|
| 167 | - |
|
| 168 | - if ($index >= $len) |
|
| 169 | - return false; |
|
| 170 | - |
|
| 171 | - $h = ord($c{$index}); |
|
| 172 | - |
|
| 173 | - if ($h <= 0x7F) { |
|
| 174 | - $bytes = 1; |
|
| 175 | - return $h; |
|
| 176 | - } |
|
| 177 | - else if ($h < 0xC2){ |
|
| 178 | - // pas utf mais renvoyer quand meme ce qu'on a |
|
| 179 | - $bytes = 1; |
|
| 180 | - return $h; |
|
| 181 | - } |
|
| 182 | - else if ($h <= 0xDF && $index < $len - 1) { |
|
| 183 | - $bytes = 2; |
|
| 184 | - return ($h & 0x1F) << 6 | (ord($c{$index + 1}) & 0x3F); |
|
| 185 | - } |
|
| 186 | - else if ($h <= 0xEF && $index < $len - 2) { |
|
| 187 | - $bytes = 3; |
|
| 188 | - return ($h & 0x0F) << 12 | (ord($c{$index + 1}) & 0x3F) << 6 |
|
| 189 | - | (ord($c{$index + 2}) & 0x3F); |
|
| 190 | - } |
|
| 191 | - else if ($h <= 0xF4 && $index < $len - 3) { |
|
| 192 | - $bytes = 4; |
|
| 193 | - return ($h & 0x0F) << 18 | (ord($c{$index + 1}) & 0x3F) << 12 |
|
| 194 | - | (ord($c{$index + 2}) & 0x3F) << 6 |
|
| 195 | - | (ord($c{$index + 3}) & 0x3F); |
|
| 196 | - } |
|
| 197 | - else { |
|
| 198 | - // pas utf mais renvoyer quand meme ce qu'on a |
|
| 199 | - $bytes = 1; |
|
| 200 | - return $h; |
|
| 201 | - } |
|
| 202 | - } |
|
| 203 | - |
|
| 204 | - function string2binint ($str,$npad=512) { |
|
| 205 | - $bin = array(); |
|
| 206 | - $ords = $this->string2ordUTF8($str,$this->bytesString); |
|
| 207 | - $npad = $npad/$this->bytesString; |
|
| 208 | - $length = count($ords); |
|
| 209 | - $ords[] = 0x80; // append the "1" bit followed by 7 0's |
|
| 210 | - $pad = ceil(($length+1+32/$this->bytesString)/$npad)*$npad-32/$this->bytesString; |
|
| 211 | - $ords = array_pad($ords,$pad,0); |
|
| 212 | - $mask = (1 << $this->bytesString) - 1; |
|
| 213 | - for($i = 0; $i < count($ords) * $this->bytesString; $i += $this->bytesString) { |
|
| 214 | - if (!isset($bin[$i>>5])) { $bin[$i>>5] = 0; } // pour eviter des notices. |
|
| 215 | - $bin[$i>>5] |= ($ords[$i / $this->bytesString] & $mask) << (24 - $i%32); |
|
| 216 | - } |
|
| 217 | - $bin[] = $length*$this->bytesString; |
|
| 218 | - return $bin; |
|
| 219 | - } |
|
| 220 | - |
|
| 221 | - function array_split($a, $n) { |
|
| 222 | - $split = array(); |
|
| 223 | - while (count($a)>$n) { |
|
| 224 | - $s = array(); |
|
| 225 | - for($i = 0;$i<$n;$i++) |
|
| 226 | - $s[] = array_shift($a); |
|
| 227 | - $split[] = $s; |
|
| 228 | - } |
|
| 229 | - if (count($a)){ |
|
| 230 | - $a = array_pad($a,$n,0); |
|
| 231 | - $split[] = $a; |
|
| 232 | - } |
|
| 233 | - return $split; |
|
| 234 | - } |
|
| 147 | + function string2ordUTF8($s,&$byteSize){ |
|
| 148 | + $chars = array(); |
|
| 149 | + // par defaut sur 8bits |
|
| 150 | + $byteSize = 8; |
|
| 151 | + $i = 0; |
|
| 152 | + while ($i<strlen($s)){ |
|
| 153 | + $chars[] = $this->ordUTF8($s, $i, $bytes); |
|
| 154 | + $i+=$bytes; |
|
| 155 | + // mais si un char necessite 16bits, on passe tout sur 16 |
|
| 156 | + // sinon on ne concorde pas avec le lecture de la chaine en js |
|
| 157 | + // et le sha256 js |
|
| 158 | + if ($bytes>1) $byteSize = 16; |
|
| 159 | + } |
|
| 160 | + return $chars; |
|
| 161 | + } |
|
| 162 | + |
|
| 163 | + function ordUTF8($c, $index = 0, &$bytes) |
|
| 164 | + { |
|
| 165 | + $len = strlen($c); |
|
| 166 | + $bytes = 0; |
|
| 167 | + |
|
| 168 | + if ($index >= $len) |
|
| 169 | + return false; |
|
| 170 | + |
|
| 171 | + $h = ord($c{$index}); |
|
| 172 | + |
|
| 173 | + if ($h <= 0x7F) { |
|
| 174 | + $bytes = 1; |
|
| 175 | + return $h; |
|
| 176 | + } |
|
| 177 | + else if ($h < 0xC2){ |
|
| 178 | + // pas utf mais renvoyer quand meme ce qu'on a |
|
| 179 | + $bytes = 1; |
|
| 180 | + return $h; |
|
| 181 | + } |
|
| 182 | + else if ($h <= 0xDF && $index < $len - 1) { |
|
| 183 | + $bytes = 2; |
|
| 184 | + return ($h & 0x1F) << 6 | (ord($c{$index + 1}) & 0x3F); |
|
| 185 | + } |
|
| 186 | + else if ($h <= 0xEF && $index < $len - 2) { |
|
| 187 | + $bytes = 3; |
|
| 188 | + return ($h & 0x0F) << 12 | (ord($c{$index + 1}) & 0x3F) << 6 |
|
| 189 | + | (ord($c{$index + 2}) & 0x3F); |
|
| 190 | + } |
|
| 191 | + else if ($h <= 0xF4 && $index < $len - 3) { |
|
| 192 | + $bytes = 4; |
|
| 193 | + return ($h & 0x0F) << 18 | (ord($c{$index + 1}) & 0x3F) << 12 |
|
| 194 | + | (ord($c{$index + 2}) & 0x3F) << 6 |
|
| 195 | + | (ord($c{$index + 3}) & 0x3F); |
|
| 196 | + } |
|
| 197 | + else { |
|
| 198 | + // pas utf mais renvoyer quand meme ce qu'on a |
|
| 199 | + $bytes = 1; |
|
| 200 | + return $h; |
|
| 201 | + } |
|
| 202 | + } |
|
| 203 | + |
|
| 204 | + function string2binint ($str,$npad=512) { |
|
| 205 | + $bin = array(); |
|
| 206 | + $ords = $this->string2ordUTF8($str,$this->bytesString); |
|
| 207 | + $npad = $npad/$this->bytesString; |
|
| 208 | + $length = count($ords); |
|
| 209 | + $ords[] = 0x80; // append the "1" bit followed by 7 0's |
|
| 210 | + $pad = ceil(($length+1+32/$this->bytesString)/$npad)*$npad-32/$this->bytesString; |
|
| 211 | + $ords = array_pad($ords,$pad,0); |
|
| 212 | + $mask = (1 << $this->bytesString) - 1; |
|
| 213 | + for($i = 0; $i < count($ords) * $this->bytesString; $i += $this->bytesString) { |
|
| 214 | + if (!isset($bin[$i>>5])) { $bin[$i>>5] = 0; } // pour eviter des notices. |
|
| 215 | + $bin[$i>>5] |= ($ords[$i / $this->bytesString] & $mask) << (24 - $i%32); |
|
| 216 | + } |
|
| 217 | + $bin[] = $length*$this->bytesString; |
|
| 218 | + return $bin; |
|
| 219 | + } |
|
| 220 | + |
|
| 221 | + function array_split($a, $n) { |
|
| 222 | + $split = array(); |
|
| 223 | + while (count($a)>$n) { |
|
| 224 | + $s = array(); |
|
| 225 | + for($i = 0;$i<$n;$i++) |
|
| 226 | + $s[] = array_shift($a); |
|
| 227 | + $split[] = $s; |
|
| 228 | + } |
|
| 229 | + if (count($a)){ |
|
| 230 | + $a = array_pad($a,$n,0); |
|
| 231 | + $split[] = $a; |
|
| 232 | + } |
|
| 233 | + return $split; |
|
| 234 | + } |
|
| 235 | 235 | |
| 236 | 236 | /** |
| 237 | 237 | * Process and return the hash. |
@@ -261,27 +261,27 @@ discard block |
||
| 261 | 261 | * of the first sixtyfour prime numbers. |
| 262 | 262 | */ |
| 263 | 263 | $K = array((int)0x428a2f98, (int)0x71374491, (int)0xb5c0fbcf, |
| 264 | - (int)0xe9b5dba5, (int)0x3956c25b, (int)0x59f111f1, |
|
| 265 | - (int)0x923f82a4, (int)0xab1c5ed5, (int)0xd807aa98, |
|
| 266 | - (int)0x12835b01, (int)0x243185be, (int)0x550c7dc3, |
|
| 267 | - (int)0x72be5d74, (int)0x80deb1fe, (int)0x9bdc06a7, |
|
| 268 | - (int)0xc19bf174, (int)0xe49b69c1, (int)0xefbe4786, |
|
| 269 | - (int)0x0fc19dc6, (int)0x240ca1cc, (int)0x2de92c6f, |
|
| 270 | - (int)0x4a7484aa, (int)0x5cb0a9dc, (int)0x76f988da, |
|
| 271 | - (int)0x983e5152, (int)0xa831c66d, (int)0xb00327c8, |
|
| 272 | - (int)0xbf597fc7, (int)0xc6e00bf3, (int)0xd5a79147, |
|
| 273 | - (int)0x06ca6351, (int)0x14292967, (int)0x27b70a85, |
|
| 274 | - (int)0x2e1b2138, (int)0x4d2c6dfc, (int)0x53380d13, |
|
| 275 | - (int)0x650a7354, (int)0x766a0abb, (int)0x81c2c92e, |
|
| 276 | - (int)0x92722c85, (int)0xa2bfe8a1, (int)0xa81a664b, |
|
| 277 | - (int)0xc24b8b70, (int)0xc76c51a3, (int)0xd192e819, |
|
| 278 | - (int)0xd6990624, (int)0xf40e3585, (int)0x106aa070, |
|
| 279 | - (int)0x19a4c116, (int)0x1e376c08, (int)0x2748774c, |
|
| 280 | - (int)0x34b0bcb5, (int)0x391c0cb3, (int)0x4ed8aa4a, |
|
| 281 | - (int)0x5b9cca4f, (int)0x682e6ff3, (int)0x748f82ee, |
|
| 282 | - (int)0x78a5636f, (int)0x84c87814, (int)0x8cc70208, |
|
| 283 | - (int)0x90befffa, (int)0xa4506ceb, (int)0xbef9a3f7, |
|
| 284 | - (int)0xc67178f2); |
|
| 264 | + (int)0xe9b5dba5, (int)0x3956c25b, (int)0x59f111f1, |
|
| 265 | + (int)0x923f82a4, (int)0xab1c5ed5, (int)0xd807aa98, |
|
| 266 | + (int)0x12835b01, (int)0x243185be, (int)0x550c7dc3, |
|
| 267 | + (int)0x72be5d74, (int)0x80deb1fe, (int)0x9bdc06a7, |
|
| 268 | + (int)0xc19bf174, (int)0xe49b69c1, (int)0xefbe4786, |
|
| 269 | + (int)0x0fc19dc6, (int)0x240ca1cc, (int)0x2de92c6f, |
|
| 270 | + (int)0x4a7484aa, (int)0x5cb0a9dc, (int)0x76f988da, |
|
| 271 | + (int)0x983e5152, (int)0xa831c66d, (int)0xb00327c8, |
|
| 272 | + (int)0xbf597fc7, (int)0xc6e00bf3, (int)0xd5a79147, |
|
| 273 | + (int)0x06ca6351, (int)0x14292967, (int)0x27b70a85, |
|
| 274 | + (int)0x2e1b2138, (int)0x4d2c6dfc, (int)0x53380d13, |
|
| 275 | + (int)0x650a7354, (int)0x766a0abb, (int)0x81c2c92e, |
|
| 276 | + (int)0x92722c85, (int)0xa2bfe8a1, (int)0xa81a664b, |
|
| 277 | + (int)0xc24b8b70, (int)0xc76c51a3, (int)0xd192e819, |
|
| 278 | + (int)0xd6990624, (int)0xf40e3585, (int)0x106aa070, |
|
| 279 | + (int)0x19a4c116, (int)0x1e376c08, (int)0x2748774c, |
|
| 280 | + (int)0x34b0bcb5, (int)0x391c0cb3, (int)0x4ed8aa4a, |
|
| 281 | + (int)0x5b9cca4f, (int)0x682e6ff3, (int)0x748f82ee, |
|
| 282 | + (int)0x78a5636f, (int)0x84c87814, (int)0x8cc70208, |
|
| 283 | + (int)0x90befffa, (int)0xa4506ceb, (int)0xbef9a3f7, |
|
| 284 | + (int)0xc67178f2); |
|
| 285 | 285 | |
| 286 | 286 | // Pre-processing: Padding the string |
| 287 | 287 | $binStr = $this->string2binint($str,512); |
@@ -382,7 +382,7 @@ discard block |
||
| 382 | 382 | */ |
| 383 | 383 | function str_split($string, $split_length = 1) |
| 384 | 384 | { |
| 385 | - $result = array(); |
|
| 385 | + $result = array(); |
|
| 386 | 386 | $sign = ($split_length < 0) ? -1 : 1; |
| 387 | 387 | $strlen = strlen($string); |
| 388 | 388 | $split_length = abs($split_length); |
@@ -17,11 +17,11 @@ discard block |
||
| 17 | 17 | // Attributs LDAP correspondants a ceux de SPIP, notamment pour le login |
| 18 | 18 | // ne pas ecraser une definition perso dans mes_options |
| 19 | 19 | if (!isset($GLOBALS['ldap_attributes']) OR !is_array($GLOBALS['ldap_attributes'])){ |
| 20 | - $GLOBALS['ldap_attributes'] = array( |
|
| 21 | - 'login' => array('sAMAccountName', 'uid', 'login', 'userid', 'cn','sn'), |
|
| 22 | - 'nom' => "cn", |
|
| 23 | - 'email' => "mail", |
|
| 24 | - 'bio' => "description"); |
|
| 20 | + $GLOBALS['ldap_attributes'] = array( |
|
| 21 | + 'login' => array('sAMAccountName', 'uid', 'login', 'userid', 'cn','sn'), |
|
| 22 | + 'nom' => "cn", |
|
| 23 | + 'email' => "mail", |
|
| 24 | + 'bio' => "description"); |
|
| 25 | 25 | } |
| 26 | 26 | |
| 27 | 27 | /** |
@@ -48,42 +48,42 @@ discard block |
||
| 48 | 48 | // http://doc.spip.org/@inc_auth_ldap_dist |
| 49 | 49 | function auth_ldap_dist ($login, $pass, $serveur='', $phpauth=false) { |
| 50 | 50 | |
| 51 | - #spip_log("ldap $login " . ($pass ? "mdp fourni" : "mdp absent")); |
|
| 51 | + #spip_log("ldap $login " . ($pass ? "mdp fourni" : "mdp absent")); |
|
| 52 | 52 | |
| 53 | - // Utilisateur connu ? |
|
| 54 | - // si http auth, inutile de reauthentifier: cela |
|
| 55 | - // ne marchera pas avec auth http autre que basic. |
|
| 56 | - $checkpass = isset($_SERVER["REMOTE_USER"])?false:true; |
|
| 57 | - if (!($dn = auth_ldap_search($login, $pass, $checkpass, $serveur))) return array(); |
|
| 58 | - $credentials_ldap = array('ldap_dn' => $dn, 'ldap_password' => $pass); |
|
| 53 | + // Utilisateur connu ? |
|
| 54 | + // si http auth, inutile de reauthentifier: cela |
|
| 55 | + // ne marchera pas avec auth http autre que basic. |
|
| 56 | + $checkpass = isset($_SERVER["REMOTE_USER"])?false:true; |
|
| 57 | + if (!($dn = auth_ldap_search($login, $pass, $checkpass, $serveur))) return array(); |
|
| 58 | + $credentials_ldap = array('ldap_dn' => $dn, 'ldap_password' => $pass); |
|
| 59 | 59 | |
| 60 | - // Si l'utilisateur figure deja dans la base, y recuperer les infos |
|
| 61 | - $r = sql_fetsel("*", "spip_auteurs", "login=" . sql_quote($login) . " AND source='ldap'",'','','','',$serveur); |
|
| 60 | + // Si l'utilisateur figure deja dans la base, y recuperer les infos |
|
| 61 | + $r = sql_fetsel("*", "spip_auteurs", "login=" . sql_quote($login) . " AND source='ldap'",'','','','',$serveur); |
|
| 62 | 62 | |
| 63 | - if ($r) return array_merge($r, $credentials_ldap); |
|
| 63 | + if ($r) return array_merge($r, $credentials_ldap); |
|
| 64 | 64 | |
| 65 | - // sinon importer les infos depuis LDAP, |
|
| 65 | + // sinon importer les infos depuis LDAP, |
|
| 66 | 66 | |
| 67 | - if ($GLOBALS['meta']["ldap_statut_import"] |
|
| 68 | - AND $desc = auth_ldap_retrouver($dn, array(), $serveur)) { |
|
| 69 | - // rajouter le statut indique a l'install |
|
| 70 | - $desc['statut'] = $GLOBALS['meta']["ldap_statut_import"]; |
|
| 71 | - $desc['login'] = $login; |
|
| 72 | - $desc['source'] = 'ldap'; |
|
| 73 | - $desc['pass'] = ''; |
|
| 67 | + if ($GLOBALS['meta']["ldap_statut_import"] |
|
| 68 | + AND $desc = auth_ldap_retrouver($dn, array(), $serveur)) { |
|
| 69 | + // rajouter le statut indique a l'install |
|
| 70 | + $desc['statut'] = $GLOBALS['meta']["ldap_statut_import"]; |
|
| 71 | + $desc['login'] = $login; |
|
| 72 | + $desc['source'] = 'ldap'; |
|
| 73 | + $desc['pass'] = ''; |
|
| 74 | 74 | |
| 75 | - $r = sql_insertq('spip_auteurs', $desc,'',$serveur); |
|
| 76 | - } |
|
| 75 | + $r = sql_insertq('spip_auteurs', $desc,'',$serveur); |
|
| 76 | + } |
|
| 77 | 77 | |
| 78 | - if ($r) |
|
| 79 | - return array_merge( |
|
| 80 | - $credentials_ldap, |
|
| 81 | - sql_fetsel("*", "spip_auteurs", "id_auteur=".intval($r),'','','','',$serveur) |
|
| 82 | - ); |
|
| 78 | + if ($r) |
|
| 79 | + return array_merge( |
|
| 80 | + $credentials_ldap, |
|
| 81 | + sql_fetsel("*", "spip_auteurs", "id_auteur=".intval($r),'','','','',$serveur) |
|
| 82 | + ); |
|
| 83 | 83 | |
| 84 | - // sinon echec |
|
| 85 | - spip_log("Creation de l'auteur '$login' impossible"); |
|
| 86 | - return array(); |
|
| 84 | + // sinon echec |
|
| 85 | + spip_log("Creation de l'auteur '$login' impossible"); |
|
| 86 | + return array(); |
|
| 87 | 87 | } |
| 88 | 88 | |
| 89 | 89 | /** |
@@ -96,24 +96,24 @@ discard block |
||
| 96 | 96 | * @return string |
| 97 | 97 | */ |
| 98 | 98 | function auth_ldap_connect($serveur='') { |
| 99 | - include_spip('base/connect_sql'); |
|
| 100 | - static $connexions_ldap = array(); |
|
| 101 | - if (isset($connexions_ldap[$serveur])) return $connexions_ldap[$serveur]; |
|
| 102 | - $connexion = spip_connect($serveur); |
|
| 103 | - if (!is_array($connexion['ldap'])) { |
|
| 104 | - if ($connexion['authentification']['ldap']) { |
|
| 105 | - $f = _DIR_CONNECT . $connexion['authentification']['ldap']; |
|
| 106 | - unset($GLOBALS['ldap_link']); |
|
| 107 | - if (is_readable($f)) { include_once($f); }; |
|
| 108 | - if (isset($GLOBALS['ldap_link'])) |
|
| 109 | - $connexion['ldap'] = array('link' => $GLOBALS['ldap_link'], |
|
| 110 | - 'base' => $GLOBALS['ldap_base']); |
|
| 111 | - else spip_log("connection LDAP $serveur mal definie dans $f"); |
|
| 112 | - if (isset($GLOBALS['ldap_champs'])) |
|
| 113 | - $connexion['ldap']['attributes'] = $GLOBALS['ldap_champs']; |
|
| 114 | - } else spip_log("connection LDAP $serveur inconnue"); |
|
| 115 | - } |
|
| 116 | - return $connexions_ldap[$serveur]=$connexion['ldap']; |
|
| 99 | + include_spip('base/connect_sql'); |
|
| 100 | + static $connexions_ldap = array(); |
|
| 101 | + if (isset($connexions_ldap[$serveur])) return $connexions_ldap[$serveur]; |
|
| 102 | + $connexion = spip_connect($serveur); |
|
| 103 | + if (!is_array($connexion['ldap'])) { |
|
| 104 | + if ($connexion['authentification']['ldap']) { |
|
| 105 | + $f = _DIR_CONNECT . $connexion['authentification']['ldap']; |
|
| 106 | + unset($GLOBALS['ldap_link']); |
|
| 107 | + if (is_readable($f)) { include_once($f); }; |
|
| 108 | + if (isset($GLOBALS['ldap_link'])) |
|
| 109 | + $connexion['ldap'] = array('link' => $GLOBALS['ldap_link'], |
|
| 110 | + 'base' => $GLOBALS['ldap_base']); |
|
| 111 | + else spip_log("connection LDAP $serveur mal definie dans $f"); |
|
| 112 | + if (isset($GLOBALS['ldap_champs'])) |
|
| 113 | + $connexion['ldap']['attributes'] = $GLOBALS['ldap_champs']; |
|
| 114 | + } else spip_log("connection LDAP $serveur inconnue"); |
|
| 115 | + } |
|
| 116 | + return $connexions_ldap[$serveur]=$connexion['ldap']; |
|
| 117 | 117 | } |
| 118 | 118 | |
| 119 | 119 | /** |
@@ -127,44 +127,44 @@ discard block |
||
| 127 | 127 | * le login trouve ou chaine vide si non trouve |
| 128 | 128 | */ |
| 129 | 129 | function auth_ldap_search($login, $pass, $checkpass=true, $serveur=''){ |
| 130 | - // Securite anti-injection et contre un serveur LDAP laxiste |
|
| 131 | - $login_search = preg_replace("/[^-@._\s\d\w]/", "", $login); |
|
| 132 | - if (!strlen($login_search) OR ($checkpass AND !strlen($pass)) ) |
|
| 133 | - return ''; |
|
| 134 | - |
|
| 135 | - // verifier la connexion |
|
| 136 | - if (!$ldap = auth_ldap_connect($serveur)) |
|
| 137 | - return ''; |
|
| 138 | - |
|
| 139 | - $ldap_link = isset($ldap['link']) ? $ldap['link'] : null; |
|
| 140 | - $ldap_base = isset($ldap['base']) ? $ldap['base'] : null; |
|
| 141 | - $desc = isset($ldap['attributes']) && $ldap['attributes'] ? $ldap['attributes'] : $GLOBALS['ldap_attributes'] ; |
|
| 142 | - |
|
| 143 | - $logins = is_array($desc['login']) ? $desc['login'] : array($desc['login']); |
|
| 144 | - |
|
| 145 | - // Tenter une recherche pour essayer de retrouver le DN |
|
| 146 | - foreach($logins as $att) { |
|
| 147 | - $result = @ldap_search($ldap_link, $ldap_base, "$att=$login_search", array("dn")); |
|
| 148 | - $info = @ldap_get_entries($ldap_link, $result); |
|
| 149 | - // Ne pas accepter les resultats si plus d'une entree |
|
| 150 | - // (on veut un attribut unique) |
|
| 151 | - |
|
| 152 | - if (is_array($info) AND $info['count'] == 1) { |
|
| 153 | - $dn = $info[0]['dn']; |
|
| 154 | - if (!$checkpass) return $dn; |
|
| 155 | - if (@ldap_bind($ldap_link, $dn, $pass)) return $dn; |
|
| 156 | - } |
|
| 157 | - } |
|
| 158 | - |
|
| 159 | - if ($checkpass AND !isset($dn)) { |
|
| 160 | - // Si echec, essayer de deviner le DN |
|
| 161 | - foreach($logins as $att) { |
|
| 162 | - $dn = "$att=$login_search, $ldap_base"; |
|
| 163 | - if (@ldap_bind($ldap_link, $dn, $pass)) |
|
| 164 | - return "$att=$login_search, $ldap_base"; |
|
| 165 | - } |
|
| 166 | - } |
|
| 167 | - return ''; |
|
| 130 | + // Securite anti-injection et contre un serveur LDAP laxiste |
|
| 131 | + $login_search = preg_replace("/[^-@._\s\d\w]/", "", $login); |
|
| 132 | + if (!strlen($login_search) OR ($checkpass AND !strlen($pass)) ) |
|
| 133 | + return ''; |
|
| 134 | + |
|
| 135 | + // verifier la connexion |
|
| 136 | + if (!$ldap = auth_ldap_connect($serveur)) |
|
| 137 | + return ''; |
|
| 138 | + |
|
| 139 | + $ldap_link = isset($ldap['link']) ? $ldap['link'] : null; |
|
| 140 | + $ldap_base = isset($ldap['base']) ? $ldap['base'] : null; |
|
| 141 | + $desc = isset($ldap['attributes']) && $ldap['attributes'] ? $ldap['attributes'] : $GLOBALS['ldap_attributes'] ; |
|
| 142 | + |
|
| 143 | + $logins = is_array($desc['login']) ? $desc['login'] : array($desc['login']); |
|
| 144 | + |
|
| 145 | + // Tenter une recherche pour essayer de retrouver le DN |
|
| 146 | + foreach($logins as $att) { |
|
| 147 | + $result = @ldap_search($ldap_link, $ldap_base, "$att=$login_search", array("dn")); |
|
| 148 | + $info = @ldap_get_entries($ldap_link, $result); |
|
| 149 | + // Ne pas accepter les resultats si plus d'une entree |
|
| 150 | + // (on veut un attribut unique) |
|
| 151 | + |
|
| 152 | + if (is_array($info) AND $info['count'] == 1) { |
|
| 153 | + $dn = $info[0]['dn']; |
|
| 154 | + if (!$checkpass) return $dn; |
|
| 155 | + if (@ldap_bind($ldap_link, $dn, $pass)) return $dn; |
|
| 156 | + } |
|
| 157 | + } |
|
| 158 | + |
|
| 159 | + if ($checkpass AND !isset($dn)) { |
|
| 160 | + // Si echec, essayer de deviner le DN |
|
| 161 | + foreach($logins as $att) { |
|
| 162 | + $dn = "$att=$login_search, $ldap_base"; |
|
| 163 | + if (@ldap_bind($ldap_link, $dn, $pass)) |
|
| 164 | + return "$att=$login_search, $ldap_base"; |
|
| 165 | + } |
|
| 166 | + } |
|
| 167 | + return ''; |
|
| 168 | 168 | } |
| 169 | 169 | |
| 170 | 170 | /** |
@@ -176,33 +176,33 @@ discard block |
||
| 176 | 176 | */ |
| 177 | 177 | function auth_ldap_retrouver($dn, $desc=array(), $serveur='') |
| 178 | 178 | { |
| 179 | - // Lire les infos sur l'utilisateur a partir de son DN depuis LDAP |
|
| 179 | + // Lire les infos sur l'utilisateur a partir de son DN depuis LDAP |
|
| 180 | 180 | |
| 181 | - if (!$ldap = spip_connect_ldap($serveur)) { |
|
| 182 | - spip_log("ldap $serveur injoignable"); |
|
| 183 | - return array(); |
|
| 184 | - } |
|
| 181 | + if (!$ldap = spip_connect_ldap($serveur)) { |
|
| 182 | + spip_log("ldap $serveur injoignable"); |
|
| 183 | + return array(); |
|
| 184 | + } |
|
| 185 | 185 | |
| 186 | - $ldap_link = $ldap['link']; |
|
| 187 | - if (!$desc) { |
|
| 188 | - $desc = $ldap['attributes'] ? $ldap['attributes'] : $GLOBALS['ldap_attributes'] ; |
|
| 189 | - unset($desc['login']); |
|
| 190 | - } |
|
| 191 | - $result = @ldap_read($ldap_link, $dn, "objectClass=*", array_values($desc)); |
|
| 186 | + $ldap_link = $ldap['link']; |
|
| 187 | + if (!$desc) { |
|
| 188 | + $desc = $ldap['attributes'] ? $ldap['attributes'] : $GLOBALS['ldap_attributes'] ; |
|
| 189 | + unset($desc['login']); |
|
| 190 | + } |
|
| 191 | + $result = @ldap_read($ldap_link, $dn, "objectClass=*", array_values($desc)); |
|
| 192 | 192 | |
| 193 | - if (!$result) return array(); |
|
| 193 | + if (!$result) return array(); |
|
| 194 | 194 | |
| 195 | - // Recuperer les donnees du premier (unique?) compte de l'auteur |
|
| 196 | - $val = @ldap_get_entries($ldap_link, $result); |
|
| 197 | - if (!is_array($val) OR !is_array($val[0])) return array(); |
|
| 198 | - $val = $val[0]; |
|
| 195 | + // Recuperer les donnees du premier (unique?) compte de l'auteur |
|
| 196 | + $val = @ldap_get_entries($ldap_link, $result); |
|
| 197 | + if (!is_array($val) OR !is_array($val[0])) return array(); |
|
| 198 | + $val = $val[0]; |
|
| 199 | 199 | |
| 200 | - // Convertir depuis UTF-8 (jeu de caracteres par defaut) |
|
| 201 | - include_spip('inc/charsets'); |
|
| 200 | + // Convertir depuis UTF-8 (jeu de caracteres par defaut) |
|
| 201 | + include_spip('inc/charsets'); |
|
| 202 | 202 | |
| 203 | - foreach ($desc as $k => $v) |
|
| 204 | - $desc[$k] = importer_charset($val[strtolower($v)][0], 'utf-8'); |
|
| 205 | - return $desc; |
|
| 203 | + foreach ($desc as $k => $v) |
|
| 204 | + $desc[$k] = importer_charset($val[strtolower($v)][0], 'utf-8'); |
|
| 205 | + return $desc; |
|
| 206 | 206 | } |
| 207 | 207 | |
| 208 | 208 | |
@@ -215,7 +215,7 @@ discard block |
||
| 215 | 215 | */ |
| 216 | 216 | function auth_ldap_retrouver_login($login, $serveur='') |
| 217 | 217 | { |
| 218 | - return auth_ldap_search($login, '', false, $serveur) ? $login : ''; |
|
| 218 | + return auth_ldap_search($login, '', false, $serveur) ? $login : ''; |
|
| 219 | 219 | } |
| 220 | 220 | |
| 221 | 221 | /** |
@@ -274,7 +274,7 @@ discard block |
||
| 274 | 274 | return false; |
| 275 | 275 | } |
| 276 | 276 | if (!$ldap = auth_ldap_connect($serveur)) |
| 277 | - return ''; |
|
| 277 | + return ''; |
|
| 278 | 278 | $link = $ldap['link']; |
| 279 | 279 | include_spip("inc/session"); |
| 280 | 280 | $dn = session_get('ldap_dn'); |
@@ -282,7 +282,7 @@ discard block |
||
| 282 | 282 | return false; |
| 283 | 283 | } |
| 284 | 284 | if (!ldap_bind($link, $dn, session_get('ldap_password'))) { |
| 285 | - return false; |
|
| 285 | + return false; |
|
| 286 | 286 | } |
| 287 | 287 | $encoded_pass = "{MD5}".base64_encode(pack("H*",md5($new_pass))); |
| 288 | 288 | $success = ldap_mod_replace($link, $dn, array('userPassword' => $encoded_pass)); |