source: spip-zone/_plugins_/spip_piwik/spip_piwik_2_0/base/piwik_upgrade.php @ 42775

Last change on this file since 42775 was 42775, checked in by kent1@…, 9 years ago

Si la config est déjà présente, tenter de récupérer automatiquement la liste des sites à l'install

Vider les métas en cas de désinstallation

File size: 1.5 KB
Line 
1<?php
2
3// Sécurité
4if (!defined("_ECRIRE_INC_VERSION")) return;
5
6include_spip('inc/meta');
7
8/**
9 * Action d'installation et de mise à jour
10 * @param float $nom_meta_version_base
11 * @param float $version_cible
12 */
13function piwik_upgrade($nom_meta_version_base, $version_cible){
14
15        $version_actuelle = '0.0';
16        if (
17                (!isset($GLOBALS['meta'][$nom_meta_version_base]))
18                || (($version_actuelle = $GLOBALS['meta'][$nom_meta_version_base]) != $version_cible)
19        ){
20               
21                if (version_compare($version_actuelle,'0.0','=')){
22                        /**
23                         * Si la configuration est présente on récupère la liste des sites
24                         */
25                        if(is_array($config = lire_config('piwik',''))
26                                && isset($config['urlpiwik']) && isset($config['token'])
27                        ){
28                                $piwik_recuperer_data = charger_fonction('piwik_recuperer_data','inc');
29                               
30                                /**
31                                 * Récupération de la liste des sites où cet utilisateur
32                                 * a les droits d'admin
33                                 */
34                                $method = 'SitesManager.getSitesWithAdminAccess';
35                                $datas = $piwik_recuperer_data($config['urlpiwik'],$config['token'],'',$method,'PHP');
36                                if(is_array(unserialize($datas))){
37                                        ecrire_meta('piwik_sites_dispo', $datas);
38                                }
39                        }
40
41                        ecrire_meta($nom_meta_version_base, $version_actuelle=$version_cible, 'non');
42                }
43        }
44}
45
46/**
47 * Action de désinstallation
48 * -* Effacer la configuration
49 * -* Effacer la liste des sites dispo
50 * -* Effacer la meta de version
51 *
52 * @param float $nom_meta_version_base
53 */
54function piwik_vider_tables($nom_meta_version_base){
55        effacer_meta('piwik');
56        effacer_meta('piwik_sites_dispo');
57        effacer_meta($nom_meta_version_base);
58}
59
60?>
Note: See TracBrowser for help on using the repository browser.