'article'),"objet=''"), // Changement des clefs primaires également array('sql_alter',"TABLE spip_versions DROP PRIMARY KEY"), array('sql_alter',"TABLE spip_versions ADD PRIMARY KEY (id_version, id_objet, objet)"), array('sql_alter',"TABLE spip_versions_fragments CHANGE id_article id_objet bigint(21) DEFAULT 0 NOT NULL"), array('sql_alter',"TABLE spip_versions_fragments ADD objet VARCHAR (25) DEFAULT '' NOT NULL AFTER id_objet"), // Les id_objet restent les id_articles puisque les révisions n'étaient possibles que sur les articles array('sql_updateq',"spip_versions_fragments",array('objet'=>'article'),"objet=''"), // Changement des clefs primaires également array('sql_alter',"TABLE spip_versions_fragments DROP PRIMARY KEY"), array('sql_alter',"TABLE spip_versions_fragments ADD PRIMARY KEY (id_objet, objet, id_fragment, version_min)"), array('revisions_upate_meta'), ); $maj['1.1.2'] = array( array('revisions_upate_meta'), array('sql_updateq',"spip_versions",array('objet'=>'article'),"objet=''"), array('sql_updateq',"spip_versions_fragments",array('objet'=>'article'),"objet=''"), ); $maj['1.1.3'] = array( array('sql_alter',"TABLE spip_versions DROP KEY id_objet"), array('sql_alter',"TABLE spip_versions ADD INDEX id_version (id_version)"), array('sql_alter',"TABLE spip_versions ADD INDEX id_objet (id_objet)"), array('sql_alter',"TABLE spip_versions ADD INDEX objet (objet)") ); $maj['1.1.4'] = array( array('sql_alter',"TABLE spip_versions CHANGE permanent permanent char(3) DEFAULT '' NOT NULL"), array('sql_alter',"TABLE spip_versions CHANGE champs champs text DEFAULT '' NOT NULL"), ); include_spip('base/upgrade'); maj_plugin($nom_meta_base_version, $version_cible, $maj); } /** * Desinstallation/suppression des tables revisions * * @param string $nom_meta_base_version */ function revisions_vider_tables($nom_meta_base_version) { sql_drop_table("spip_versions"); sql_drop_table("spip_versions_fragments"); effacer_meta($nom_meta_base_version); } /** * Mettre a jour la meta des versions * @return void */ function revisions_upate_meta(){ // Si dans une installation antérieure ou un upgrade, les articles étaient versionnés // On crée la meta correspondante // mettre les metas par defaut $config = charger_fonction('config','inc'); $config(); if($GLOBALS['meta']['articles_versions'] == 'oui'){ ecrire_meta('objets_versions',serialize(array('articles'))); } effacer_meta('articles_versions'); if (!$versions = unserialize($GLOBALS['meta']['objets_versions'])) $versions = array(); $versions = array_map('table_objet_sql',$versions); ecrire_meta('objets_versions',serialize($versions)); } ?>