[PLUGINS] +set de base
[lhc/web/www.git] / www / plugins / seo-v1 / seo_administrations.php
1 <?php
2
3 // Sécurité
4 if (!defined("_ECRIRE_INC_VERSION")) return;
5
6 include_spip('inc/meta');
7 include_spip('base/abstract_sql');
8
9 // Installation et mise à jour
10 function seo_upgrade($nom_meta_version_base, $version_cible){
11
12 $version_actuelle = '0.0';
13 if (
14 (!isset($GLOBALS['meta'][$nom_meta_version_base]))
15 || (($version_actuelle = $GLOBALS['meta'][$nom_meta_version_base])!=$version_cible)
16 ){
17 /* Installation normale */
18 if (version_compare($version_actuelle, '0.0', '=')){
19 // Création des tables
20 include_spip('base/create');
21 creer_base();
22
23 /**
24 * La config de base active insert_head
25 * (les utilisateurs n'ont pas à modifier leurs squelettes et à penser à l'activer)
26 */
27 $config_base = array();
28 $config_base['insert_head']['activate'] = 'yes';
29 ecrire_meta('seo', serialize($config_base), 'non');
30
31 ecrire_meta($nom_meta_version_base, $version_actuelle = $version_cible, 'non');
32 }
33 /* Gestion des anciennes tables, la numérotation base était de 1.0 */
34 if (version_compare($version_actuelle, '1.0', '<=')){
35 include_spip('base/create');
36
37 // On change le nom de la table initialement mal choisi
38 $prefixe = $GLOBALS['table_prefix'];
39 sql_query("RENAME TABLE seo_meta_tags TO $prefixe" . "_seo");
40 ecrire_meta($nom_meta_version_base, $version_actuelle = $version_cible, 'non');
41 }
42 if (version_compare($version_actuelle, '1.1.0', '<')){
43 sql_alter('TABLE spip_seo DROP PRIMARY KEY');
44 sql_alter('TABLE spip_seo CHANGE type_object objet varchar(10) NOT NULL');
45 sql_alter('TABLE spip_seo CHANGE id_object id_objet int(11) NOT NULL');
46 sql_alter('TABLE spip_seo ADD PRIMARY KEY ( `id_objet` , `objet` , `meta_name` )');
47 ecrire_meta($nom_meta_version_base, $version_actuelle = $version_cible, 'non');
48 }
49 if (version_compare($version_actuelle, '1.1.1', '<')){
50 if (defined('_SEO_FORCER_SQUELETTE'))
51 ecrire_config('seo/forcer_squelette', 'yes');
52 ecrire_meta($nom_meta_version_base, $version_actuelle = $version_cible, 'non');
53 }
54 }
55 }
56
57 // Désinstallation
58 function seo_vider_tables($nom_meta_version_base){
59
60 // On efface la table du plugin
61 sql_drop_table('spip_seo');
62
63 // On efface la méta de configuration
64 effacer_meta('seo');
65
66 // On efface la version entregistrée
67 effacer_meta($nom_meta_version_base);
68 }