/** * Cette fonction permet l'affichage des statistiques de visites * * @access public * @author koéZionCMS * @version 0.1 - 27/09/2013 by FI */ function backoffice_statistiques() { $aParams = $this->_check_datas_stats(); //Contrôle des dates if (isset($this->request->data['display']) && $this->request->data['display']) { $iSiteId = Session::read('Backoffice.Websites.current'); //Récupération de l'identifiant du site courant $sLoginGoogleAnalytics = Session::read('Backoffice.Websites.details.' . $iSiteId . '.ga_login'); //Login GA $sPasswdGoogleAnalytics = Session::read('Backoffice.Websites.details.' . $iSiteId . '.ga_password'); //Mot de passe GA $sIdGoogleAnalytics = Session::read('Backoffice.Websites.details.' . $iSiteId . '.ga_id'); //ID du profil du site dans GA //Pour afficher les données de Google Analytics nous devons en premier lieu vérifier un certain nombre de choses //- Que l'identifiant du site courant soit non vide //- Qu'il y ait bien un login Google Analytics de renseigné //- Qu'il y ait bien un mot de passe Google Analytics de renseigné //- Que pour le site courant l'identifiant du profil Google Analytics soit bien saisit if (!empty($iSiteId) && !empty($sLoginGoogleAnalytics) && !empty($sPasswdGoogleAnalytics) && !empty($sIdGoogleAnalytics)) { //require_once(LIBS.DS.'api_ga.php'); //Import de la librairie Google Analytics Configure::import(LIBS . DS . 'api_ga'); //Déclaration d'un objet de type GoogleAnalyticsAPI set_time_limit(0); $oGa = new GoogleAnalyticsAPI($sLoginGoogleAnalytics, $sPasswdGoogleAnalytics, $sIdGoogleAnalytics, $aParams['date_debut'], $aParams['date_fin']); $sToken = $oGa->getLoginToken(); // recupere le jeton d'acces pour controler que la connexion est bien faite if (!empty($sToken)) { ////////////////////////////////////////////////////////////////////////////// // RECUPERATION DES DONNEES STATISTIQUES EN FONCTION DES DATES INDIQUEES // $navigateurs = $oGa->getDimensionByMetric('pageviews', 'browser'); $this->set('navigateurs', $navigateurs); $countries = $oGa->getDimensionByMetric('pageviews', 'country'); $this->set('countries', $countries); $keywords = $oGa->getDimensionByMetric('pageviews', 'keyword'); $this->set('keywords', $keywords); $source = $oGa->getDimensionByMetric('pageviews', 'source'); $this->set('source', $source); $pagePath = $oGa->getDimensionByMetric('pageviews', 'pagePath'); $this->set('pagePath', $pagePath); $visits = $oGa->getMetric('visits'); $this->set('visits', $visits); $unique_visits = $oGa->getMetric('visitors'); $this->set('unique_visits', $unique_visits); $page_views = $oGa->getMetric('pageviews'); $this->set('page_views', $page_views); //$oGa->setSortByDimensions('month'); //!!! Obligatoire sinon les mois ne sont pas dans le bon ordre //$aVisitesA = $oGa->getDimensionByMetric('visitors', 'month'); //Nombre de visiteurs uniques absolus par mois $aDateDeb = explode('-', $aParams['date_debut']); $aDateFin = explode('-', $aParams['date_fin']); $sStartDateGaUsA = date('Y-m-d', mktime(0, 0, 0, $aDateDeb[1], $aDateDeb[2], $aDateDeb[0])); //1er janvier $sEndDateGaUsA = date('Y-m-d', mktime(0, 0, 0, $aDateFin[1], $aDateFin[2], $aDateFin[0])); //31 décembre $oGa->setDate($sStartDateGaUsA, $sEndDateGaUsA); //Set les date pour prendre une année complete : dissocié de la recherche //$oGa->setSortByDimensions('month'); //!!! Obligatoire sinon les mois ne sont pas dans le bon ordre $aGraphVisitesUniques = $oGa->getDimensionByMetric('visitors', 'month'); //Nombre de visiteurs uniques absolus par mois $aGraphVisites = $oGa->getDimensionByMetric('visits', 'month'); //Nombre de visiteurs uniques absolus par mois $aGraphPagesVues = $oGa->getDimensionByMetric('pageviews', 'month'); //Nombre de visiteurs uniques absolus par mois ////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // RECUPERATION DES DONNEES STATISTIQUES POUR L'ANNEE EN COURS // $iNumYear = date('Y'); //En prevision si un jour on veut passer en parametre l'année. $sStartDateGaUs = date('Y-m-d', mktime(0, 0, 0, 1, 1, $iNumYear)); //1er janvier $sEndDateGaUs = date('Y-m-d', mktime(0, 0, 0, 12, 31, $iNumYear)); //31 décembre $oGa->setDate($sStartDateGaUs, $sEndDateGaUs); //Set les date pour prendre une année complete : dissocié de la recherche $oGa->setSortByDimensions('month'); //!!! Obligatoire sinon les mois ne sont pas dans le bon ordre $aVisites = $oGa->getDimensionByMetric('visitors', 'month'); //Nombre de visiteurs uniques absolus par mois $this->set('aGraphVisitesUniques', $aGraphVisitesUniques); $this->set('aGraphVisites', $aGraphVisites); $this->set('aGraphPagesVues', $aGraphPagesVues); $this->set('sGraphStart', $this->request->data['start']); $this->set('sGraphEnd', $this->request->data['end']); $this->set('iNumYear', $iNumYear); //////////////////////////////////////////////////////////////////// $this->set('iDisplay', 1); //Pour indiquer au front qu'il faut afficher les données } else { $this->set('sMessageErreurGa', 'Connexion impossible à Google Analytics'); } unset($oGa); } else { $this->set('sMessageErreurGa', 'Il y a un problème dans le paramétrages de vos données Google Analytics'); } } }