$r['type']), 'id_mot='.sql_quote($r['id_mot']));
}
}
}
$GLOBALS['maj'][11431] = array(array('maj_11431'));
// reparer spip_types_documents.id_type
// qui est parfois encore present
function maj_11778 () {
// si presence id_type
$s = sql_showtable('spip_types_documents');
if (isset($s['field']['id_type'])) {
sql_alter('TABLE spip_types_documents CHANGE id_type id_type BIGINT(21) NOT NULL');
sql_alter('TABLE spip_types_documents DROP id_type');
sql_alter('TABLE spip_types_documents ADD PRIMARY KEY (extension)');
}
}
$GLOBALS['maj'][11778] = array(array('maj_11778'));
// Optimisation des forums
function maj_11790 () {
# sql_alter('TABLE spip_forum DROP INDEX id_message id_message');
sql_alter('TABLE spip_forum ADD INDEX id_parent (id_parent)');
sql_alter('TABLE spip_forum ADD INDEX id_auteur (id_auteur)');
sql_alter('TABLE spip_forum ADD INDEX id_thread (id_thread)');
}
$GLOBALS['maj'][11790] = array(array('maj_11790'));
$GLOBALS['maj'][11794] = array(); // ajout de spip_documents_forum
$GLOBALS['maj'][11961] = array(
array('sql_alter',"TABLE spip_groupes_mots CHANGE `tables` tables_liees text DEFAULT '' NOT NULL AFTER obligatoire"), // si tables a ete cree on le renomme
array('sql_alter',"TABLE spip_groupes_mots ADD tables_liees text DEFAULT '' NOT NULL AFTER obligatoire"), // sinon on l'ajoute
array('sql_update','spip_groupes_mots',array('tables_liees'=>"''"),"articles REGEXP '.*'"), // si le champ articles est encore la, on reinit la conversion
array('sql_update','spip_groupes_mots',array('tables_liees'=>"concat(tables_liees,'articles,')"),"articles='oui'"), // sinon ces 4 requetes ne feront rien
array('sql_update','spip_groupes_mots',array('tables_liees'=>"concat(tables_liees,'breves,')"),"breves='oui'"),
array('sql_update','spip_groupes_mots',array('tables_liees'=>"concat(tables_liees,'rubriques,')"),"rubriques='oui'"),
array('sql_update','spip_groupes_mots',array('tables_liees'=>"concat(tables_liees,'syndic,')"),"syndic='oui'"),
);
// Reunir en une seule table les liens de documents
// spip_documents_articles et spip_documents_forum
function maj_12008 () {
// Creer spip_documents_liens
global $tables_auxiliaires;
include_spip('base/auxiliaires');
$v = $tables_auxiliaires[$k='spip_documents_liens'];
sql_create($k, $v['field'], $v['key'], false, false);
// Recopier les donnees
foreach (array('article', 'breve', 'rubrique', 'auteur', 'forum') as $l) {
if ($s = sql_select('*', 'spip_documents_'.$l.'s')
OR $s = sql_select('*', 'spip_documents_'.$l)) {
$tampon = array();
while ($t = sql_fetch($s)) {
// transformer id_xx=N en (id_objet=N, objet=xx)
$t['id_objet'] = $t["id_$l"];
$t['objet'] = $l;
unset($t["id_$l"]);
unset($t['maj']);
$tampon[] = $t;
if (count($tampon)>10000) {
sql_insertq_multi('spip_documents_liens',$tampon);
$tampon = array();
}
}
if (count($tampon)) {
sql_insertq_multi('spip_documents_liens', $tampon);
}
}
}
}
$GLOBALS['maj'][12008] = array(
//array('sql_drop_table',"spip_documents_liens"), // tant pis pour ceux qui ont joue a 11974
array('sql_alter',"TABLE spip_documents_liens DROP PRIMARY KEY"),
array('sql_alter',"TABLE spip_documents_liens ADD id_objet bigint(21) DEFAULT '0' NOT NULL AFTER id_document"),
array('sql_alter',"TABLE spip_documents_liens ADD objet VARCHAR (25) DEFAULT '' NOT NULL AFTER id_objet"),
array('sql_update','spip_documents_liens',array('id_objet'=>"id_article",'objet'=>"'article'"),"id_article IS NOT NULL AND id_article>0"),
array('sql_update','spip_documents_liens',array('id_objet'=>"id_rubrique",'objet'=>"'rubrique'"),"id_rubrique IS NOT NULL AND id_rubrique>0"),
array('sql_update','spip_documents_liens',array('id_objet'=>"id_breve",'objet'=>"'breve'"),"id_breve IS NOT NULL AND id_breve>0"),
array('sql_update','spip_documents_liens',array('id_objet'=>"id_auteur",'objet'=>"'auteur'"),"id_auteur IS NOT NULL AND id_auteur>0"),
array('sql_update','spip_documents_liens',array('id_objet'=>"id_forum",'objet'=>"'forum'"),"id_forum IS NOT NULL AND id_forum>0"),
array('sql_alter',"TABLE spip_documents_liens ADD PRIMARY KEY (id_document,id_objet,objet)"),
array('sql_alter',"TABLE spip_documents_liens DROP id_article"),
array('sql_alter',"TABLE spip_documents_liens DROP id_rubrique"),
array('sql_alter',"TABLE spip_documents_liens DROP id_breve"),
array('sql_alter',"TABLE spip_documents_liens DROP id_auteur"),
array('sql_alter',"TABLE spip_documents_liens DROP id_forum"),
array('maj_12008'),
);
// destruction des tables spip_documents_articles etc, cf. 12008
$GLOBALS['maj'][12009] = array(
array('sql_drop_table',"spip_documents_articles"),
array('sql_drop_table',"spip_documents_breves"),
array('sql_drop_table',"spip_documents_rubriques"),
array('sql_drop_table',"spip_documents_auteurs"), # plugin #FORMULAIRE_UPLOAD
array('sql_drop_table',"spip_documents_syndic") # plugin podcast_client
);
// destruction des champs articles breves rubriques et syndic, cf. 11961
$GLOBALS['maj'][12010] = array(
array('sql_alter',"TABLE spip_groupes_mots DROP articles"),
array('sql_alter',"TABLE spip_groupes_mots DROP breves"),
array('sql_alter',"TABLE spip_groupes_mots DROP rubriques"),
array('sql_alter',"TABLE spip_groupes_mots DROP syndic"),
);
function maj_13135 () {
include_spip('inc/rubriques');
calculer_prochain_postdate();
// supprimer les eventuels vieux cache plugin qui n'utilisaient pas _chemin
@spip_unlink(_CACHE_PLUGINS_OPT);
@spip_unlink(_CACHE_PLUGINS_FCT);
@spip_unlink(_CACHE_PLUGINS_VERIF);
}
$GLOBALS['maj'][13135] = array(array('maj_13135'));
// Type flac: http://flac.sourceforge.net
$GLOBALS['maj'][13333] = array(array('upgrade_types_documents'));
// http://archives.rezo.net/spip-zone.mbox/200903.mbox/%3Cbfc33ad70903141606q2e4c53f2k4fef6b45e611a04f@mail.gmail.com%3E
$GLOBALS['maj'][13833] = array(
array('sql_alter',"TABLE spip_documents_liens ADD INDEX objet(id_objet,objet)"))
;
// Fin upgrade commun branche 2.0
include_spip('inc/autoriser');
$GLOBALS['maj'][13904] = array(
array('sql_alter',"TABLE spip_auteurs ADD webmestre varchar(3) DEFAULT 'non' NOT NULL"),
array('sql_update','spip_auteurs',array('webmestre'=>"'oui'"),sql_in("id_auteur",defined('_ID_WEBMESTRES')?explode(':',_ID_WEBMESTRES):(autoriser('configurer')?array($GLOBALS['visiteur_session']['id_auteur']):array(0)))) // le webmestre est celui qui fait l'upgrade si rien de defini
)
;
// sites plantes en mode "'su" au lieu de "sus"
$GLOBALS['maj'][13929] = array(
array('sql_update',"spip_syndic",array('syndication'=>"'sus'"),"syndication LIKE '\\'%'")
);
// Types de fichiers m4a/m4b/m4p/m4u/m4v/dv
// Types de fichiers Open XML (cro$oft)
$GLOBALS['maj'][14558] = array(array('upgrade_types_documents'));
// refaire les upgrade dont les numeros sont inferieurs a ceux de la branche 2.0
// etre sur qu'ils sont bien unipotents(?)...
$GLOBALS['maj'][14559] = $GLOBALS['maj'][13904]+$GLOBALS['maj'][13929]+$GLOBALS['maj'][14558];
// Restauration correcte des types mime des fichiers Ogg
// http://trac.rezo.net/trac/spip/ticket/1941
// + Types de fichiers : f4a/f4b/f4p/f4v/mpc http://en.wikipedia.org/wiki/Flv#File_formats
$GLOBALS['maj'][15676] = array(array('upgrade_types_documents'));
// Type de fichiers : webm http://en.wikipedia.org/wiki/Flv#File_formats
$GLOBALS['maj'][15827] = array(array('upgrade_types_documents'));
// IP en 40 caracteres pour IP v6
$GLOBALS['maj'][15828] = array(array('sql_alter',"TABLE spip_forum CHANGE `ip` `ip` VARCHAR(40) DEFAULT '' NOT NULL"));
?>