[SPIP][PLUGINS] v3.0-->v3.2
[lhc/web/www.git] / www / plugins / spip_piwik / piwik_administrations.php
1 <?php
2 /**
3 * Plugin Piwik
4 *
5 * @package SPIP\Piwik\Installation
6 */
7
8 if (!defined('_ECRIRE_INC_VERSION')) {
9 return;
10 }
11
12 include_spip('inc/meta');
13
14 /**
15 * Action d'installation et de mise à jour
16 *
17 * @param string $nom_meta_version_base
18 * Le nom de la méta de version dans spip_meta
19 * @param float $version_cible
20 * Le numéro de version vers laquelle effectuer la maj
21 */
22 function piwik_upgrade($nom_meta_version_base, $version_cible) {
23
24 $version_actuelle = '0.0';
25 if ((!isset($GLOBALS['meta'][$nom_meta_version_base]))
26 || (($version_actuelle = $GLOBALS['meta'][$nom_meta_version_base]) != $version_cible)
27 ) {
28 if (version_compare($version_actuelle, '0.0', '=')) {
29 /**
30 * Si la configuration est présente on récupère la liste des sites
31 */
32 if (is_array($config = lire_config('piwik', ''))
33 and isset($config['urlpiwik']) && isset($config['token'])
34 ) {
35 $piwik_recuperer_data = charger_fonction('piwik_recuperer_data', 'inc');
36
37 /**
38 * Récupération de la liste des sites où cet utilisateur
39 * a les droits d'admin
40 */
41 $method = 'SitesManager.getSitesWithAdminAccess';
42 $datas = $piwik_recuperer_data($config['urlpiwik'], $config['token'], '', $method, 'PHP');
43 if (is_array(unserialize($datas))) {
44 ecrire_meta('piwik_sites_dispo', $datas);
45 }
46 }
47 ecrire_meta($nom_meta_version_base, $version_actuelle = $version_cible, 'non');
48 }
49 }
50 }
51
52 /**
53 * Action de désinstallation
54 * -* Effacer la configuration
55 * -* Effacer la liste des sites dispo
56 * -* Effacer la meta de version
57 *
58 * @param float $nom_meta_version_base
59 */
60 function piwik_vider_tables($nom_meta_version_base) {
61 effacer_meta('piwik');
62 effacer_meta('piwik_sites_dispo');
63 effacer_meta($nom_meta_version_base);
64 }