coppermine-gallery.com/forum

Support => Français (French) => Language Specific Support => cpg1.4.x Français (French) => Topic started by: maximus86 on August 08, 2007, 09:26:01 PM

Title: voir les connectés (OnlineStats)
Post by: maximus86 on August 08, 2007, 09:26:01 PM
Bonjour,

   Je souhaiterai savoir si il existe un plugin qui permet de voir les connecté en ligne, avec la date, l'heure et leur adresse ip.
L'affichage des renseignement se ferai seulement en mode administrateur.
J'ai vu qu'il existait un plugin "OnlineStats" le probleme c'est qui fonctionne avec tous les utilisateurs alors que j'aimerai qu'il affiche les résultats seulement en Mode Administrateur...

Merci d'avance pour votre aide
Title: Re: voir les connectés
Post by: François Keller on August 08, 2007, 09:48:45 PM
c'est possible en ajoutant une condition dans le fichier codebase.php du plugin dans la fonction online_mainpage()
il faut ajouter
if (GALLERY_ADMIN_MODE){
juste avant
if (defined('UDB_INTEGRATION')){
sans oublier de fermer la condition avec un { à la fin de la fonction
Title: Re: voir les connectés (OnlineStats)
Post by: maximus86 on August 09, 2007, 10:23:18 PM
j'ai ajouté la condition sur la fonction :
function online_mainpage():

if (GALLERY_ADMIN_MODE){
        }
        if (defined('UDB_INTEGRATION')){
                $CONFIG['TABLE_USERS'] = $cpg_udb->usertable;
                $user_id = $cpg_udb->field['user_id'];
                $user_name = $cpg_udb->field['username'];
        } else {
                $user_id = 'user_id';
                $user_name = 'user_name';
        }



Mais rien ne se passe comme prévu, car quandd je me place en Utilisateur Registered , on voit comme même ceux qui sont connectéx.
Alors que je souhaiterai que seul les administrateurx puissent voir...

une petite aide ne serait pas de refus...
merci de votre aide

[edit by PYAP]Faites attention à l'orthographe ! C'est très pénible de lire des POST avec 10000 fautes et de devoir les corriger pour que les autres Utilisateurs comprennent[/edit]
Title: Re: voir les connectés (OnlineStats)
Post by: maximus86 on August 10, 2007, 01:09:38 AM
dsl pour les fautes d'orthographes
Title: Re: voir les connectés (OnlineStats)
Post by: François Keller on August 10, 2007, 07:53:46 AM
c'est normal:
il faut mettre
if (GALLERY_ADMIN_MODE){
       
        if (defined('UDB_INTEGRATION')){
                $CONFIG['TABLE_USERS'] = $cpg_udb->usertable;
                $user_id = $cpg_udb->field['user_id'];
                $user_name = $cpg_udb->field['username'];
        } else {
                $user_id = 'user_id';
                $user_name = 'user_name';
        }
}

la condition était fermée trop top dans votre code
Title: Re: voir les connectés (OnlineStats)
Post by: maximus86 on August 10, 2007, 02:38:51 PM
bonjour,
j'ai essayé avec le nouveau code en fermant la condition à l'endroit où vous m'avez dit,mais le probleme reste le même.
Qd je me connecte en tant que Utilisateur "Registered", on voit tjrs les connectés. j'ai bien modifié la page "codebase.php" qui se trouve dans le repoitoire "plugins\onlinestats".

Voici le code:

function online_mainpage()
{
        global $CONFIG, $cpg_udb, $matches, $lang_plugin_onlinestats, $lang_plugin_onlinestats_date_fmt ;
        require ('./plugins/onlinestats/include/init.inc.php');
        if($matches[1] != 'onlinestats') {
          return $matches;
        }
        if (GALLERY_ADMIN_MODE){
       
        if (defined('UDB_INTEGRATION')){
                $CONFIG['TABLE_USERS'] = $cpg_udb->usertable;
                $user_id = $cpg_udb->field['user_id'];
                $user_name = $cpg_udb->field['username'];
        } else {
                $user_id = 'user_id';
                $user_name = 'user_name';
        }
}
        if (defined('UDB_INTEGRATION')){
                $CONFIG['TABLE_USERS'] = $cpg_udb->usertable;
                $user_id = $cpg_udb->field['user_id'];
                $user_name = $cpg_udb->field['username'];
        } else {
                $user_id = 'user_id';
                $user_name = 'user_name';
        }


Merci d'avance pour votre aide....
Title: Re: voir les connectés (OnlineStats)
Post by: François Keller on August 10, 2007, 04:13:01 PM
il faut fermer la balise à la fin de la fonction
function online_mainpage()
{
        global $CONFIG, $cpg_udb, $matches, $lang_plugin_onlinestats, $lang_plugin_onlinestats_date_fmt ;
        require ('./plugins/onlinestats/include/init.inc.php');
       
        if($matches[1] != 'onlinestats') {
          return $matches;
        }
       if (GALLERY_ADMIN_MODE){
        if (defined('UDB_INTEGRATION')){
                $CONFIG['TABLE_USERS'] = $cpg_udb->usertable;
                $user_id = $cpg_udb->field['user_id'];
                $user_name = $cpg_udb->field['username'];
        } else {
                $user_id = 'user_id';
                $user_name = 'user_name';
        }

        $result = cpg_db_query("SELECT COUNT(*) FROM {$CONFIG['TABLE_USERS']}");
        $num_users = mysql_fetch_array($result);
        $num_users = $num_users[0];

        $result = cpg_db_query("SELECT COUNT(*) FROM {$CONFIG['TABLE_ONLINE']}");
        $num_online = mysql_fetch_array($result);
        $num_online = $num_online[0];

        $result = cpg_db_query("SELECT COUNT(*) FROM {$CONFIG['TABLE_ONLINE']} WHERE user_id <> 0");
        $num_reg_online = mysql_fetch_array($result);
        $num_reg_online = $num_reg_online[0];
        $result = cpg_db_query("SELECT $user_id, $user_name FROM {$CONFIG['TABLE_USERS']} ORDER BY $user_id DESC LIMIT 1");
        $row = mysql_fetch_row($result);
        $newest_user_name = $row[1];
        $newest_user_id = $row[0];

        $result = cpg_db_query("SELECT user_id, user_name FROM {$CONFIG['TABLE_ONLINE']} WHERE user_id <> 0");

        $logged_in_array = array();

        while ($row = mysql_fetch_assoc($result)) {
                $logged_in_array[] = "<a href=\"profile.php?uid={$row['user_id']}\">{$row['user_name']}</a>";
        }

        $logged_in_names = implode(', ', array_unique($logged_in_array));

        $num_guests = $num_online - $num_reg_online;

        // most users online - TND
        if ($num_online > $CONFIG['record_online_users'])
        {
                $time = time() + ($CONFIG['time_offset'] - date("O") / 100) * 3600;

                $CONFIG['record_online_date'] = localised_date(-1, $lang_plugin_onlinestats_date_fmt);
                $CONFIG['record_online_users'] = $num_online;

                $result = cpg_db_query("UPDATE {$CONFIG['TABLE_CONFIG']} SET value = '$num_online' WHERE name = 'record_online_users'");
                $result = cpg_db_query("UPDATE {$CONFIG['TABLE_CONFIG']} SET value = '$time' WHERE name = 'record_online_date'");
        }

       starttable("100%", $lang_plugin_onlinestats['name']);
        echo '<tr><td class="tableb">';
        echo ($num_users == 1) ? $lang_plugin_onlinestats['have']."<b>1</b>".$lang_plugin_onlinestats['reg_member']."<br />" : $lang_plugin_onlinestats['have']."<b>".$num_users."</b>".$lang_plugin_onlinestats['reg_members']."<br />";
        echo $lang_plugin_onlinestats['most_recent']."<a href=\"profile.php?uid={$newest_user_id}\">{$newest_user_name}</a><br />";
        echo ($num_online == 1) ? $lang_plugin_onlinestats['is']."<b>1</b>".$lang_plugin_onlinestats['user'] : $lang_plugin_onlinestats['are']."<b>".$num_online."</b>".$lang_plugin_onlinestats['users'];
        echo ($num_reg_online == 1) ? ": <b>1</b>".$lang_plugin_onlinestats['reg_member'].$lang_plugin_onlinestats['and'] : ": <b>".$num_reg_online."</b>".$lang_plugin_onlinestats['reg_members'].$lang_plugin_onlinestats['and'];
        echo ($num_guests == 1) ? "<b>1</b>".$lang_plugin_onlinestats['guest']."<br />" : "<b>".$num_guests."</b>".$lang_plugin_onlinestats['guests']."<br />";
        echo $lang_plugin_onlinestats['record']."<b>". $CONFIG['record_online_users']."</b>" .$lang_plugin_onlinestats['on']."<b>". localised_date($CONFIG['record_online_date'], $lang_plugin_onlinestats_date_fmt ) ."</b><br />";
        echo $lang_plugin_onlinestats['reg_members'].$lang_plugin_onlinestats['since'].$CONFIG['mod_updates_duration'].$lang_plugin_onlinestats_config['minute'].": ". $logged_in_names."</td></tr>";

        endtable();
}
}
Title: Re: voir les connectés (OnlineStats)
Post by: maximus86 on August 10, 2007, 07:56:42 PM
Je vous remercie, pour cette aide précieuse,je n'avais pas compris, qu'il fallait mettre la balise à la fin de la fonction "online_mainpage()".
Merci encore
Title: Re: voir les connectés (OnlineStats)
Post by: François Keller on August 11, 2007, 12:07:17 PM
Pas de quoi, c'est en forgeant qu'on devient forgeron (mais c'est tout de même un peu logique d'inclure le code qui génère l'affichage dans la condition  ;))