[PLUGINS] +set de base
[lhc/web/www.git] / www / plugins / spip_piwik_2_0 / piwik_administrations.php
1 <?php
2 /**
3 * Plugin Piwik
4 *
5 * @package SPIP\Piwik\Installation
6 */
7
8 if (!defined("_ECRIRE_INC_VERSION")) return;
9
10 include_spip('inc/meta');
11
12 /**
13 * Action d'installation et de mise à jour
14 *
15 * @param string $nom_meta_version_base
16 * Le nom de la méta de version dans spip_meta
17 * @param float $version_cible
18 * Le numéro de version vers laquelle effectuer la maj
19 */
20 function piwik_upgrade($nom_meta_version_base, $version_cible){
21
22 $version_actuelle = '0.0';
23 if (
24 (!isset($GLOBALS['meta'][$nom_meta_version_base]))
25 || (($version_actuelle = $GLOBALS['meta'][$nom_meta_version_base]) != $version_cible)
26 ){
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 && 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
48 ecrire_meta($nom_meta_version_base, $version_actuelle=$version_cible, 'non');
49 }
50 }
51 }
52
53 /**
54 * Action de désinstallation
55 * -* Effacer la configuration
56 * -* Effacer la liste des sites dispo
57 * -* Effacer la meta de version
58 *
59 * @param float $nom_meta_version_base
60 */
61 function piwik_vider_tables($nom_meta_version_base){
62 effacer_meta('piwik');
63 effacer_meta('piwik_sites_dispo');
64 effacer_meta($nom_meta_version_base);
65 }
66
67 ?>