4 if (!defined('_ECRIRE_INC_VERSION')) {
8 include_spip('inc/meta');
9 include_spip('base/abstract_sql');
11 // Installation et mise à jour
12 function seo_upgrade($nom_meta_version_base, $version_cible) {
14 $version_actuelle = '0.0';
15 if ((!isset($GLOBALS['meta'][$nom_meta_version_base]))
16 ||
(($version_actuelle = $GLOBALS['meta'][$nom_meta_version_base])!=$version_cible)
18 /* Installation normale */
19 if (version_compare($version_actuelle, '0.0', '=')) {
20 // Création des tables
21 include_spip('base/create');
25 * La config de base active insert_head
26 * (les utilisateurs n'ont pas à modifier leurs squelettes et à penser à l'activer)
28 $config_base = array();
29 $config_base['insert_head']['activate'] = 'yes';
30 ecrire_meta('seo', serialize($config_base), 'non');
32 ecrire_meta($nom_meta_version_base, $version_actuelle = $version_cible, 'non');
34 /* Gestion des anciennes tables, la numérotation base était de 1.0 */
35 if (version_compare($version_actuelle, '1.0', '<=')) {
36 include_spip('base/create');
38 // On change le nom de la table initialement mal choisi
39 $prefixe = $GLOBALS['table_prefix'];
40 sql_query("RENAME TABLE seo_meta_tags TO $prefixe" . '_seo');
41 ecrire_meta($nom_meta_version_base, $version_actuelle = $version_cible, 'non');
43 if (version_compare($version_actuelle, '1.1.0', '<')) {
44 sql_alter('TABLE spip_seo DROP PRIMARY KEY');
45 sql_alter('TABLE spip_seo CHANGE type_object objet varchar(10) NOT NULL');
46 sql_alter('TABLE spip_seo CHANGE id_object id_objet int(11) NOT NULL');
47 sql_alter('TABLE spip_seo ADD PRIMARY KEY ( `id_objet` , `objet` , `meta_name` )');
48 ecrire_meta($nom_meta_version_base, $version_actuelle = $version_cible, 'non');
50 if (version_compare($version_actuelle, '1.1.1', '<')) {
51 if (defined('_SEO_FORCER_SQUELETTE')) {
52 ecrire_config('seo/forcer_squelette', 'yes');
54 ecrire_meta($nom_meta_version_base, $version_actuelle = $version_cible, 'non');
60 function seo_vider_tables($nom_meta_version_base) {
62 // On efface la table du plugin
63 sql_drop_table('spip_seo');
65 // On efface la méta de configuration
68 // On efface la version entregistrée
69 effacer_meta($nom_meta_version_base);