#46 2005-09-19 08:38:49

ced26
Membre
2005-09-16
13

Re: Historique

il serait possible d'avoir le script en entier à télécharger?
J'attendais qu'il soit au point pour le chargé, et j'ai pô envie de chager la première version et de me taper les modifs que vous expliquer ci-dessus.

Merci par avance.

Hors ligne

#47 2005-09-19 10:18:33

digimic
Membre
2005-04-05
107

Re: Historique

il est dans un post précédent .. lis bien

Hors ligne

#48 2005-09-19 20:57:56

e-poussin
Membre
Paris
2005-09-16
25

Re: Historique

La version 1.2 de ce mod pour une install complète:
- accès aux statistiques détaillés (v1.0)
- gestion de la pagination (v1.1)
- compteur live (v1.2)

Code:

############################################################## 
## MOD Title: Stats
## MOD Author: e-poussin (http://www.e-poussin.com/)
## MOD Description: - this MOD allow you to have detailed statistics
##                  - ce MOD vous permet d'avoir des statistiques détaillés
## MOD Version: 1.2 
## phpWebGallery Version: 1.4.1
## 
## Installation Level: Advanced
## Installation Time: 30 Minutes 
## Files To Edit:
##    admin/configuration.php
##    admin/stats.php
##    include/functions.inc.php
##    include/config.inc.php
##    language/en_UK.iso-8859-1/admin.lang.php
##    language/fr_FR.iso-8859-1/admin.lang.php
##    template/default/admin/configuration.tpl
##    template/default/admin/stats.tpl
##    category.php
##
############################################################## 
## Author Notes: 
##
##    ### Francais ###
##    
##    Ce MOD permet d'obtenir la liste de toutes les connexions à votre galerie, et
##    de connaître les accès (quelle catégorie?, quelle photo?) réalisés par les
##    utilisateurs (adresse, login) pour un mois donné.
##
##    De plus, des paramètres supplémentaires vous permettent de ne pas historiser
##    l'activité de l'administrateur, ni tracer l'activité d'utilisateurs se
##    présentant avec une IP donnée.
##
############################################################## 
## MOD History: 
## 
##   2005-09-16 - Version 1.0
##      - Initial Release
## 
##   2005-09-18 - Version 1.1
##      - Added: Pagination
##
##   2005-09-18 - Version 1.2
##      - Added: Live counter
##
############################################################## 
## Before Adding This MOD To Your PWG, You Should Back Up All Files Related To This MOD 
############################################################## 

# 
#-----[ SQL ]------------------------------------------ 
#

--
-- Don't forget to replace 'phpwebgallery_' with you owned table_prefix
--

INSERT INTO `phpwebgallery_config` ( `param` , `value` , `comment` ) VALUES ('logadmin', 'true', 'log administrator actions');
INSERT INTO `phpwebgallery_config` ( `param` , `value` , `comment` ) VALUES ('IPList', '', 'List of IP addresses to ignore');

# 
#-----[ OPEN ]------------------------------------------ 
#

admin/stats.php

# 
#-----[ FIND ]------------------------------------------ 
#

  'IMAGES'=>$pictures['p'],

# 
#-----[ AFTER, ADD ]------------------------------------------ 
#

  // BEGIN Stats Detaillé MOD
  'URL'=>PHPWG_ROOT_PATH.'admin.php?page=stats&month='.$current_month,
  // END Stats Detaillé MOD

# 
#-----[ FIND ]------------------------------------------ 
#

$max_pages_seen = 0;

# 
#-----[ AFTER, ADD ]------------------------------------------ 
#

// BEGIN Stats Detaillé MOD
if (isset( $_GET['month'] ))
{
  $current_month = $_GET['month'];
  
  // Set WHERE clause
  $where = ' WHERE DATE_FORMAT(date,\'%Y-%m\') = \''.$current_month.'\'';
  
  // Set LIMIT clause
  $limit = ' LIMIT ';
  $page['start'] = 0;
  if (isset($_GET['start']) and is_numeric($_GET['start'])) $page['start'] = abs($_GET['start']);
  $limit .= $page['start'];
  $limit .= ','.$conf['nb_logs_page'];

  $query = '
  SELECT date, login, IP, category, file, picture
    FROM '.HISTORY_TABLE.
    $where.'
    ORDER BY date DESC'.
    $limit.
    ';';
  $result = pwg_query( $query );
  $i=0;
  while ( $row = mysql_fetch_array( $result ) )
  {
    $class = ($i % 2)? 'row1':'row2'; $i++;

    $template->assign_block_vars('detail',array(
    'DATE'=>$row['date'],
    'LOGIN'=>$row['login'],
    'IP'=>gethostbyaddr($row['IP']),
    'CATEGORY'=>$row['category'],
    'FILE'=>$row['file'],
    'PICTURE'=>$row['picture'],
    'T_CLASS'=>$class
    ));
  }
  
  // Get total number of logs
  $query = '
      SELECT COUNT(date) as nb_logs
       FROM '.HISTORY_TABLE.
    $where.'
      ;';
  
    $result = pwg_query($query);
    $row = mysql_fetch_array($result);
    $page['nb_logs']=$row['nb_logs'];
  
    //display nav bar
    $url = $_SERVER['PHP_SELF'].'?page=stats&month='.$_GET['month'];

    $page['navigation_bar'] =
      create_navigation_bar( $url, $page['nb_logs'],$page['start'],$conf['nb_logs_page'], 'admin' );
  $template->assign_block_vars(
      'navigation',
      array('NAV_BAR' => $page['navigation_bar'])
      );
}
// END Stats Detaillé MOD

# 
#-----[ OPEN ]------------------------------------------ 
#

admin/configuration.php

# 
#-----[ FIND ]------------------------------------------ 
#

    $history_yes = ($conf['log']=='true')?'checked="checked"':'';

# 
#-----[ BEFORE, ADD ]------------------------------------------ 
#

  // BEGIN Stats Detaillé MOD
  $history_admin_yes = ($conf['logadmin']=='true')?'checked="checked"':'';
  $history_admin_no = ($conf['logadmin']=='false')?'checked="checked"':'';
  // END Stats Detaillé MOD

# 
#-----[ FIND ]------------------------------------------ 
#

        'L_CONF_GALLERY_LOCKED_INFO'=>$lang['conf_gallery_locked_info'],

# 
#-----[ AFTER, ADD ]------------------------------------------ 
#


    // BEGIN Stats Detaillé MOD
    'L_CONF_HISTORY_IPLIST'=>$lang['conf_log_iplist'],
    'L_CONF_HISTORY_ADMIN'=>$lang['conf_log_admin'],
    'LOGADMIN_YES'=>$history_admin_yes,
    'LOGADMIN_NO'=>$history_admin_no,
    'IPLIST'=>$conf['IPList'],
      // END Stats Detaillé MOD

# 
#-----[ OPEN ]------------------------------------------ 
#

include/functions.inc.php

# 
#-----[ FIND ]------------------------------------------ 
#

  if ($conf['log'])
  {

# 
#-----[ AFTER, ADD ]------------------------------------------ 
#

  // BEGIN Stats Detaillé MOD
  if (
    (!in_array($_SERVER['REMOTE_ADDR'], split(';', $conf['IPList']))) and
    ($conf['logadmin'] or (!$conf['logadmin'] and ($user['username'] != 'admin')))
    )
  {
  // END Stats Detaillé MOD

# 
#-----[ FIND ]------------------------------------------ 
#

    \''.addslashes($picture).'\')
  ;';
    pwg_query($query);

# 
#-----[ AFTER, ADD ]------------------------------------------ 
#

  // BEGIN Stats Detaillé MOD
  }
  // END Stats Detaillé MOD

# 
#-----[ OPEN ]------------------------------------------ 
#

include/config.inc.php

# 
#-----[ FIND ]------------------------------------------ 
#

$conf['show_version'] = false;

# 
#-----[ AFTER, ADD ]------------------------------------------ 
#

// BEGIN Stats Detaillé 
// nb_logs_page : number of logs displayed per page
$conf['nb_logs_page'] = 300;

// Activity period (in minutes)
$conf['activity_period'] = 5;

// END Stats Detaillé

# 
#-----[ OPEN ]------------------------------------------ 
#

language/en_UK.iso-8859-1/admin.lang.php

# 
#-----[ FIND ]------------------------------------------ 
#

$lang['conf_gallery_locked_info'] = 'Lock the entire gallery for maintenance. Only administrator users will be able to reach the gallery';

# 
#-----[ AFTER, ADD ]------------------------------------------ 
#

// BEGIN Stats Detaillé MOD
$lang['conf_log_iplist'] = 'List of IP addresses to ignore (separated by ;)';
$lang['conf_log_admin'] = 'Log administrator actions';
// END Stats Detaillé MOD

# 
#-----[ FIND ]------------------------------------------ 
#

$lang['stats_visitors_graph_title'] = 'Nombre de visiteurs par jour';

# 
#-----[ AFTER, ADD ]------------------------------------------ 
#

// BEGIN Stats Detaillé MOD
$lang['stats_date'] = 'Date';
$lang['stats_login'] = 'Login';
$lang['stats_addr'] = 'Address';
$lang['stats_category'] = 'Category';
$lang['stats_file'] = 'File';
$lang['stats_picture'] = 'Picture';
// END Stats Detaillé MOD

# 
#-----[ OPEN ]------------------------------------------ 
#

language/fr_FR.iso-8859-1/admin.lang.php

# 
#-----[ FIND ]------------------------------------------ 
#

$lang['conf_gallery_locked_info'] = 'Verrouiller toute la galerie pour maintenance. 
Attention à ne pas vous déconnecter : seul l\'administrateur sera capable d\'y accéder.';

# 
#-----[ AFTER, ADD ]------------------------------------------ 
#

// BEGIN Stats Detaille MOD
$lang['conf_log_iplist'] = 'Liste des adresses IP à ignorer (séparées par des ;)';
$lang['conf_log_admin'] = 'Historiser les actions de l\'administrateur';
// END Stats Detaille MOD

# 
#-----[ FIND ]------------------------------------------ 
#

$lang['stats_visitors_graph_title'] = 'Nombre de visiteurs par jour';

# 
#-----[ AFTER, ADD ]------------------------------------------ 
#

// BEGIN Stats Detaillé MOD
$lang['stats_date'] = 'Date';
$lang['stats_login'] = 'Identifiant';
$lang['stats_addr'] = 'Adresse';
$lang['stats_category'] = 'Categorie';
$lang['stats_file'] = 'Fichier';
$lang['stats_picture'] = 'Image';
// END Stats Detaillé MOD

# 
#-----[ OPEN ]------------------------------------------ 
#

template/default/admin/configuration.tpl

# 
#-----[ FIND ]------------------------------------------ 
#

  <tr>
    <td><strong>{general.L_CONF_HISTORY}&nbsp;:</strong><br /><span class="small">{general.L_CONF_HISTORY_INFO}</span></td>
  <td class="row1"><input type="radio" class="radio" name="log" value="true" {general.history_yes} />{L_YES}&nbsp;&nbsp;
  <input type="radio" class="radio" name="log" value="false" {general.history_no} />{L_NO}</td>
  </tr>

# 
#-----[ REPLACE BY ]------------------------------------------ 
#

  <tr>
    <td><strong>{general.L_CONF_HISTORY}&nbsp;:</strong><br /><span class="small">{general.L_CONF_HISTORY_INFO}</span></td>
  <td class="row1"><input type="radio" class="radio" name="log" value="true" {general.HISTORY_YES} onClick="document.forms[0].IPList.disabled=false; document.forms[0].logadmin[0].disabled=false; document.forms[0].logadmin[1].disabled=false;"/>{L_YES}&nbsp;&nbsp;
  <input type="radio" class="radio" name="log" value="false" {general.HISTORY_NO} onClick="document.forms[0].IPList.disabled=true; document.forms[0].logadmin[0].disabled=true; document.forms[0].logadmin[1].disabled=true;"/>{L_NO}</td>
  </tr>
  <tr>
    <td><span class="small">{general.L_CONF_HISTORY_IPLIST}</span></td>
    <td class="row1"><input name="IPList" type="text" id="IPList" size="20" maxlength="255" value="{general.IPLIST}"></td>
  </tr>
  <tr>
    <td><span class="small">{general.L_CONF_HISTORY_ADMIN}</span></td>
    <td class="row1"><input type="radio" class="radio" name="logadmin" value="true" {general.LOGADMIN_YES} />
      {L_YES}&nbsp;&nbsp;
      <input type="radio" class="radio" name="logadmin" value="false" {general.LOGADMIN_NO} />
      {L_NO}</td>
  </tr>

# 
#-----[ OPEN ]------------------------------------------ 
#

template/default/admin/stats.tpl

# 
#-----[ FIND ]------------------------------------------ 
#

    <td>{month.MONTH}</td>

# 
#-----[ REPLACE BY ]------------------------------------------ 
#

    <td><a href="{month.URL}">{month.MONTH}</a></td>

# 
#-----[ FIND ]------------------------------------------ 
#

<br />

# 
#-----[ AFTER, ADD ]------------------------------------------ 
#

<table class="table2" width="60%">
<tr class="throw">
    <th>{L_STAT_DATE}</th>
  <th>{L_STAT_LOGIN}</th>
    <th>{L_STAT_ADDR}</th>
    <th>{L_STAT_CATEGORY}</th>
    <th>{L_STAT_FILE}</th>
    <th>{L_STAT_PICTURE}</th>
</tr>
<!-- BEGIN detail -->
  <tr class="{detail.T_CLASS}">
    <td nowrap>{detail.DATE}</td>
    <td>{detail.LOGIN}</td>
    <td>{detail.IP}</td>
  <td>{detail.CATEGORY}</td>
  <td>{detail.FILE}</td>
  <td>{detail.PICTURE}</td>
  </tr>
<!-- END detail -->
</table>
<br />
<!-- BEGIN navigation -->
<div  class="admin">
{navigation.NAV_BAR}
</div>
<!-- END navigation -->

# 
#-----[ OPEN ]------------------------------------------ 
#

category.php

# 
#-----[ FIND ]------------------------------------------ 
#

//------------------------------------------------------------ log informations

# 
#-----[ BEFORE, ADD ]------------------------------------------ 
#

// BEGIN Stats Detaillé
  $query = '
  SELECT COUNT(DISTINCT(IP)) AS nb_users
    FROM '.HISTORY_TABLE.'
    WHERE date >= DATE_SUB(NOW(), INTERVAL '.$conf['activity_period'].' MINUTE);';
  
  $result = pwg_query($query);
    $row = mysql_fetch_array($result);
    $page['nb_users']=$row['nb_users'];
  
  $template->assign_vars(array(
    'NB_USERS'=>$page['nb_users']
    ));
// END Stats Detaillé


#-----[ SAVE/CLOSE ALL FILES ]------------------------------------------ 
# 
# EoM

Photos de qualité: http://www.e-poussin.com/

Hors ligne

#49 2005-09-19 23:19:51

POLO
Membre
2005-08-11
61

Re: Historique

Encore un tres tres tres grand merci pour ta contribution e-poussin ca fesait un moment que je chercher tout ca......
moi je vote pour toi pour "MISTER PHP 2005"

Hors ligne

#50 2005-09-19 23:32:11

plg
Équipe Piwigo
Nantes, France, Europe
2002-04-05
12671

Re: Historique

(j'encourage très très fortement e-poussin à me contacter, via le forum, pour que son MOD soit mis à disposition officiellement)


Les historiens ont établi que Pierrick était le premier utilisateur connu de Piwigo.

Hors ligne

#51 2005-09-20 09:14:22

ced26
Membre
2005-09-16
13

Re: Historique

Cool, je vais pouvoir l'installer. Merci e-poussin!!

Hors ligne

#52 2005-09-20 10:27:25

e-poussin
Membre
Paris
2005-09-16
25

Re: Historique

z0rglub a écrit:

(j'encourage très très fortement e-poussin à me contacter, via le forum, pour que son MOD soit mis à disposition officiellement)

Avec plaisir!
As tu besoin d'éléments complémentaires au code du post précédent? Ce mod ne requiert aucun nouveau fichier: il modifie les fichiers existants.

J'en profite pour te poser une question: est-ce que la version 1.5 incluera une fonctionnalité de statistiques "détaillées"?
Et sinon, la question que tout le monde se pose :) : la version 1.5 sortira-t'elle avant la fin du mois?

Toutes mes félicitations pour phpwebgallery, c'est vraiment un outil génial!


Photos de qualité: http://www.e-poussin.com/

Hors ligne

#53 2005-09-20 11:29:12

volcom
Former Piwigo Team
2005-01-24
489

Re: Historique

on en avait discuté avec z0rglub, apparemment ce n'était pas dans les priorités de la 1.5. S' il est d'accord, je peux m'occuper ce week end d'intégrer des statistiques détaillées en récupérant quelques morceaux de ton code (si tu es accord aussi) et en ajoutant quelques fonctionnalités. On pourrait tester tout ça en RC1. Qu'en pensez vous ?

Félicitations à toi pour ce MOD :)

Hors ligne

#54 2005-09-20 11:33:29

VDigital
Former Piwigo Team
Montpellier (FR)
2005-05-04
15127

Re: Historique

Je pense que e-poussin peut nous apporter beaucoup d'idées d'améliorations.
Bravo en tout cas pour cette amélioration de l'historique qui effectivement mériterait d'être incorporée en 1.5.


Vincent -« Plus vidéaste averti que photographe amateur... »
La galerie - Le blog   

Piwigo est une application libre de gestion de photos en ligne.

Hors ligne

#55 2005-09-20 11:47:45

POLO
Membre
2005-08-11
61

Re: Historique

c clair

Hors ligne

#56 2005-09-20 16:28:24

roadbuster
Membre
2004-10-18
13

Re: Historique

Merci pour ce MOD qui nous permet de pouvoir de nouveau espionner discrètement nos visiteurs..

J'ai par contre qq petits pbs sur certains mois, en haut de la page je peux avoir parfois jusqu'à une centaine de ligne comme celle-ci :
" Warning: gethostbyaddr(): Address is not in a.b.c.d form in /var/www/free.fr/e/7/famille.menot/images/photos/admin/stats.php on line 141"

=> il semble que l'IP du visiteur soit mal décodé ou pas décodable ?? Est-ce que je suis le seul avec ce pb ?
Une idée sur l'origine ??

Rq : parfois dans le tableau détaillant toutes les connexions, certain visiteur n'ont pas d'adresse IP renseignée (peut-être que cela correspond aux msg précédents..)


Plus il y a de marches, meilleure est la cave..

Hors ligne

#57 2005-09-20 18:02:06

ced26
Membre
2005-09-16
13

Re: Historique

j'ai une soucis avec ce Mod...
Je l'ai installé et rien ne se passe...
Je l'ai donc désinstallé et remis ma gallery au "propre".
Je l'ai réinstallé et toujours rien.... Dans "Historique", je ne peux pas cliquer sur les mois. Et c'est pas un problème de trop de connexion car j'ai très peu de visiteurs.


Que('s) fichier(s) vous voulez voir pour m'aider?

Hors ligne

#58 2005-09-20 20:40:19

e-poussin
Membre
Paris
2005-09-16
25

Re: Historique

volcom a écrit:

on en avait discuté avec z0rglub, apparemment ce n'était pas dans les priorités de la 1.5. S' il est d'accord, je peux m'occuper ce week end d'intégrer des statistiques détaillées en récupérant quelques morceaux de ton code (si tu es accord aussi) et en ajoutant quelques fonctionnalités. On pourrait tester tout ça en RC1. Qu'en pensez vous ?

Félicitations à toi pour ce MOD :)

Tout à fait d'accord pour que tu l'intégres dans la prochaine version.
Par contre, j'ai encore quelques idées pour améliorer ou apporter de nouvelles fonctionnalités à ce mod. Et en priorité, le consolider (cf le bug détecté par roadbuster ci-dessus).

Donc, au choix: soit on l'intégre dès maintenant dans la v1.5, soit on continue à améliorer le mod actuel.
Tout dépend de la date de sortie de la 1.5.

PS: exemple de nouvelles fonctionnalités: afficher la répartition des connectés par pays. Ca m'a toujours amusé de savoir que mon site était visité par différentes nationalités. :)


Photos de qualité: http://www.e-poussin.com/

Hors ligne

#59 2005-09-20 20:44:35

digimic
Membre
2005-04-05
107

Re: Historique

je souhaiterais une chose. peut on désactiver les logs du compte administrateur car a chaque fois que je visualise la galerie je me vois dans les logs et ca me parasite plus qu'autre chose.

Autrement peut on aussi trier par LOGIN en gros ce serait de rajouter des options de tri pour chaque colonne..

Hors ligne

#60 2005-09-20 20:49:57

e-poussin
Membre
Paris
2005-09-16
25

Re: Historique

roadbuster a écrit:

Merci pour ce MOD qui nous permet de pouvoir de nouveau espionner discrètement nos visiteurs..

J'ai par contre qq petits pbs sur certains mois, en haut de la page je peux avoir parfois jusqu'à une centaine de ligne comme celle-ci :
" Warning: gethostbyaddr(): Address is not in a.b.c.d form in /var/www/free.fr/e/7/famille.menot/images/photos/admin/stats.php on line 141"

=> il semble que l'IP du visiteur soit mal décodé ou pas décodable ?? Est-ce que je suis le seul avec ce pb ?
Une idée sur l'origine ??

Rq : parfois dans le tableau détaillant toutes les connexions, certain visiteur n'ont pas d'adresse IP renseignée (peut-être que cela correspond aux msg précédents..)

J'ai trouvé une astuce sur un forum, il suffit simplement d'ajouter @ devant la fonction gethostbyaddr. J'ai testé ca marche!

Il faut donc:
- ouvrir le fichier admin/stats.php
- trouver la chaîne suivante: 'IP'=>gethostbyaddr($row['IP']),
- tu ajoutes un @ juste avant le gethostbyaddr. Ca donne ça: 'IP'=>@gethostbyaddr($row['IP'])
- tu sauves

Dis moi si c'est efficace.


Photos de qualité: http://www.e-poussin.com/

Hors ligne

Pied de page des forums

Propulsé par FluxBB

github twitter newsletter Faire un don Piwigo.org © 2002-2024 · Contact