diff --git a/.gitattributes b/.gitattributes index 0e38cd036bb3de34cef237dabe6862aeee53b495..9007145b63f462747fa5ba949068efc4a3e86aab 100644 --- a/.gitattributes +++ b/.gitattributes @@ -698,6 +698,7 @@ ecrire/maj/v016.php -text ecrire/maj/v017.php -text ecrire/maj/v018.php -text ecrire/maj/v019.php -text +ecrire/maj/v019_pre193.php -text ecrire/prive.php -text ecrire/public/index.php -text ecrire/rien.gif -text diff --git a/ecrire/base/upgrade.php b/ecrire/base/upgrade.php index 6e0e3f28f70d04df0823dc664707847b85ccd383..f8a4faa2c96440a411e0f11c02d4fa9f7c11e027 100644 --- a/ecrire/base/upgrade.php +++ b/ecrire/base/upgrade.php @@ -66,12 +66,10 @@ function maj_base($version_cible = 0) { } } -// A partir de la version 1.945, le while ci-dessus aboutit ici. +// A partir des > 1.926 (i.e SPIP 1.9.2), le while ci-dessus aboutit ici. // Se relancer soi-meme pour eviter l'interruption pendant une operation SQL -// (qu'on espere pas trop longue chacune). -// Ne pas perdre son temps a creer le fichier des meta, -// le debut de exec/upgrade le refabrique pour etre certains de repartir -// au point de relance. +// (qu'on espere pas trop longue chacune) +// evidemment en ecrivant dans la meta a quel numero on en est. define('_UPGRADE_TIME_OUT', 20); diff --git a/ecrire/maj/v019.php b/ecrire/maj/v019.php index 2736b75d4ea00b88276119d8080e9ea714261217..c3837e303cd71675389204aa0fd52593110d71bd 100644 --- a/ecrire/maj/v019.php +++ b/ecrire/maj/v019.php @@ -14,324 +14,55 @@ if (!defined("_ECRIRE_INC_VERSION")) return; function maj_v019_dist($version_installee, $version_cible) { - // Syndication : ajout de l'option resume=oui/non et de la langue - if (upgrade_vers(1.901, $version_installee, $version_cible)) { - spip_query("ALTER TABLE spip_syndic ADD `resume` VARCHAR(3) DEFAULT 'oui'"); - spip_query("ALTER TABLE spip_syndic_articles ADD `lang` VARCHAR(10) DEFAULT '' NOT NULL"); - maj_version(1.901); - } - - // Syndication : ajout de source, url_source, tags - if (upgrade_vers(1.902, $version_installee, $version_cible)) { - spip_query("ALTER TABLE spip_syndic_articles ADD `url_source` TINYTEXT DEFAULT '' NOT NULL"); - spip_query("ALTER TABLE spip_syndic_articles ADD `source` TINYTEXT DEFAULT '' NOT NULL"); - spip_query("ALTER TABLE spip_syndic_articles ADD `tags` TEXT DEFAULT '' NOT NULL"); - maj_version(1.902); - } - - // URLs propres des sites (sait-on jamais) - // + oubli des KEY url_propre sur les auteurs si installation neuve - if (upgrade_vers(1.903, $version_installee, $version_cible)) { - spip_query("ALTER TABLE spip_syndic ADD `url_propre` VARCHAR(255) NOT NULL"); - spip_query("ALTER TABLE spip_syndic ADD INDEX `url_propre` (`url_propre`)"); - spip_query("ALTER TABLE spip_auteurs ADD INDEX `url_propre` (`url_propre`)"); - maj_version(1.903); - } - - // suppression des anciennes tables temporaires des visites - // (maintenant stockees sous forme de fichiers) - if (upgrade_vers(1.904, $version_installee, $version_cible)) { - spip_query("DROP TABLE IF EXISTS spip_visites_temp"); - spip_query("DROP TABLE IF EXISTS spip_referers_temp"); - maj_version(1.904); - } - - // fusion des 10 tables index en une seule - // pour fonctions futures evoluees du moteur de recherche - if (upgrade_vers(1.905, $version_installee, $version_cible)) { - // agrandir le champ "valeur" de spip_meta pour pouvoir y stocker - // des choses plus sympa - spip_query("ALTER TABLE spip_meta CHANGE `valeur` `valeur` TEXT"); - // table des correspondances table->id_table - $liste_tables = array(); - $liste_tables[1]='spip_articles'; - $liste_tables[2]='spip_auteurs'; - $liste_tables[3]='spip_breves'; - $liste_tables[4]='spip_documents'; - $liste_tables[5]='spip_forum'; - $liste_tables[6]='spip_mots'; - $liste_tables[7]='spip_rubriques'; - $liste_tables[8]='spip_signatures'; - $liste_tables[9]='spip_syndic'; - - ecrire_meta('index_table', serialize($liste_tables)); - - spip_query("INSERT INTO spip_index (`hash`,`points`,`id_objet`,`id_table`) SELECT `hash`,`points`,`id_article` as id_objet,'1' as id_table FROM spip_index_articles"); - spip_query("DROP TABLE IF EXISTS spip_index_articles"); - - spip_query("INSERT INTO spip_index (`hash`,`points`,`id_objet`,`id_table`) SELECT `hash`,`points`,`id_auteur` as id_objet,'2' as id_table FROM spip_index_auteurs"); - spip_query("DROP TABLE IF EXISTS spip_index_auteurs"); - - spip_query("INSERT INTO spip_index (`hash`,`points`,`id_objet`,`id_table`) SELECT `hash`,`points`,`id_breve` as id_objet,'3' as id_table FROM spip_index_breves"); - spip_query("DROP TABLE IF EXISTS spip_index_breves"); - - spip_query("INSERT INTO spip_index (`hash`,`points`,`id_objet`,`id_table`) SELECT `hash`,`points`,`id_document` as id_objet,'4' as id_table FROM spip_index_documents"); - spip_query("DROP TABLE IF EXISTS spip_index_documents"); - - spip_query("INSERT INTO spip_index (`hash`,`points`,`id_objet`,`id_table`) SELECT `hash`,`points`,`id_forum` as id_objet,'5' as id_table FROM spip_index_forum"); - spip_query("DROP TABLE IF EXISTS spip_index_forum"); - - spip_query("INSERT INTO spip_index (`hash`,`points`,`id_objet`,`id_table`) SELECT `hash`,`points`,`id_mot` as id_objet,'6' as id_table FROM spip_index_mots"); - spip_query("DROP TABLE IF EXISTS spip_index_mots"); - - spip_query("INSERT INTO spip_index (`hash`,`points`,`id_objet`,`id_table`) SELECT `hash`,`points`,`id_rubrique` as id_objet,'7' as id_table FROM spip_index_rubriques"); - spip_query("DROP TABLE IF EXISTS spip_index_rubriques"); - - spip_query("INSERT INTO spip_index (`hash`,`points`,`id_objet`,`id_table`) SELECT `hash`,`points`,`id_signature` as id_objet,'8' as id_table FROM spip_index_signatures"); - spip_query("DROP TABLE IF EXISTS spip_index_signatures"); - - 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"); - spip_query("DROP TABLE IF EXISTS spip_index_syndic"); - - maj_version(1.905); - } - - - // cette table est desormais geree par le plugin "podcast_client", on la - // supprime si le plugin n'est pas active ; risque inherent a l'utilisation - // de versions alpha :-) - if (upgrade_vers(1.906, $version_installee, $version_cible)) { - if (!@in_array('podcast_client', $GLOBALS['plugins'])) { - spip_query("DROP TABLE spip_documents_syndic"); - } - maj_version(1.906); - } - if (upgrade_vers(1.907, $version_installee, $version_cible)) { - spip_query("ALTER TABLE spip_forum ADD INDEX `idx` (`idx`)"); - maj_version(1.907); - } - // Oups ! on stockait les tags de syndication sous la forme rel="category" - // au lieu de rel="directory" - http://microformats.org/wiki/rel-directory - if (upgrade_vers(1.908, $version_installee, $version_cible)) { - spip_query("UPDATE spip_syndic_articles SET `tags` = REPLACE(`tags`, 'rel=\"category\">', 'rel=\"directory\">') WHERE `tags` like '%category%'"); - maj_version(1.908); - } - if (upgrade_vers(1.909, $version_installee, $version_cible)) { - spip_query("ALTER IGNORE TABLE spip_mots_articles ADD PRIMARY KEY (`id_article`, `id_mot`)"); - spip_query("ALTER IGNORE TABLE spip_mots_breves ADD PRIMARY KEY (`id_breve`, `id_mot`)"); - spip_query("ALTER IGNORE TABLE spip_mots_rubriques ADD PRIMARY KEY (`id_rubrique`, `id_mot`)"); - spip_query("ALTER IGNORE TABLE spip_mots_syndic ADD PRIMARY KEY (`id_syndic`, `id_mot`)"); - spip_query("ALTER IGNORE TABLE spip_mots_documents ADD PRIMARY KEY (`id_document`, `id_mot`)"); - spip_query("ALTER IGNORE TABLE spip_mots_forum ADD PRIMARY KEY (`id_forum`, `id_mot`)"); - maj_version(1.909); - } - - if (upgrade_vers(1.910, $version_installee, $version_cible)) { - spip_query("ALTER IGNORE TABLE spip_auteurs_articles ADD PRIMARY KEY (`id_auteur`, `id_article`)"); - spip_query("ALTER IGNORE TABLE spip_auteurs_rubriques ADD PRIMARY KEY (`id_auteur`, `id_rubrique`)"); - spip_query("ALTER IGNORE TABLE spip_auteurs_messages ADD PRIMARY KEY (`id_auteur`, `id_message`)"); - maj_version(1.910); - } - - if (upgrade_vers(1.911, $version_installee, $version_cible)) { - - spip_query("ALTER IGNORE TABLE spip_auteurs_articles DROP INDEX `id_auteur`"); - spip_query("ALTER IGNORE TABLE spip_auteurs_rubriques DROP INDEX `id_auteur`"); - spip_query("ALTER IGNORE TABLE spip_auteurs_messages DROP INDEX `id_auteur`"); - spip_query("ALTER IGNORE TABLE spip_mots_articles DROP INDEX `id_article`"); - spip_query("ALTER IGNORE TABLE spip_mots_breves DROP INDEX `id_breve`"); - spip_query("ALTER IGNORE TABLE spip_mots_rubriques DROP INDEX `id_rubrique`"); - spip_query("ALTER IGNORE TABLE spip_mots_syndic DROP INDEX `id_syndic`"); - spip_query("ALTER IGNORE TABLE spip_mots_forum DROP INDEX `id_forum`"); - spip_query("ALTER IGNORE TABLE spip_mots_documents DROP INDEX `id_document`"); -# 18 juillet 2007: table depreciee -# spip_query("ALTER IGNORE TABLE spip_caches DROP INDEX fichier"); - maj_version(1.911); - } - - // Le logo du site n'est plus le logo par defaut des rubriques - // mais pour assurer la compatibilite ascendante, on le duplique - if (upgrade_vers(1.912, $version_installee, $version_cible)) { - @copy(_DIR_LOGOS.'rubon0.gif', _DIR_LOGOS.'siteon0.gif'); - @copy(_DIR_LOGOS.'ruboff0.gif', _DIR_LOGOS.'siteoff0.gif'); - @copy(_DIR_LOGOS.'rubon0.jpg', _DIR_LOGOS.'siteon0.jpg'); - @copy(_DIR_LOGOS.'ruboff0.jpg', _DIR_LOGOS.'siteoff0.jpg'); - @copy(_DIR_LOGOS.'rubon0.png', _DIR_LOGOS.'siteon0.png'); - @copy(_DIR_LOGOS.'ruboff0.png', _DIR_LOGOS.'siteoff0.png'); - maj_version(1.912); - } - - // suppression de auteur_modif qui n'est plus utilise nulle part - if (upgrade_vers(1.913, $version_installee, $version_cible)) { - spip_query("ALTER TABLE spip_articles DROP `auteur_modif`"); - maj_version(1.913); - } - - // Ajout de SVG - if (upgrade_vers(1.914, $version_installee, $version_cible)) { - spip_query("INSERT IGNORE INTO spip_types_documents (`extension`, `titre`, `inclus`) VALUES ('svg', 'Scalable Vector Graphics', 'embed')"); - spip_query("UPDATE spip_types_documents SET `mime_type`='image/svg+xml' WHERE `extension`='svg'"); - maj_version(1.914); - } - - // Ajout de plein de type mime - if (upgrade_vers(1.915, $version_installee, $version_cible)) { - maj_version(1.915); - } - // refaire l'upgrade 1.905 qui a pu foirer en partie a cause de la requete ALTER sur spip_meta - if (upgrade_vers(1.916, $version_installee, $version_cible)) { - // agrandir le champ "valeur" de spip_meta pour pouvoir y stocker - // des choses plus sympa - spip_query("ALTER TABLE spip_meta CHANGE `valeur` `valeur` TEXT"); -#8/08/07 plus d'indexation dans le core - //include_spip('inc/indexation'); - //update_index_tables(); - maj_version(1.916); - } - if (upgrade_vers(1.917, $version_installee, $version_cible)) { - spip_query("ALTER TABLE spip_documents DROP `inclus`"); - maj_version(1.917); - } - - // Permettre d'enregistrer un numero IP dans les revisions d'articles - // a la place de l'id_auteur - if (upgrade_vers(1.918, $version_installee, $version_cible)) { - spip_query("ALTER TABLE spip_versions CHANGE `id_auteur` `id_auteur` VARCHAR(23)"); - maj_version(1.918); - } - - if (upgrade_vers(1.919, $version_installee, $version_cible)) { - spip_query("ALTER TABLE spip_ajax_fonc DROP `id_auteur`"); - maj_version('1.919'); - } - - if (upgrade_vers(1.920, $version_installee, $version_cible)) { - spip_query("ALTER IGNORE TABLE spip_documents_articles ADD PRIMARY KEY (`id_article`, `id_document`)"); - spip_query("ALTER IGNORE TABLE spip_documents_breves ADD PRIMARY KEY (`id_breve`, `id_document`)"); - spip_query("ALTER IGNORE TABLE spip_documents_rubriques ADD PRIMARY KEY (`id_rubrique`, `id_document`)"); - spip_query("ALTER IGNORE TABLE spip_documents_articles DROP INDEX `id_article`"); - spip_query("ALTER IGNORE TABLE spip_documents_breves DROP INDEX `id_breve`"); - spip_query("ALTER IGNORE TABLE spip_documents_rubriques DROP INDEX `id_rubrique`"); - maj_version('1.920'); - } - if (upgrade_vers(1.922, $version_installee, $version_cible)) { - spip_query("ALTER TABLE spip_meta ADD `impt` ENUM('non', 'oui') DEFAULT 'oui' NOT NULL AFTER `valeur`"); - $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', - 'netpbm_formats','formats_graphiques','image_process','plugin_header','plugin'); - foreach($meta_serveur as $nom) - spip_query("UPDATE spip_meta SET `impt`='non' WHERE `nom`="._q($nom)); - maj_version('1.922'); - } - if (upgrade_vers(1.923, $version_installee, $version_cible)) { - if (isset($GLOBALS['meta']['IMPORT_tables_noimport'])){ - $IMPORT_tables_noimport = unserialize($GLOBALS['meta']['IMPORT_tables_noimport']); - foreach ($IMPORT_tables_noimport as $key=>$table) - if ($table=='spip_meta') unset($IMPORT_tables_noimport[$key]); - ecrire_meta('IMPORT_tables_noimport',serialize($IMPORT_tables_noimport),'non'); - } - maj_version('1.923'); + if (1.926 >= $version_installee) { + include_spip('maj/v019_pre193'); + v019_pre193($version_installee, $version_cible); } + maj_while($version_installee, $version_cible); +} - if (upgrade_vers(1.924, $version_installee, $version_cible)) { - spip_query('DROP TABLE spip_ajax_fonc'); - maj_version('1.924'); - } +// Cas particulier introduit en http://trac.rezo.net/trac/spip/changeset/10335 +function maj_v019_38() +{ + sql_alter("TABLE spip_urls CHANGE `maj` date DATETIME DEFAULT '0000-00-00 00:00:00' NOT NULL"); +} - if (upgrade_vers(1.925, $version_installee, $version_cible)) { - include_spip('inc/flock'); - /* deplacement des sessions */ - $f_session = preg_files('data', 'session_'); - $repertoire = _DIR_SESSIONS; - if(!@file_exists($repertoire)) { - $repertoire = preg_replace(','._DIR_TMP.',', '', $repertoire); - $repertoire = sous_repertoire(_DIR_TMP, $repertoire); - } - foreach($f_session as $f) { - $d = basename($f); - @copy($f, $repertoire.$d); - } - /* deplacement des visites */ - $f_visites = preg_files('data/visites'); - $repertoire = sous_repertoire(_DIR_TMP, 'visites'); - foreach($f_visites as $f) { - $d = basename($f); - @copy($f, $repertoire.$d); - } - /* deplacement des upload */ - $auteurs = array(); - $req = spip_query("SELECT `login` FROM spip_auteurs WHERE `statut` = '0minirezo'"); - while($row = sql_fetch($req)) - $auteurs[] = $row['login']; - $f_upload = preg_files('upload', -1, 10000, $auteurs); - $repertoire = _DIR_TRANSFERT; - if(!@file_exists($repertoire)) { - $repertoire = preg_replace(','._DIR_TMP.',', '', $repertoire); - $repertoire = sous_repertoire(_DIR_TMP, $repertoire); - } - foreach($auteurs as $login) { - if(is_dir('upload/'.$login)) - $sous_repertoire = sous_repertoire(_DIR_TRANSFERT, $login); - } - foreach($f_upload as $f) { - @copy($f, _DIR_TMP.$f); - } - /* deplacement des dumps */ - $f_session = preg_files('data', 'dump'); - $repertoire = _DIR_DUMP; - if(!@file_exists($repertoire)) { - $repertoire = preg_replace(','._DIR_TMP.',', '', $repertoire); - $repertoire = sous_repertoire(_DIR_TMP, $repertoire); - } - foreach($f_session as $f) { - $d = basename($f); - @copy($f, $repertoire.$d); - } - maj_version('1.925'); - } - // Ajout de MP4 - if (upgrade_vers(1.926, $version_installee, $version_cible)) { - spip_query("INSERT IGNORE INTO spip_types_documents (`extension`, `titre`, `inclus`) VALUES ('mp4', 'MPEG4', 'embed')"); - spip_query("UPDATE spip_types_documents SET `mime_type`='application/mp4' WHERE `extension`='mp4'"); - maj_version('1.926'); - } +/*--------------------------------------------------------------------- */ +/* Nouvelle gestion des MAJ */ +/* ca coincide avec l'état de la 1.9.2, mais c'est un peu retroactif */ +/*--------------------------------------------------------------------- */ // FLV est embeddable, l'upgrade precedent l'avait oublie - if (upgrade_vers(1.931, $version_installee, $version_cible)) { - spip_query("UPDATE spip_types_documents SET `inclus`='embed' WHERE `extension`='flv'"); - maj_version('1.931'); - } +function maj_1_931 () { + spip_query("UPDATE spip_types_documents SET `inclus`='embed' WHERE `extension`='flv'"); +} // Ajout de spip_forum.date_thread, et on essaie de le remplir // a coup de table temporaire (est-ce autorise partout... sinon // tant pis, ca ne marchera que pour les forums recemment modifies) - if (upgrade_vers(1.932, $version_installee, $version_cible)) { - spip_query("ALTER TABLE spip_forum ADD `date_thread` datetime DEFAULT '0000-00-00 00:00:00' NOT NULL"); - spip_query("ALTER TABLE spip_forum ADD INDEX `date_thread` (`date_thread`)"); +function maj_1_932 () { + sql_alter("TABLE spip_forum ADD `date_thread` datetime DEFAULT '0000-00-00 00:00:00' NOT NULL"); + sql_alter("TABLE spip_forum ADD INDEX `date_thread` (`date_thread`)"); + + spip_query("DROP TABLE IF EXISTS spip_tmp"); + spip_query("CREATE TEMPORARY TABLE spip_tmp SELECT `id_thread`,MAX(`date_heure`) AS dt FROM spip_forum GROUP BY `id_thread`"); + sql_alter("TABLE spip_tmp ADD INDEX `p` (`id_thread`)"); + spip_query("UPDATE spip_forum AS F JOIN spip_tmp AS T ON F.id_thread=T.id_thread SET F.date_thread=T.dt"); + spip_query("DROP TABLE spip_tmp"); +} - spip_query("DROP TABLE IF EXISTS spip_tmp"); - spip_query("CREATE TEMPORARY TABLE spip_tmp SELECT `id_thread`,MAX(`date_heure`) AS dt FROM spip_forum GROUP BY `id_thread`"); - spip_query("ALTER TABLE spip_tmp ADD INDEX `p` (`id_thread`)"); - spip_query("UPDATE spip_forum AS F JOIN spip_tmp AS T ON F.id_thread=T.id_thread SET F.date_thread=T.dt"); - spip_query("DROP TABLE spip_tmp"); - maj_version('1.932'); - } - if (upgrade_vers(1.933, $version_installee, $version_cible)) { - // on ne fait que reecrire le numero de version installee en metant explicitement impt a 'non' - maj_version('1.933'); - } - - // Retrait de _DIR_IMG dans le champ fichier de la table des doc - if (upgrade_vers(1.934, $version_installee, $version_cible)) { +// Retrait de _DIR_IMG dans le champ fichier de la table des doc +function maj_1_934 () { $dir_img = substr(_DIR_IMG,strlen(_DIR_RACINE)); $n = strlen($dir_img) + 1; spip_query("UPDATE spip_documents SET `fichier`=substring(fichier,$n) WHERE `fichier` LIKE " . _q($dir_img . '%')); - maj_version('1.934'); - } - if (upgrade_vers(1.935, $version_installee, $version_cible)) { - spip_query("ALTER TABLE spip_documents_articles ADD `vu` ENUM('non', 'oui') DEFAULT 'non' NOT NULL"); - spip_query("ALTER TABLE spip_documents_rubriques ADD `vu` ENUM('non', 'oui') DEFAULT 'non' NOT NULL"); - spip_query("ALTER TABLE spip_documents_breves ADD `vu` ENUM('non', 'oui') DEFAULT 'non' NOT NULL"); +} + +function maj_1_935 () { + sql_alter("TABLE spip_documents_articles ADD `vu` ENUM('non', 'oui') DEFAULT 'non' NOT NULL"); + sql_alter("TABLE spip_documents_rubriques ADD `vu` ENUM('non', 'oui') DEFAULT 'non' NOT NULL"); + sql_alter("TABLE spip_documents_breves ADD `vu` ENUM('non', 'oui') DEFAULT 'non' NOT NULL"); include_spip('inc/texte'); foreach(array('article'=>'id_article','rubrique'=>'id_rubrique','breve'=>'id_breve') as $type => $id_table_objet){ $table_objet = "$type"."s"; @@ -347,58 +78,56 @@ function maj_v019_dist($version_installee, $version_cible) } } } - maj_version('1.935'); - } +} - if (upgrade_vers(1.937, $version_installee, $version_cible)) { +function maj_1_937 () { // convertir les champs blob des tables spip en champs texte - convertir_un_champ_blob_en_text("spip_articles","texte","LONGTEXT"); - convertir_un_champ_blob_en_text("spip_articles","extra","LONGTEXT"); - convertir_un_champ_blob_en_text("spip_auteurs","extra","LONGTEXT"); - convertir_un_champ_blob_en_text("spip_breves","texte","LONGTEXT"); - convertir_un_champ_blob_en_text("spip_breves","extra","LONGTEXT"); - convertir_un_champ_blob_en_text("spip_messages","texte","LONGTEXT"); - convertir_un_champ_blob_en_text("spip_mots","texte","LONGTEXT"); - convertir_un_champ_blob_en_text("spip_mots","extra","LONGTEXT"); - convertir_un_champ_blob_en_text("spip_groupes_mots","texte","LONGTEXT"); - convertir_un_champ_blob_en_text("spip_rubriques","texte","LONGTEXT"); - convertir_un_champ_blob_en_text("spip_rubriques","extra","LONGTEXT"); - convertir_un_champ_blob_en_text("spip_syndic","nom_site","LONGTEXT"); - convertir_un_champ_blob_en_text("spip_syndic","descriptif","TEXT"); - convertir_un_champ_blob_en_text("spip_syndic","extra","LONGTEXT"); - convertir_un_champ_blob_en_text("spip_syndic_articles","descriptif","LONGTEXT"); - convertir_un_champ_blob_en_text("spip_petitions","texte","LONGTEXT"); - convertir_un_champ_blob_en_text("spip_ortho_cache","suggest","TEXT"); - maj_version('1.938'); - } + convertir_un_champ_blob_en_text("spip_articles","texte","LONGTEXT"); + convertir_un_champ_blob_en_text("spip_articles","extra","LONGTEXT"); + convertir_un_champ_blob_en_text("spip_auteurs","extra","LONGTEXT"); + convertir_un_champ_blob_en_text("spip_breves","texte","LONGTEXT"); + convertir_un_champ_blob_en_text("spip_breves","extra","LONGTEXT"); + convertir_un_champ_blob_en_text("spip_messages","texte","LONGTEXT"); + convertir_un_champ_blob_en_text("spip_mots","texte","LONGTEXT"); + convertir_un_champ_blob_en_text("spip_mots","extra","LONGTEXT"); + convertir_un_champ_blob_en_text("spip_groupes_mots","texte","LONGTEXT"); + convertir_un_champ_blob_en_text("spip_rubriques","texte","LONGTEXT"); + convertir_un_champ_blob_en_text("spip_rubriques","extra","LONGTEXT"); + convertir_un_champ_blob_en_text("spip_syndic","nom_site","LONGTEXT"); + convertir_un_champ_blob_en_text("spip_syndic","descriptif","TEXT"); + convertir_un_champ_blob_en_text("spip_syndic","extra","LONGTEXT"); + convertir_un_champ_blob_en_text("spip_syndic_articles","descriptif","LONGTEXT"); + convertir_un_champ_blob_en_text("spip_petitions","texte","LONGTEXT"); + convertir_un_champ_blob_en_text("spip_ortho_cache","suggest","TEXT"); +} + - if (upgrade_vers(1.938, $version_installee, $version_cible)) { - // Des champs NULL a l'installation - // Ajouter un champ extension aux spip_documents, et le - // remplir avec les valeurs ad hoc - spip_query("ALTER TABLE spip_documents ADD `extension` VARCHAR(10) NOT NULL DEFAULT ''"); - spip_query("ALTER TABLE spip_documents ADD INDEX `extension` (`extension`)"); +function maj_1_938 () { + // Des champs NULL a l'installation + // Ajouter un champ extension aux spip_documents, et le + // remplir avec les valeurs ad hoc + sql_alter("TABLE spip_documents ADD `extension` VARCHAR(10) NOT NULL DEFAULT ''"); + sql_alter("TABLE spip_documents ADD INDEX `extension` (`extension`)"); $s = spip_query("SELECT `id_type`,`extension` FROM spip_types_documents"); while ($t = sql_fetch($s)) { spip_query("UPDATE spip_documents SET `extension`="._q($t['extension']) ." WHERE `id_type`="._q($t['id_type'])); } - spip_query("ALTER TABLE spip_documents DROP INDEX `id_type`, DROP `id_type`"); + sql_alter("TABLE spip_documents DROP INDEX `id_type`, DROP `id_type`"); ## supprimer l'autoincrement avant de supprimer la PRIMARY KEY - spip_query("ALTER TABLE spip_types_documents CHANGE `id_type` `id_type` BIGINT( 21 ) NOT NULL "); - spip_query("ALTER TABLE spip_types_documents DROP PRIMARY KEY"); + sql_alter("TABLE spip_types_documents CHANGE `id_type` `id_type` BIGINT( 21 ) NOT NULL "); + sql_alter("TABLE spip_types_documents DROP PRIMARY KEY"); - spip_query("ALTER TABLE spip_types_documents DROP `id_type`"); - spip_query("ALTER TABLE spip_types_documents DROP INDEX `extension`"); + sql_alter("TABLE spip_types_documents DROP `id_type`"); + sql_alter("TABLE spip_types_documents DROP INDEX `extension`"); ## recreer la PRIMARY KEY sur spip_types_documents.extension - spip_query("ALTER TABLE spip_types_documents ADD PRIMARY KEY (`extension`)"); - maj_version('1.938'); - } + sql_alter("TABLE spip_types_documents ADD PRIMARY KEY (`extension`)"); +} - if (upgrade_vers(1.939, $version_installee, $version_cible)) { - serie_alter('1939', +function maj_1_939 () { + serie_alter('1939', array( "TABLE spip_visites CHANGE `visites` `visites` INT UNSIGNED DEFAULT '0' NOT NULL", "TABLE spip_visites_articles CHANGE `visites` `visites` INT UNSIGNED DEFAULT '0' NOT NULL", @@ -407,62 +136,50 @@ function maj_v019_dist($version_installee, $version_cible) "TABLE spip_referers CHANGE `visites_veille` `visites_veille` INT UNSIGNED DEFAULT '0' NOT NULL", "TABLE spip_referers_articles CHANGE `visites` `visites` INT UNSIGNED DEFAULT '0' NOT NULL" )); - } +} - if (upgrade_vers(1.940, $version_installee, $version_cible)) { - spip_query("DROP TABLE spip_caches"); - maj_version('1.940'); - } +function maj_1_940 ($version_installee, $version_cible) { + spip_query("DROP TABLE spip_caches"); +} - if (upgrade_vers(1.941, $version_installee, $version_cible)) { - spip_query("UPDATE spip_meta SET `valeur` = '' WHERE `nom`='preview' AND `valeur`='non' "); - spip_query("UPDATE spip_meta SET `valeur` = ',0minirezo,1comite,' WHERE `nom`='preview' AND `valeur`='1comite' "); - spip_query("UPDATE spip_meta SET `valeur` = ',0minirezo,' WHERE `nom`='preview' AND `valeur`='oui' "); - maj_version('1.941'); - } - if (upgrade_vers(1.942, $version_installee, $version_cible)) { - spip_query("ALTER TABLE spip_auteurs CHANGE `statut` `statut` varchar(255) DEFAULT '0' NOT NULL"); - spip_query("ALTER TABLE spip_breves CHANGE `statut` `statut` varchar(6) DEFAULT '0' NOT NULL"); - spip_query("ALTER TABLE spip_messages CHANGE `statut` `statut` varchar(6) DEFAULT '0' NOT NULL"); - spip_query("ALTER TABLE spip_rubriques CHANGE `statut` `statut` varchar(10) DEFAULT '0' NOT NULL"); - spip_query("ALTER TABLE spip_rubriques CHANGE `statut_tmp` `statut_tmp` varchar(10) DEFAULT '0' NOT NULL"); - spip_query("ALTER TABLE spip_syndic CHANGE `statut` `statut` varchar(10) DEFAULT '0' NOT NULL"); - spip_query("ALTER TABLE spip_syndic_articles CHANGE `statut` `statut` varchar(10) DEFAULT '0' NOT NULL"); - spip_query("ALTER TABLE spip_forum CHANGE `statut` `statut` varchar(8) DEFAULT '0' NOT NULL"); - spip_query("ALTER TABLE spip_signatures CHANGE `statut` `statut` varchar(10) DEFAULT '0' NOT NULL"); - maj_version('1.942'); - } +function maj_1_941 () { + spip_query("UPDATE spip_meta SET `valeur` = '' WHERE `nom`='preview' AND `valeur`='non' "); + spip_query("UPDATE spip_meta SET `valeur` = ',0minirezo,1comite,' WHERE `nom`='preview' AND `valeur`='1comite' "); + spip_query("UPDATE spip_meta SET `valeur` = ',0minirezo,' WHERE `nom`='preview' AND `valeur`='oui' "); +} + +function maj_1_942 () { + sql_alter("TABLE spip_auteurs CHANGE `statut` `statut` varchar(255) DEFAULT '0' NOT NULL"); + sql_alter("TABLE spip_breves CHANGE `statut` `statut` varchar(6) DEFAULT '0' NOT NULL"); + sql_alter("TABLE spip_messages CHANGE `statut` `statut` varchar(6) DEFAULT '0' NOT NULL"); + sql_alter("TABLE spip_rubriques CHANGE `statut` `statut` varchar(10) DEFAULT '0' NOT NULL"); + sql_alter("TABLE spip_rubriques CHANGE `statut_tmp` `statut_tmp` varchar(10) DEFAULT '0' NOT NULL"); + sql_alter("TABLE spip_syndic CHANGE `statut` `statut` varchar(10) DEFAULT '0' NOT NULL"); + sql_alter("TABLE spip_syndic_articles CHANGE `statut` `statut` varchar(10) DEFAULT '0' NOT NULL"); + sql_alter("TABLE spip_forum CHANGE `statut` `statut` varchar(8) DEFAULT '0' NOT NULL"); + sql_alter("TABLE spip_signatures CHANGE `statut` `statut` varchar(10) DEFAULT '0' NOT NULL"); +} + // suppression de l'indexation dans la version standard - if (upgrade_vers(1.943, $version_installee, $version_cible)) { - foreach(array( +function maj_1_943 () { + foreach(array( 'articles', 'auteurs', 'breves', 'mots', 'rubriques', 'documents', 'syndic', 'forum', 'signatures' ) as $type) { - spip_query("ALTER TABLE spip_$type DROP KEY `idx`"); - spip_query("ALTER TABLE spip_$type DROP `idx`"); + sql_alter("TABLE spip_$type DROP KEY `idx`"); + sql_alter("TABLE spip_$type DROP `idx`"); } - spip_query("DROP TABLE spip_index"); - spip_query("DROP TABLE spip_index_dico"); - maj_version('1.943'); - } - if (upgrade_vers(1.944, $version_installee, $version_cible)) { - spip_query("ALTER TABLE spip_documents CHANGE `taille` `taille` integer"); - spip_query("ALTER TABLE spip_documents CHANGE `largeur` `largeur` integer"); - spip_query("ALTER TABLE spip_documents CHANGE `hauteur` `hauteur` integer"); - maj_version('1.944'); - } - maj_while($version_installee, $version_cible); + spip_query("DROP TABLE spip_index"); + spip_query("DROP TABLE spip_index_dico"); + } + +function maj_1_944 () { + sql_alter("TABLE spip_documents CHANGE `taille` `taille` integer"); + sql_alter("TABLE spip_documents CHANGE `largeur` `largeur` integer"); + sql_alter("TABLE spip_documents CHANGE `hauteur` `hauteur` integer"); } -// Cas particulier introduit en http://trac.rezo.net/trac/spip/changeset/10335 -function maj_v019_38() -{ - sql_alter("TABLE spip_urls CHANGE `maj` date DATETIME DEFAULT '0000-00-00 00:00:00' NOT NULL"); -} - -/* ------------ Debut de la nouvelle gestion des MAJ ------------- */ - function maj_1_945() { serie_alter('1945', diff --git a/ecrire/maj/v019_pre193.php b/ecrire/maj/v019_pre193.php new file mode 100644 index 0000000000000000000000000000000000000000..1b2242ee4f6cf6fcaa379f86c87cef80141f289d --- /dev/null +++ b/ecrire/maj/v019_pre193.php @@ -0,0 +1,298 @@ +<?php + +/***************************************************************************\ + * SPIP, Systeme de publication pour l'internet * + * * + * Copyright (c) 2001-2007 * + * Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James * + * * + * Ce programme est un logiciel libre distribue sous licence GNU/GPL. * + * Pour plus de details voir le fichier COPYING.txt ou l'aide en ligne. * +\***************************************************************************/ + +if (!defined("_ECRIRE_INC_VERSION")) return; + +function v019_pre193($version_installee, $version_cible) +{ + // Syndication : ajout de l'option resume=oui/non et de la langue + if (upgrade_vers(1.901, $version_installee, $version_cible)) { + spip_query("ALTER TABLE spip_syndic ADD `resume` VARCHAR(3) DEFAULT 'oui'"); + spip_query("ALTER TABLE spip_syndic_articles ADD `lang` VARCHAR(10) DEFAULT '' NOT NULL"); + maj_version(1.901); + } + + // Syndication : ajout de source, url_source, tags + if (upgrade_vers(1.902, $version_installee, $version_cible)) { + spip_query("ALTER TABLE spip_syndic_articles ADD `url_source` TINYTEXT DEFAULT '' NOT NULL"); + spip_query("ALTER TABLE spip_syndic_articles ADD `source` TINYTEXT DEFAULT '' NOT NULL"); + spip_query("ALTER TABLE spip_syndic_articles ADD `tags` TEXT DEFAULT '' NOT NULL"); + maj_version(1.902); + } + + // URLs propres des sites (sait-on jamais) + // + oubli des KEY url_propre sur les auteurs si installation neuve + if (upgrade_vers(1.903, $version_installee, $version_cible)) { + spip_query("ALTER TABLE spip_syndic ADD `url_propre` VARCHAR(255) NOT NULL"); + spip_query("ALTER TABLE spip_syndic ADD INDEX `url_propre` (`url_propre`)"); + spip_query("ALTER TABLE spip_auteurs ADD INDEX `url_propre` (`url_propre`)"); + maj_version(1.903); + } + + // suppression des anciennes tables temporaires des visites + // (maintenant stockees sous forme de fichiers) + if (upgrade_vers(1.904, $version_installee, $version_cible)) { + spip_query("DROP TABLE IF EXISTS spip_visites_temp"); + spip_query("DROP TABLE IF EXISTS spip_referers_temp"); + maj_version(1.904); + } + + // fusion des 10 tables index en une seule + // pour fonctions futures evoluees du moteur de recherche + if (upgrade_vers(1.905, $version_installee, $version_cible)) { + // agrandir le champ "valeur" de spip_meta pour pouvoir y stocker + // des choses plus sympa + spip_query("ALTER TABLE spip_meta CHANGE `valeur` `valeur` TEXT"); + // table des correspondances table->id_table + $liste_tables = array(); + $liste_tables[1]='spip_articles'; + $liste_tables[2]='spip_auteurs'; + $liste_tables[3]='spip_breves'; + $liste_tables[4]='spip_documents'; + $liste_tables[5]='spip_forum'; + $liste_tables[6]='spip_mots'; + $liste_tables[7]='spip_rubriques'; + $liste_tables[8]='spip_signatures'; + $liste_tables[9]='spip_syndic'; + + ecrire_meta('index_table', serialize($liste_tables)); + + spip_query("INSERT INTO spip_index (`hash`,`points`,`id_objet`,`id_table`) SELECT `hash`,`points`,`id_article` as id_objet,'1' as id_table FROM spip_index_articles"); + spip_query("DROP TABLE IF EXISTS spip_index_articles"); + + spip_query("INSERT INTO spip_index (`hash`,`points`,`id_objet`,`id_table`) SELECT `hash`,`points`,`id_auteur` as id_objet,'2' as id_table FROM spip_index_auteurs"); + spip_query("DROP TABLE IF EXISTS spip_index_auteurs"); + + spip_query("INSERT INTO spip_index (`hash`,`points`,`id_objet`,`id_table`) SELECT `hash`,`points`,`id_breve` as id_objet,'3' as id_table FROM spip_index_breves"); + spip_query("DROP TABLE IF EXISTS spip_index_breves"); + + spip_query("INSERT INTO spip_index (`hash`,`points`,`id_objet`,`id_table`) SELECT `hash`,`points`,`id_document` as id_objet,'4' as id_table FROM spip_index_documents"); + spip_query("DROP TABLE IF EXISTS spip_index_documents"); + + spip_query("INSERT INTO spip_index (`hash`,`points`,`id_objet`,`id_table`) SELECT `hash`,`points`,`id_forum` as id_objet,'5' as id_table FROM spip_index_forum"); + spip_query("DROP TABLE IF EXISTS spip_index_forum"); + + spip_query("INSERT INTO spip_index (`hash`,`points`,`id_objet`,`id_table`) SELECT `hash`,`points`,`id_mot` as id_objet,'6' as id_table FROM spip_index_mots"); + spip_query("DROP TABLE IF EXISTS spip_index_mots"); + + spip_query("INSERT INTO spip_index (`hash`,`points`,`id_objet`,`id_table`) SELECT `hash`,`points`,`id_rubrique` as id_objet,'7' as id_table FROM spip_index_rubriques"); + spip_query("DROP TABLE IF EXISTS spip_index_rubriques"); + + spip_query("INSERT INTO spip_index (`hash`,`points`,`id_objet`,`id_table`) SELECT `hash`,`points`,`id_signature` as id_objet,'8' as id_table FROM spip_index_signatures"); + spip_query("DROP TABLE IF EXISTS spip_index_signatures"); + + 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"); + spip_query("DROP TABLE IF EXISTS spip_index_syndic"); + + maj_version(1.905); + } + + + // cette table est desormais geree par le plugin "podcast_client", on la + // supprime si le plugin n'est pas active ; risque inherent a l'utilisation + // de versions alpha :-) + if (upgrade_vers(1.906, $version_installee, $version_cible)) { + if (!@in_array('podcast_client', $GLOBALS['plugins'])) { + spip_query("DROP TABLE spip_documents_syndic"); + } + maj_version(1.906); + } + if (upgrade_vers(1.907, $version_installee, $version_cible)) { + spip_query("ALTER TABLE spip_forum ADD INDEX `idx` (`idx`)"); + maj_version(1.907); + } + // Oups ! on stockait les tags de syndication sous la forme rel="category" + // au lieu de rel="directory" - http://microformats.org/wiki/rel-directory + if (upgrade_vers(1.908, $version_installee, $version_cible)) { + spip_query("UPDATE spip_syndic_articles SET `tags` = REPLACE(`tags`, 'rel=\"category\">', 'rel=\"directory\">') WHERE `tags` like '%category%'"); + maj_version(1.908); + } + if (upgrade_vers(1.909, $version_installee, $version_cible)) { + spip_query("ALTER IGNORE TABLE spip_mots_articles ADD PRIMARY KEY (`id_article`, `id_mot`)"); + spip_query("ALTER IGNORE TABLE spip_mots_breves ADD PRIMARY KEY (`id_breve`, `id_mot`)"); + spip_query("ALTER IGNORE TABLE spip_mots_rubriques ADD PRIMARY KEY (`id_rubrique`, `id_mot`)"); + spip_query("ALTER IGNORE TABLE spip_mots_syndic ADD PRIMARY KEY (`id_syndic`, `id_mot`)"); + spip_query("ALTER IGNORE TABLE spip_mots_documents ADD PRIMARY KEY (`id_document`, `id_mot`)"); + spip_query("ALTER IGNORE TABLE spip_mots_forum ADD PRIMARY KEY (`id_forum`, `id_mot`)"); + maj_version(1.909); + } + + if (upgrade_vers(1.910, $version_installee, $version_cible)) { + spip_query("ALTER IGNORE TABLE spip_auteurs_articles ADD PRIMARY KEY (`id_auteur`, `id_article`)"); + spip_query("ALTER IGNORE TABLE spip_auteurs_rubriques ADD PRIMARY KEY (`id_auteur`, `id_rubrique`)"); + spip_query("ALTER IGNORE TABLE spip_auteurs_messages ADD PRIMARY KEY (`id_auteur`, `id_message`)"); + maj_version(1.910); + } + + if (upgrade_vers(1.911, $version_installee, $version_cible)) { + + spip_query("ALTER IGNORE TABLE spip_auteurs_articles DROP INDEX `id_auteur`"); + spip_query("ALTER IGNORE TABLE spip_auteurs_rubriques DROP INDEX `id_auteur`"); + spip_query("ALTER IGNORE TABLE spip_auteurs_messages DROP INDEX `id_auteur`"); + spip_query("ALTER IGNORE TABLE spip_mots_articles DROP INDEX `id_article`"); + spip_query("ALTER IGNORE TABLE spip_mots_breves DROP INDEX `id_breve`"); + spip_query("ALTER IGNORE TABLE spip_mots_rubriques DROP INDEX `id_rubrique`"); + spip_query("ALTER IGNORE TABLE spip_mots_syndic DROP INDEX `id_syndic`"); + spip_query("ALTER IGNORE TABLE spip_mots_forum DROP INDEX `id_forum`"); + spip_query("ALTER IGNORE TABLE spip_mots_documents DROP INDEX `id_document`"); +# 18 juillet 2007: table depreciee +# spip_query("ALTER IGNORE TABLE spip_caches DROP INDEX fichier"); + maj_version(1.911); + } + + // Le logo du site n'est plus le logo par defaut des rubriques + // mais pour assurer la compatibilite ascendante, on le duplique + if (upgrade_vers(1.912, $version_installee, $version_cible)) { + @copy(_DIR_LOGOS.'rubon0.gif', _DIR_LOGOS.'siteon0.gif'); + @copy(_DIR_LOGOS.'ruboff0.gif', _DIR_LOGOS.'siteoff0.gif'); + @copy(_DIR_LOGOS.'rubon0.jpg', _DIR_LOGOS.'siteon0.jpg'); + @copy(_DIR_LOGOS.'ruboff0.jpg', _DIR_LOGOS.'siteoff0.jpg'); + @copy(_DIR_LOGOS.'rubon0.png', _DIR_LOGOS.'siteon0.png'); + @copy(_DIR_LOGOS.'ruboff0.png', _DIR_LOGOS.'siteoff0.png'); + maj_version(1.912); + } + + // suppression de auteur_modif qui n'est plus utilise nulle part + if (upgrade_vers(1.913, $version_installee, $version_cible)) { + spip_query("ALTER TABLE spip_articles DROP `auteur_modif`"); + maj_version(1.913); + } + + // Ajout de SVG + if (upgrade_vers(1.914, $version_installee, $version_cible)) { + spip_query("INSERT IGNORE INTO spip_types_documents (`extension`, `titre`, `inclus`) VALUES ('svg', 'Scalable Vector Graphics', 'embed')"); + spip_query("UPDATE spip_types_documents SET `mime_type`='image/svg+xml' WHERE `extension`='svg'"); + maj_version(1.914); + } + + // Ajout de plein de type mime + if (upgrade_vers(1.915, $version_installee, $version_cible)) { + maj_version(1.915); + } + // refaire l'upgrade 1.905 qui a pu foirer en partie a cause de la requete ALTER sur spip_meta + if (upgrade_vers(1.916, $version_installee, $version_cible)) { + // agrandir le champ "valeur" de spip_meta pour pouvoir y stocker + // des choses plus sympa + spip_query("ALTER TABLE spip_meta CHANGE `valeur` `valeur` TEXT"); +#8/08/07 plus d'indexation dans le core + //include_spip('inc/indexation'); + //update_index_tables(); + maj_version(1.916); + } + if (upgrade_vers(1.917, $version_installee, $version_cible)) { + spip_query("ALTER TABLE spip_documents DROP `inclus`"); + maj_version(1.917); + } + + // Permettre d'enregistrer un numero IP dans les revisions d'articles + // a la place de l'id_auteur + if (upgrade_vers(1.918, $version_installee, $version_cible)) { + spip_query("ALTER TABLE spip_versions CHANGE `id_auteur` `id_auteur` VARCHAR(23)"); + maj_version(1.918); + } + + if (upgrade_vers(1.919, $version_installee, $version_cible)) { + spip_query("ALTER TABLE spip_ajax_fonc DROP `id_auteur`"); + maj_version('1.919'); + } + + if (upgrade_vers(1.920, $version_installee, $version_cible)) { + spip_query("ALTER IGNORE TABLE spip_documents_articles ADD PRIMARY KEY (`id_article`, `id_document`)"); + spip_query("ALTER IGNORE TABLE spip_documents_breves ADD PRIMARY KEY (`id_breve`, `id_document`)"); + spip_query("ALTER IGNORE TABLE spip_documents_rubriques ADD PRIMARY KEY (`id_rubrique`, `id_document`)"); + spip_query("ALTER IGNORE TABLE spip_documents_articles DROP INDEX `id_article`"); + spip_query("ALTER IGNORE TABLE spip_documents_breves DROP INDEX `id_breve`"); + spip_query("ALTER IGNORE TABLE spip_documents_rubriques DROP INDEX `id_rubrique`"); + maj_version('1.920'); + } + if (upgrade_vers(1.922, $version_installee, $version_cible)) { + spip_query("ALTER TABLE spip_meta ADD `impt` ENUM('non', 'oui') DEFAULT 'oui' NOT NULL AFTER `valeur`"); + $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', + 'netpbm_formats','formats_graphiques','image_process','plugin_header','plugin'); + foreach($meta_serveur as $nom) + spip_query("UPDATE spip_meta SET `impt`='non' WHERE `nom`="._q($nom)); + maj_version('1.922'); + } + if (upgrade_vers(1.923, $version_installee, $version_cible)) { + if (isset($GLOBALS['meta']['IMPORT_tables_noimport'])){ + $IMPORT_tables_noimport = unserialize($GLOBALS['meta']['IMPORT_tables_noimport']); + foreach ($IMPORT_tables_noimport as $key=>$table) + if ($table=='spip_meta') unset($IMPORT_tables_noimport[$key]); + ecrire_meta('IMPORT_tables_noimport',serialize($IMPORT_tables_noimport),'non'); + } + maj_version('1.923'); + } + + if (upgrade_vers(1.924, $version_installee, $version_cible)) { + spip_query('DROP TABLE spip_ajax_fonc'); + maj_version('1.924'); + } + + if (upgrade_vers(1.925, $version_installee, $version_cible)) { + include_spip('inc/flock'); + /* deplacement des sessions */ + $f_session = preg_files('data', 'session_'); + $repertoire = _DIR_SESSIONS; + if(!@file_exists($repertoire)) { + $repertoire = preg_replace(','._DIR_TMP.',', '', $repertoire); + $repertoire = sous_repertoire(_DIR_TMP, $repertoire); + } + foreach($f_session as $f) { + $d = basename($f); + @copy($f, $repertoire.$d); + } + /* deplacement des visites */ + $f_visites = preg_files('data/visites'); + $repertoire = sous_repertoire(_DIR_TMP, 'visites'); + foreach($f_visites as $f) { + $d = basename($f); + @copy($f, $repertoire.$d); + } + /* deplacement des upload */ + $auteurs = array(); + $req = spip_query("SELECT `login` FROM spip_auteurs WHERE `statut` = '0minirezo'"); + while($row = sql_fetch($req)) + $auteurs[] = $row['login']; + $f_upload = preg_files('upload', -1, 10000, $auteurs); + $repertoire = _DIR_TRANSFERT; + if(!@file_exists($repertoire)) { + $repertoire = preg_replace(','._DIR_TMP.',', '', $repertoire); + $repertoire = sous_repertoire(_DIR_TMP, $repertoire); + } + foreach($auteurs as $login) { + if(is_dir('upload/'.$login)) + $sous_repertoire = sous_repertoire(_DIR_TRANSFERT, $login); + } + foreach($f_upload as $f) { + @copy($f, _DIR_TMP.$f); + } + /* deplacement des dumps */ + $f_session = preg_files('data', 'dump'); + $repertoire = _DIR_DUMP; + if(!@file_exists($repertoire)) { + $repertoire = preg_replace(','._DIR_TMP.',', '', $repertoire); + $repertoire = sous_repertoire(_DIR_TMP, $repertoire); + } + foreach($f_session as $f) { + $d = basename($f); + @copy($f, $repertoire.$d); + } + maj_version('1.925'); + } + // Ajout de MP4 + if (upgrade_vers(1.926, $version_installee, $version_cible)) { + spip_query("INSERT IGNORE INTO spip_types_documents (`extension`, `titre`, `inclus`) VALUES ('mp4', 'MPEG4', 'embed')"); + spip_query("UPDATE spip_types_documents SET `mime_type`='application/mp4' WHERE `extension`='mp4'"); + maj_version('1.926'); + } +} +?> \ No newline at end of file