5 * @package SPIP\Piwik\Installation
8 if (!defined('_ECRIRE_INC_VERSION')) {
12 include_spip('inc/meta');
15 * Action d'installation et de mise à jour
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
22 function piwik_upgrade($nom_meta_version_base, $version_cible) {
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)
28 if (version_compare($version_actuelle, '0.0', '=')) {
30 * Si la configuration est présente on récupère la liste des sites
32 if (is_array($config = lire_config('piwik', ''))
33 and isset($config['urlpiwik']) && isset($config['token'])
35 $piwik_recuperer_data = charger_fonction('piwik_recuperer_data', 'inc');
38 * Récupération de la liste des sites où cet utilisateur
39 * a les droits d'admin
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);
47 ecrire_meta($nom_meta_version_base, $version_actuelle = $version_cible, 'non');
53 * Action de désinstallation
54 * -* Effacer la configuration
55 * -* Effacer la liste des sites dispo
56 * -* Effacer la meta de version
58 * @param float $nom_meta_version_base
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);