1 | <?php |
---|
2 | /** |
---|
3 | * Fichier gérant l'installation et désinstallation du plugin Espaces |
---|
4 | * |
---|
5 | * @plugin Espaces |
---|
6 | * @copyright 2018 - 2020 |
---|
7 | * @author Rainer Müller |
---|
8 | * @licence GNU/GPL v3 |
---|
9 | * @package SPIP\Espaces\Installation |
---|
10 | */ |
---|
11 | |
---|
12 | if (!defined('_ECRIRE_INC_VERSION')) { |
---|
13 | return; |
---|
14 | } |
---|
15 | |
---|
16 | |
---|
17 | /** |
---|
18 | * Fonction d'installation et de mise à jour du plugin Espaces. |
---|
19 | * |
---|
20 | * Vous pouvez : |
---|
21 | * |
---|
22 | * - créer la structure SQL, |
---|
23 | * - insérer du pre-contenu, |
---|
24 | * - installer des valeurs de configuration, |
---|
25 | * - mettre à jour la structure SQL |
---|
26 | * |
---|
27 | * @param string $nom_meta_base_version |
---|
28 | * Nom de la meta informant de la version du schéma de données du plugin installé dans SPIP |
---|
29 | * @param string $version_cible |
---|
30 | * Version du schéma de données dans ce plugin (déclaré dans paquet.xml) |
---|
31 | * @return void |
---|
32 | **/ |
---|
33 | function espaces_upgrade($nom_meta_base_version, $version_cible) { |
---|
34 | $maj = array(); |
---|
35 | |
---|
36 | $maj['create'] = array(array('maj_tables', array('spip_espaces', 'spip_espaces_liens'))); |
---|
37 | |
---|
38 | include_spip('base/upgrade'); |
---|
39 | maj_plugin($nom_meta_base_version, $version_cible, $maj); |
---|
40 | } |
---|
41 | |
---|
42 | |
---|
43 | /** |
---|
44 | * Fonction de désinstallation du plugin Espaces. |
---|
45 | * |
---|
46 | * Vous devez : |
---|
47 | * |
---|
48 | * - nettoyer toutes les données ajoutées par le plugin et son utilisation |
---|
49 | * - supprimer les tables et les champs créés par le plugin. |
---|
50 | * |
---|
51 | * @param string $nom_meta_base_version |
---|
52 | * Nom de la meta informant de la version du schéma de données du plugin installé dans SPIP |
---|
53 | * @return void |
---|
54 | **/ |
---|
55 | function espaces_vider_tables($nom_meta_base_version) { |
---|
56 | sql_drop_table('spip_espaces'); |
---|
57 | sql_drop_table('spip_espaces_liens'); |
---|
58 | |
---|
59 | # Nettoyer les liens courants (le génie optimiser_base_disparus se chargera de nettoyer toutes les tables de liens) |
---|
60 | sql_delete('spip_documents_liens', sql_in('objet', array('espace'))); |
---|
61 | sql_delete('spip_mots_liens', sql_in('objet', array('espace'))); |
---|
62 | sql_delete('spip_auteurs_liens', sql_in('objet', array('espace'))); |
---|
63 | # Nettoyer les versionnages et forums |
---|
64 | sql_delete('spip_versions', sql_in('objet', array('espace'))); |
---|
65 | sql_delete('spip_versions_fragments', sql_in('objet', array('espace'))); |
---|
66 | sql_delete('spip_forum', sql_in('objet', array('espace'))); |
---|
67 | |
---|
68 | effacer_meta($nom_meta_base_version); |
---|
69 | } |
---|