--- /dev/null
+<?php
+
+if (!defined("_ECRIRE_INC_VERSION")) return;
+
+/**
+ *
+ * Fonction de verification du formulaire de configuration CFG
+ *
+ */
+function cfg_config_piwik_verifier(&$cfg){
+ $obligatoires = array('token','user','urlpiwik');
+ foreach($obligatoires as $obligatoire){
+ if(!$cfg->val[$obligatoire]){
+ $erreur[$obligatoire] = _T('info_obligatoire');
+ }
+ }
+
+ $piwik_token = $cfg->val['token'];
+ if (!$erreur['token'] && !preg_match('/^[a-f0-9]{32}$/i',$piwik_token)) {
+ $erreur['token'] = _T('piwik:cfg_erreur_token');
+ return $erreur;
+ }
+ $piwik_url = 'http://'.$cfg->val['urlpiwik'].'/';
+
+ $piwik_recuperer_data = charger_fonction('piwik_recuperer_data','inc');
+
+ /**
+ * Vérifier la correspondance nom d'utilisateur/ token
+ * Qui nous permettra par la suite de définir d'autres choses
+ */
+ $method_verif_user = 'UsersManager.getUser';
+ $options_user = array('userLogin'=>$cfg->val['user']);
+ $datas_user = $piwik_recuperer_data($piwik_url,$piwik_token,'',$method_verif_user,'PHP',$options_user);
+ if(is_array($datas_user = unserialize($datas_user))){
+ if(!$erreur['user'] && $datas_user['result'] == 'error'){
+ $erreur['user'] = _T('piwik:cfg_erreur_user_token');
+ }
+ /**
+ * Vérifier que ce token est un token admin
+ * Si non : mettre une meta comme quoi il n'est pas admin pour créer des sites
+ */
+ $method_verif_user_bis = 'UsersManager.getUsers';
+ $datas_user_bis = $piwik_recuperer_data($piwik_url,$piwik_token,'',$method_verif_user_bis,'PHP');
+ $datas_user_bis = unserialize($datas_user_bis);
+ if(is_array($datas_user_bis) && ($datas_user_bis['result'] == 'error')){
+ ecrire_meta('piwik_admin', 'non');
+ }else{
+ ecrire_meta('piwik_admin', 'oui');
+ unset($erreur['user']);
+ }
+ }
+
+ /**
+ * Récupération de la liste des sites où cet utilisateur
+ * a les droits d'admin
+ */
+ $method = 'SitesManager.getSitesWithAdminAccess';
+ $datas = $piwik_recuperer_data($piwik_url,$piwik_token,'',$method,'PHP');
+ if(!$erreur['urlpiwik'] && !is_array(unserialize($datas))){
+ $erreur['urlpiwik'] = _T('piwik:cfg_erreur_recuperation_data');
+ }else{
+ ecrire_meta('piwik_sites_dispo', $datas);
+ }
+
+ return $erreur;
+}
+?>
\ No newline at end of file