source: spip-zone/_plugins_/espaces/trunk/espaces_administrations.php @ 114065

Last change on this file since 114065 was 114065, checked in by abelass@…, 7 months ago

Objet éditorial espaces. Par exemple les espaces d'un immeuble. Utilisé par location d'immeubles

File size: 3.0 KB
Line 
1<?php
2/**
3 * Fichier gérant l'installation et désinstallation du plugin Espaces
4 *
5 * @plugin     Espaces
6 * @copyright  2018 - 2019
7 * @author     Rainer Müller
8 * @licence    GNU/GPL v3
9 * @package    SPIP\Espaces\Installation
10 */
11
12if (!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**/
33function espaces_upgrade($nom_meta_base_version, $version_cible) {
34  $maj = array();
35  # quelques exemples
36  # (que vous pouvez supprimer !)
37  #
38  # $maj['create'] = array(array('creer_base'));
39  #
40  # include_spip('inc/config')
41  # $maj['create'] = array(
42  # array('maj_tables', array('spip_xx', 'spip_xx_liens')),
43  # array('ecrire_config', 'espaces', array('exemple' => "Texte de l'exemple"))
44  #);
45  #
46  # $maj['1.1.0']  = array(array('sql_alter','TABLE spip_xx RENAME TO spip_yy'));
47  # $maj['1.2.0']  = array(array('sql_alter','TABLE spip_xx DROP COLUMN id_auteur'));
48  # $maj['1.3.0']  = array(
49  # array('sql_alter','TABLE spip_xx CHANGE numero numero int(11) default 0 NOT NULL'),
50  # array('sql_alter','TABLE spip_xx CHANGE texte petit_texte mediumtext NOT NULL default \'\''),
51  # );
52  # ...
53
54  $maj['create'] = array(array('maj_tables', array('spip_espaces', 'spip_espaces_liens')));
55
56  include_spip('base/upgrade');
57  maj_plugin($nom_meta_base_version, $version_cible, $maj);
58}
59
60
61/**
62 * Fonction de désinstallation du plugin Espaces.
63 *
64 * Vous devez :
65 *
66 * - nettoyer toutes les données ajoutées par le plugin et son utilisation
67 * - supprimer les tables et les champs créés par le plugin.
68 *
69 * @param string $nom_meta_base_version
70 *     Nom de la meta informant de la version du schéma de données du plugin installé dans SPIP
71 * @return void
72**/
73function espaces_vider_tables($nom_meta_base_version) {
74  # quelques exemples
75  # (que vous pouvez supprimer !)
76  # sql_drop_table('spip_xx');
77  # sql_drop_table('spip_xx_liens');
78
79  sql_drop_table('spip_espaces');
80  sql_drop_table('spip_espaces_liens');
81
82  # Nettoyer les liens courants (le génie optimiser_base_disparus se chargera de nettoyer toutes les tables de liens)
83  sql_delete('spip_documents_liens', sql_in('objet', array('espace')));
84  sql_delete('spip_mots_liens', sql_in('objet', array('espace')));
85  sql_delete('spip_auteurs_liens', sql_in('objet', array('espace')));
86  # Nettoyer les versionnages et forums
87  sql_delete('spip_versions', sql_in('objet', array('espace')));
88  sql_delete('spip_versions_fragments', sql_in('objet', array('espace')));
89  sql_delete('spip_forum', sql_in('objet', array('espace')));
90
91  effacer_meta($nom_meta_base_version);
92}
Note: See TracBrowser for help on using the repository browser.