3 if (!defined("_ECRIRE_INC_VERSION")) return;
7 * Fonction de verification du formulaire de configuration CFG
10 function cfg_config_piwik_verifier(&$cfg){
11 $obligatoires = array('token','user','urlpiwik');
12 foreach($obligatoires as $obligatoire){
13 if(!$cfg->val
[$obligatoire]){
14 $erreur[$obligatoire] = _T('info_obligatoire');
18 $piwik_token = $cfg->val
['token'];
19 if (!$erreur['token'] && !preg_match('/^[a-f0-9]{32}$/i',$piwik_token)) {
20 $erreur['token'] = _T('piwik:cfg_erreur_token');
23 $piwik_url = 'http://'.$cfg->val
['urlpiwik'].'/';
25 $piwik_recuperer_data = charger_fonction('piwik_recuperer_data','inc');
28 * Vérifier la correspondance nom d'utilisateur/ token
29 * Qui nous permettra par la suite de définir d'autres choses
31 $method_verif_user = 'UsersManager.getUser';
32 $options_user = array('userLogin'=>$cfg->val
['user']);
33 $datas_user = $piwik_recuperer_data($piwik_url,$piwik_token,'',$method_verif_user,'PHP',$options_user);
34 if(is_array($datas_user = unserialize($datas_user))){
35 if(!$erreur['user'] && $datas_user['result'] == 'error'){
36 $erreur['user'] = _T('piwik:cfg_erreur_user_token');
39 * Vérifier que ce token est un token admin
40 * Si non : mettre une meta comme quoi il n'est pas admin pour créer des sites
42 $method_verif_user_bis = 'UsersManager.getUsers';
43 $datas_user_bis = $piwik_recuperer_data($piwik_url,$piwik_token,'',$method_verif_user_bis,'PHP');
44 $datas_user_bis = unserialize($datas_user_bis);
45 if(is_array($datas_user_bis) && ($datas_user_bis['result'] == 'error')){
46 ecrire_meta('piwik_admin', 'non');
48 ecrire_meta('piwik_admin', 'oui');
49 unset($erreur['user']);
54 * Récupération de la liste des sites où cet utilisateur
55 * a les droits d'admin
57 $method = 'SitesManager.getSitesWithAdminAccess';
58 $datas = $piwik_recuperer_data($piwik_url,$piwik_token,'',$method,'PHP');
59 if(!$erreur['urlpiwik'] && !is_array(unserialize($datas))){
60 $erreur['urlpiwik'] = _T('piwik:cfg_erreur_recuperation_data');
62 ecrire_meta('piwik_sites_dispo', $datas);