getData(['module', $this->getUrl(0), 'config', 'nbaffipagesvues']);
// Affichage graphique : nombre de langues à afficher en commençant par la plus fréquente, de 0 à toutes
$nbaffilangues = $this->getData(['module', $this->getUrl(0), 'config', 'nbaffilangues']);
// Affichage graphique : nombre de navigateurs à afficher en commençant par le plus fréquent, de 0 à toutes
$nbaffinavigateurs = $this->getData(['module', $this->getUrl(0), 'config', 'nbaffinavigateurs']);
// Affichage graphique : nombre de systèmes d'exploitation à afficher en commençant par le plus fréquent, de 0 à tous
$nbaffise = $this->getData(['module', $this->getUrl(0), 'config', 'nbaffise']);
// Affichage graphique : nombre de pays à afficher en commençant par le plus fréquent, de 0 à tous
$nbaffipays = $this->getData(['module', $this->getUrl(0), 'config', 'nbaffipays']);
// Nombre de sessions affichées dans l'affichage détaillé
$nbEnregSession = $this->getData(['module', $this->getUrl(0), 'config', 'nbEnregSession' ]);
// Nombre de dates affichées dans l'affichage chronologique
$nbAffiDates = $this->getData(['module', $this->getUrl(0), 'config', 'nbaffidates' ]);
// option avec geolocalisation
$geolocalisation = $this->getData(['module', $this->getUrl(0), 'config', 'geolocalisation' ]);
/*
* Affichage cumulé depuis le début de l'analyse soit depuis l'initialisation du fichier cumul.json
* le reset se fait actuellement uniquement par la suppression du fichier cumul.json
*/
$json = file_get_contents($module::$fichiers_json.'sessionLog.json');
$log = json_decode($json, true);
$json = file_get_contents($module::$fichiers_json.'cumul.json');
$cumul = json_decode($json, true);
$comptepagestotal = $module::$comptepages + $cumul['nb_clics'];
$comptevisitetotal = $module::$comptevisite + $cumul['nb_visites'];
$dureevisitestotal = $module::$dureevisites + $cumul['duree_visites'];
if($comptevisitetotal != 0){
$dureevisitemoyenne = conversionTime((int)($dureevisitestotal / $comptevisitetotal));
}
else{
$dureevisitemoyenne = 0;
}
?>
Visites depuis le
$val){
foreach($log[$numSession]['vues'] as $vues=>$values){
$page = substr($values, 22, strlen($values));
if(isset($pagesvues[$page])){
$pagesvues[$page] = $pagesvues[$page] + 1;
}
else{
$pagesvues[$page] = 1;
}
}
}
foreach($cumul['pages'] as $page=>$values){
if(isset($pagesvues[$page])){
$pagesvues[$page] = $pagesvues[$page] + $values;
}
else{
$pagesvues[$page] = $values;
}
}
arsort($pagesvues);
if($nbaffipagesvues != 1000){
$pagesvues = array_slice($pagesvues, 0, $nbaffipagesvues, true);
}
foreach($pagesvues as $key => $value){
$scoremax = $pagesvues[$key];
break;
}
?>
Pages vues, comptabilisées une seule fois par session
$score){
// Adaptation de la longueur au score
$long =ceil((float)($score/$scoremax)*10)*10;
?> -
$val){
$lang = $log[$numSession]['client'][0];
if($log[$numSession]['client'][0] != 'fichier langages.txt absent'){
if(isset($langues[$lang])){
$langues[$lang] = $langues[$lang] + 1;
}
else{
$langues[$lang] = 1;
}
}
}
foreach($cumul['clients']['langage'] as $lang=>$values){
if(isset($langues[$lang])){
$langues[$lang] = $langues[$lang] + $values;
}
else{
$langues[$lang] = $values;
}
}
arsort($langues);
if($nbaffilangues != 1000){
$langues = array_slice($langues, 0, $nbaffilangues, true);
}
foreach($langues as $key => $value){
$scoremax = $langues[$key];
break;
}
?>
Langages préférés
$score){
// Adaptation de la longueur au score
$long =ceil((float)($score/$scoremax)*10)*10;
?> -
$val){
$nav = $log[$numSession]['client'][1];
if($log[$numSession]['client'][1] != 'fichier navigateurs.txt absent'){
if(isset($navigateurs[$nav])){
$navigateurs[$nav] = $navigateurs[$nav] + 1;
}
else{
$navigateurs[$nav] = 1;
}
}
}
foreach($cumul['clients']['navigateur'] as $navig=>$values){
if(isset($navigateurs[$navig])){
$navigateurs[$navig] = $navigateurs[$navig] + $values;
}
else{
$navigateurs[$navig] = $values;
}
}
arsort($navigateurs);
if($nbaffinavigateurs != 1000){
$navigateurs = array_slice($navigateurs, 0, $nbaffinavigateurs, true);
}
foreach($navigateurs as $key => $value){
$scoremax = $navigateurs[$key];
break;
}
?>
Navigateurs
$score){
// Adaptation de la longueur au score
$long =ceil((float)($score/$scoremax)*10)*10;
?> -
$val){
$syse = $log[$numSession]['client'][2];
if($log[$numSession]['client'][2] != 'fichier systemes.txt absent'){
if(isset($systemes[$syse])){
$systemes[$syse] = $systemes[$syse] + 1;
}
else{
$systemes[$syse] = 1;
}
}
}
foreach($cumul['clients']['systeme'] as $syse=>$values){
if(isset($systemes[$syse])){
$systemes[$syse] = $systemes[$syse] + $values;
}
else{
$systemes[$syse] = $values;
}
}
arsort($systemes);
if($nbaffise != 1000){
$systemes = array_slice($systemes, 0, $nbaffise, true);
}
foreach($systemes as $key => $value){
$scoremax = $systemes[$key];
break;
}
?>
Systèmes d'exploitation
$score){
// Adaptation de la longueur au score
$long =ceil((float)($score/$scoremax)*10)*10;
?> -
$val){
if($log[$numSession]['geolocalisation'] != 'Fichier - clef_ipapi_com.txt - absent , .'){
// Extraction du pays
$postiret = strpos($log[$numSession]['geolocalisation'], '-');
$pays = substr($log[$numSession]['geolocalisation'], 0, $postiret - 1);
if(isset($tabpays[$pays])){
$tabpays[$pays] = $tabpays[$pays] + 1;
}
else{
$tabpays[$pays] = 1;
}
}
}
foreach($cumul['clients']['localisation'] as $pays=>$values){
if(isset($tabpays[$pays])){
$tabpays[$pays] = $tabpays[$pays] + $values;
}
else{
$tabpays[$pays] = $values;
}
}
arsort($tabpays);
if($nbaffipays != 1000){
$tabpays = array_slice($tabpays, 0, $nbaffipays, true);
}
foreach($tabpays as $key => $value){
$scoremax = $tabpays[$key];
break;
}
?>
Pays
$score){
// Adaptation de la longueur au score
$long =ceil((float)($score/$scoremax)*10)*10;
?> -
$val){
$datetimei = strtotime(substr($log[$numSession]['vues'][0], 0 , 19));
$nbpageparsession = count($log[$numSession]['vues']);
// Si $nbpageparsession <=1 on force la valeur de $datetimef
if($nbpageparsession <= 1){
$datetimef = $datetimei + $timeVisiteMini;
}
else{
$datetimef = strtotime(substr($log[$numSession]['vues'][$nbpageparsession - 1], 0 , 19));
}
$dureesession = $datetimef - $datetimei;
$dateclef = substr($log[$numSession]['vues'][0], 0 , 10);
if( ! isset($chrono[$dateclef])){
$chrono[$dateclef] = array( 'nb_visites' => 0, 'nb_pages_vues' => 0, 'duree' =>0);
}
$chrono[$dateclef]['nb_visites']++;
$chrono[$dateclef]['nb_pages_vues'] = $chrono[$dateclef]['nb_pages_vues'] + $nbpageparsession;
$chrono[$dateclef]['duree'] = $chrono[$dateclef]['duree'] + $dureesession;
}
// Tri du tableau par clefs en commençant par la date la plus récente
krsort($chrono);
?>
Affichage chronologique résumé
$value){
$dureeparvisite = '';
if($chrono[$date]['nb_visites'] > 0){
$dureeparvisite = conversionTime( (int)($chrono[$date]['duree'] / $chrono[$date]['nb_visites']));
}
?>
'.$date.' : Visites => '.$chrono[$date]['nb_visites']; ?>
'.$chrono[$date]['nb_pages_vues']; ?>
'.conversionTime($chrono[$date]['duree']); ?>
0){ echo 'Durée moyenne par visite => '.$dureeparvisite; }?>
= $nbAffiDates) { break;}
} ?>
$value){
$tableau[$i] = $value;
$i++;
}
$tampon = $tableau;
$nbsessiontampon = count($tampon);
$tableau = array();
for($i=0; $i < $nbEnregSession; $i++){
$tableau[$i] = $tampon[$nbsessiontampon - 1 - $i];
if($nbsessiontampon - 1 - $i == 0){ break;}
}
if( isset($tableau[0]['vues'][0])){
// Recherche de la première date dans le fichier courant
$datedebut = date('Y/m/d H:i:s');
$datedebut = substr($tableau[count($tableau) - 1]['vues'][0], 0 , 19);
?>
Affichage détaillé des dernières visites
$values){
$pagesvues ='';
$nbpageparsession = count($tableau[$num]['vues']);
$datetimei = strtotime(substr($tableau[$num]['vues'][0], 0 , 19));
$datetimef = strtotime(substr($tableau[$num]['vues'][$nbpageparsession - 1], 0 , 19));
$dureevisite = 0;
for( $i=0 ; $i < $nbpageparsession - 1 ; $i++){
$nompage = substr($tableau[$num]['vues'][$i], 22 , strlen($tableau[$num]['vues'][$i]));
$dureepage = strtotime(substr($tableau[$num]['vues'][$i + 1], 0 , 19)) - strtotime(substr($tableau[$num]['vues'][$i], 0 , 19));
$pagesvues .= $nompage.' ('.$dureepage.' s) - ';
$dureevisite = $dureevisite + $dureepage;
}
$pagesvues .= substr($tableau[$num]['vues'][$nbpageparsession - 1], 22 , strlen($tableau[$num]['vues'][$nbpageparsession - 1]));
// Affichages
echo ' - Début de session : '.substr($tableau[$num]['vues'][0], 0 , 19).'
';
if($geolocalisation){
echo ' >> Géolocalisation : '.$tableau[$num]['geolocalisation'].'
';
}
echo ' - User Agent : '.$tableau[$num]['userAgent'].'
';
echo ' >> Système d\'exploitation : '.$tableau[$num]['client'][2].'
';
echo ' >> Navigateur : '.$tableau[$num]['client'][1].'
';
echo ' - Accept Language : '.$tableau[$num]['langage'].'
';
echo ' >> Langage préféré : '.$tableau[$num]['client'][0].'
';
echo ' - Referer : '.$tableau[$num]['referer'].'
';
echo ' - Nombre total de pages vues : '.$nbpageparsession.'
';
if($nbpageparsession >= 1){
echo ' - Pages vues (durée) : '.$pagesvues.'
';
}
else{
echo ' - Pages vues : '.$pagesvues.'
';
}
$dureevisite = conversionTime($dureevisite);
if($dureevisite != '0 s'){
echo ' - Durée de la visite > à '. $dureevisite.'
'.'
';
}
else{
echo ' - Durée de la visite : ?'.'
'.'
';
}
$comptevisites++;
$comptepages = $comptepages + $nbpageparsession;
}
// Affichage du bilan pour la période en cours
echo 'Visites depuis le '.$datedebut.'
'.'
';
echo ' - Nombre total de pages vues : '.$comptepages.'
';
echo ' - Nombre de visites : '.$comptevisites.'
'.'
';
}
?>
= 3600)
{$Heure = $Heure + 1; $Seconde = $Seconde - 3600;}
while ($Seconde >= 60)
{$Minute = $Minute + 1; $Seconde = $Seconde - 60;}
if ($Heure > 0)
{$Convert = $Heure.' h '.$Minute.' min '.$Seconde.' s'; return $Convert;}
elseif ($Minute > 0)
{$Convert = $Minute.' min '.$Seconde.' s'; return $Convert;}
else
{$Convert = $Seconde.' s'; return $Convert;}
}
?>