[SPIP][PLUGINS] v3.0-->v3.2
[lhc/web/www.git] / www / plugins-dist / organiseur / organiseur_administrations.php
1 <?php
2
3 /***************************************************************************\
4 * SPIP, Systeme de publication pour l'internet *
5 * *
6 * Copyright (c) 2001-2016 *
7 * Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
8 * *
9 * Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
10 * Pour plus de details voir le fichier COPYING.txt ou l'aide en ligne. *
11 \***************************************************************************/
12
13 if (!defined('_ECRIRE_INC_VERSION')) {
14 return;
15 }
16
17 /**
18 * Installation/maj des tables messagerie
19 *
20 * @param string $nom_meta_base_version
21 * @param string $version_cible
22 */
23 function organiseur_upgrade($nom_meta_base_version, $version_cible) {
24 // cas particulier :
25 // si plugin pas installe mais que la table existe
26 // considerer que c'est un upgrade depuis v 1.0.0
27 // pour gerer l'historique des installations SPIP <=2.1
28 if (!isset($GLOBALS['meta'][$nom_meta_base_version])) {
29 $trouver_table = charger_fonction('trouver_table', 'base');
30 if ($desc = $trouver_table('spip_messages')
31 and isset($desc['exist']) and $desc['exist']
32 ) {
33 ecrire_meta($nom_meta_base_version, '1.0.0');
34 }
35 // si pas de table en base, on fera une simple creation de base
36 }
37
38 $maj = array();
39 $maj['create'] = array(
40 array('maj_tables', array('spip_messages', 'spip_auteurs')),
41 );
42
43 $maj['1.1.0'] = array(
44 array('sql_updateq', 'spip_messages', array('statut' => 'prepa'), "statut='redac'"),
45 array('maj_tables', array('spip_messages')), // champ destinataires
46 );
47
48 $maj['1.1.1'] = array(
49 array('sql_alter', 'TABLE spip_messages CHANGE id_auteur id_auteur bigint(21) DEFAULT 0 NOT NULL'),
50 );
51
52 $maj['1.1.2'] = array(
53 array('maj_tables', array('spip_auteurs')) // champs messagerie & imessage (parfois absents)
54 );
55
56 include_spip('base/upgrade');
57 maj_plugin($nom_meta_base_version, $version_cible, $maj);
58 }
59
60
61 /**
62 * Desinstallation/suppression des tables mots et groupes de mots
63 *
64 * @param string $nom_meta_base_version
65 */
66 function organiseur_vider_tables($nom_meta_base_version) {
67 sql_drop_table('spip_messages');
68 sql_alter('TABLE spip_auteurs DROP imessage');
69 sql_alter('TABLE spip_auteurs DROP messagerie');
70
71 effacer_meta('messagerie_agenda');
72
73 effacer_meta($nom_meta_base_version);
74 }