source: spip-zone/_plugins_/fabrique/trunk/fabrique_administrations.php @ 115409

Last change on this file since 115409 was 100202, checked in by marcimat@…, 4 years ago

Fichier d'installation pour la Fabrique, qui ajoute le menu developpement à l'auteur en cours.

File size: 1.9 KB
Line 
1<?php
2/**
3 * Fichier gérant l'installation et désinstallation du plugin Fabrique
4 *
5 * @plugin     Fabrique
6 * @copyright  2016
7 * @author     Matthieu Marcillaud
8 * @licence    GNU/GPL
9 * @package    SPIP\Fabrique\Installation
10 */
11
12if (!defined('_ECRIRE_INC_VERSION')) return;
13
14
15/**
16 * Fonction d'installation et de mise à jour du plugin Fabrique.
17 *
18 * @param string $nom_meta_base_version
19 *     Nom de la meta informant de la version du schéma de données du plugin installé dans SPIP
20 * @param string $version_cible
21 *     Version du schéma de données dans ce plugin (déclaré dans paquet.xml)
22 * @return void
23**/
24function fabrique_upgrade($nom_meta_base_version, $version_cible) {
25        $maj = array();
26
27        $maj['create'] = array(array('fabrique_ajouter_menu_developpement', $GLOBALS['visiteur_session']['id_auteur'])); 
28
29        include_spip('base/upgrade');
30        maj_plugin($nom_meta_base_version, $version_cible, $maj);
31}
32
33
34/**
35 * Fonction de désinstallation du plugin Fabrique.
36 *
37 * @param string $nom_meta_base_version
38 *     Nom de la meta informant de la version du schéma de données du plugin installé dans SPIP
39 * @return void
40**/
41function fabrique_vider_tables($nom_meta_base_version) {
42        // effacer les données du constructeur de plugin (auteur en cours uniquement)
43        session_set(FABRIQUE_ID, null);
44        effacer_meta($nom_meta_base_version);
45}
46
47
48/**
49 * Ajouter le menu développment à l'auteur indiqué
50 *
51 * @param int $id_auteur
52 * @return bool
53**/
54function fabrique_ajouter_menu_developpement($id_auteur) {
55        if (!$id_auteur = intval($id_auteur)) {
56                return false;
57        }
58        include_spip('action/editer_objet');
59        $prefs = sql_getfetsel('prefs', 'spip_auteurs', 'id_auteur=' . $id_auteur);
60        if (!$prefs or !$prefs = unserialize($prefs)) {
61                return false;
62        }
63        $prefs['activer_menudev'] = 'oui';
64        if ($err = objet_modifier('auteur', $id_auteur, array('prefs' => serialize($prefs)))) {
65                spip_log('Ajout du menu developpement en erreur : ' . $err, 'fabrique');
66        }
67        return true;
68}
Note: See TracBrowser for help on using the repository browser.