[MOD/HACK] Voir combien de membres sont connectés [MOD/HACK] Voir combien de membres sont connectés
 

News:

cpg1.5.48 Security release - upgrade mandatory!
The Coppermine development team is releasing a security update for Coppermine in order to counter a recently discovered vulnerability. It is important that all users who run version cpg1.5.46 or older update to this latest version as soon as possible.
[more]

Main Menu

[MOD/HACK] Voir combien de membres sont connectés

Started by nem, January 03, 2005, 08:56:35 PM

Previous topic - Next topic

0 Members and 2 Guests are viewing this topic.

nem

Salut a vous et bravo pour les traduction que vous faite chapeux  ;D
voila j'ai un album et j'aimrai bien savoire quelle membres et connecter sur mon forum c'est possible ? :P

titre du sujet renommé par PYAP
de "voire quelle membres sont connecter." en "Voir combien de membres sont connectés"

Pascal YAP

#1
Bonjour Nem,
Quotebravo pour les traduction que vous faite
Merci bien ! Mais il n'y a pas de traduction ! Le Forum Coppermine en Français est autonome !
Les scripts proposés en anglais effectivement mais les aides en français ;)



Capture d'écran de "Qui est en Ligne ?"

(https://coppermine-gallery.com/forum/proxy.php?request=http%3A%2F%2Fforum.coppermine-gallery.net%2Findex.php%3Faction%3Ddlattach%3Btopic%3D13228.0%3Bid%3D938&hash=70b287207b1324ee2ac7db370e1e6ad31c52f94b)
  Cette modification de Coppermine permet d'afficher "Qui est en Ligne" en la manière des blocs de phpbb. Seront affichés le nom et le nombre d'utilisateurs actuellement en visite dans votre Galerie Coppermine.

  Ce Mod/Hack a été conçu par Nibbler pour Coppermine Standalone version, c'est-à-dire un Coppermine qui n'est pas intégré dans un Forum type phpB, SMF ou InVision.
Ce script peut néanmoins fonctionner si vous changez les références vers la Table des utilisateurs dans le fichier onlinestats.php

8 Etapes pour installer "Qui est en ligne ?".
{A} sauvegardez les fichiers qui seront édités dans cette modif.
Nécessite une création de Table dans votre base de données MySQL

1/ Il faut éditer le fichier init.inc.php dans le dossier "/include/" et en faire une copie de secours.
Exactement à la fin du fichier init.inc.php et juste avant ?> ajoutez le code suivant :

// stats block additions begin
$del = db_query("DELETE FROM {$CONFIG['TABLE_ONLINE']} WHERE last_action < NOW() - INTERVAL 10 MINUTE");
$testarray = explode('.',$raw_ip);
$teststr = $testarray[0] . '.' . $testarray[1];
if ($user_id) {
$sel = db_query("SELECT * FROM {$CONFIG['TABLE_ONLINE']} WHERE user_id='$user_id'");
if (mysql_num_rows($sel)) {
   $upd = db_query("UPDATE {$CONFIG['TABLE_ONLINE']} SET last_action = NOW() WHERE user_id = '$user_id' LIMIT 1");
   } else {
   $ins = db_query("INSERT INTO {$CONFIG['TABLE_ONLINE']} (user_id,user_ip,last_action) VALUES ('$user_id', '$raw_ip', NOW())");
   }
     
} else{
$sel = db_query("SELECT user_ip FROM {$CONFIG['TABLE_ONLINE']} WHERE user_ip LIKE '$teststr%'");
$res = mysql_fetch_assoc($sel);
$result = $res['user_ip'];
if (mysql_num_rows($sel)){
$upd = db_query("UPDATE {$CONFIG['TABLE_ONLINE']} SET last_action = NOW() WHERE user_ip = '$result' LIMIT 1");
} else $ins = db_query("INSERT INTO {$CONFIG['TABLE_ONLINE']} (user_id,user_ip,last_action) VALUES ('$user_id', '$raw_ip', NOW())");
}
// stats block additions end

Il est possible de modifier l'interval de mise à jour, ici le code ci-dessus indique 10 minutes : "INTERVAL 10 MINUTE"

2/ Ajoutez également le code suivant sous un code similaire, aux alentours de la ligne 150 (ceci dépends de votre version de Coppermine).
$CONFIG['TABLE_ONLINE'] = $CONFIG['TABLE_PREFIX']."online";

3/ Téléchargez le fichier OnlineStats.PHP  (en anglais) dans votre répertoire Coppermine et conservez le nom onlinestats.php (lien vers onlinestats.php : http://www.ic-gallery.com/stuff/onlinestats.php )
Ou la Version OnlineStats.php francisée[/color] également en bas de cette page (fichier joint onlinestats.zip)

4/ Editez le fichier index.php (racine de Coppermine)
Trouvez :
case 'anycontent':
               if ($cat == 0) {
                   include('anycontent.php');
               }
               flush();
               break;

et insérez ce code suivant après celui ci-dessus :
 case 'onlinestats':
               if ($cat == 0) {
                   include('onlinestats.php');
               }
               flush();
               break;


5/ Créez une Table MySQL avec phpMyAdmin ou autres :
CREATE TABLE cpg_online (
 user_id int(11) NOT NULL default '0',
 user_ip tinytext NOT NULL,
 last_action datetime default NULL,
 PRIMARY KEY  (user_id,user_ip(15))
) TYPE=MyISAM;

Vérifiez le préfixe de vos tables Coppermine. Ici il est noté : "cpg_" (CREATE TABLE cpg_online)
Si lors de l'installation de Coppermine vous avez signalé un autre nom de préfix de table, modifiez ce code en conséquence.

6/ Editez le fichier login.php
Trouvez le code suivant :
if (defined('UDB_INTEGRATION')) udb_login_page();
et juste avant celui-ci, placez le code suivant :
$result = db_query("DELETE FROM {$CONFIG['TABLE_ONLINE']} WHERE user_id = 0 AND user_ip = '$raw_ip'");

7/ Editez le fichier logout.php
Trouvez le code suivant :
if (defined('UDB_INTEGRATION')) udb_logout_page();
et juste avant celui-ci, placez le code suivant :
$result = db_query("DELETE FROM {$CONFIG['TABLE_ONLINE']} WHERE user_id = $user_id");

8/ Déclarez "onlinestats" dans Le contenu de la Page Principale (bouton Configuration en mode Admin) par exemple comme ceci onlinestats/breadcrumb/alblist/random,3/. Dans cet exemple le nombre de connectés sera affiché en haut de votre galerie.

 Pascal

Le lien ci-dessous mème vers le sujet de Nibbler (en anglais)
http://forum.coppermine-gallery.net/index.php?topic=5373.0


A bientôt

FireFox

hyper bien !!!! ça marche du premier coup ! euh deuxième  :-[
j'ai pas fais attention au nom du préfix de ma table ..... avec un beau messae d'erreur que j'a oublié de noter  :-\\
meerci beauuucouuup
FireFox
Qu'y  a-t-il sous tes pieds ? Tiens moi aussi ! Que respire-tu ? Ah, moi pareil ! Pourtant t'as pas la même couleur que moi ! Pas le même Dieu ! T'es cool Man ! Allé, viens, on va faire de la musiK  :-)

mister_sam

#3
Merci pour cette fonctionnalité excellente et facile à mettre en place.... :P...en une fois (mieux que le goupil de feu !)

pour info : les tâbles par défaut mySql de CPG v132 se nomment  cpg132_


Pascal YAP

Sam,
Quote(mieux que le goupil de feu !)
;D
Bravo

Quoteles tâbles mySql de CPG v132 se nomment  cpg132_
C'est exact si lors de l'installation on ne choisit pas autre chose comme nom. Personnellement je choisi toujours des préfix en rapport avec la Galerie, et non pas avec la version de Coppermine. C'est valable lorsque l'on a plusieures galerie, sinon c'est pratique de conserver le nom de défaut.

Pascal

gwel

Bonsoir,

Je débute avec Coppermine. J'ai essayé d'installer la fonctionnalité "membres connectés" en suivant pas-à-pas ce qui est indiqué, et ça ne fonctionne pas...
J'obtiens le cadre "Erreur critique", There was an error while processing a database query ...Avec ça on est bien avancé  ???

J'ai réessayé une deuxième fois, même topo  :(

Pour info, j'ai la version suivante de Coppermine : cpg1.3.2
J'ai utilisé le fichier OnlineStats.php  francisé, que j'ai bien copié dans le répertoire racine de mon Coppermine.
J'ai un préfixe différent pour ma base, mais j'ai bien pensé à le modifier lors de la création de ma table "pfx_online". La table est bien créée.
J'ai ajouté les différentes lignes où il fallait...
Pour le $CONFIG['TABLE_ONLINE'], je l'ai ajouté ici (ligne 170 de include/init_inc.php pour moi), je pense que c'est correct mais bon :


// Initialise the $CONFIG array and some other variables
$CONFIG = array();
$CONFIG['TABLE_ONLINE'] = $CONFIG['TABLE_PREFIX']."online";


Est-ce que ma version de Coppermine n'est pas adaptée ?

Là je sèche !!

Merci pour vos idées.

gwel

 ;D

OK autant pour moi...Je m'étais bien trompé en ajoutant la ligne


$CONFIG['TABLE_ONLINE'] = $CONFIG['TABLE_PREFIX']."online";


Pour moi il fallait l'ajouter à la ligne 238 environ. En gros, après le bloc de code suivant (si jamais d'autres ont le problème !!) :

$CONFIG['TABLE_PICTURES']        = $CONFIG['TABLE_PREFIX']."pictures";
$CONFIG['TABLE_ALBUMS']                = $CONFIG['TABLE_PREFIX']."albums";
$CONFIG['TABLE_COMMENTS']        = $CONFIG['TABLE_PREFIX']."comments";
$CONFIG['TABLE_CATEGORIES']        = $CONFIG['TABLE_PREFIX']."categories";
$CONFIG['TABLE_CONFIG']                = $CONFIG['TABLE_PREFIX']."config";
$CONFIG['TABLE_USERGROUPS']        = $CONFIG['TABLE_PREFIX']."usergroups";
$CONFIG['TABLE_VOTES']                = $CONFIG['TABLE_PREFIX']."votes";
$CONFIG['TABLE_USERS']                = $CONFIG['TABLE_PREFIX']."users";
$CONFIG['TABLE_BANNED']                = $CONFIG['TABLE_PREFIX']."banned";
$CONFIG['TABLE_EXIF']                = $CONFIG['TABLE_PREFIX']."exif";
$CONFIG['TABLE_FILETYPES']          = $CONFIG['TABLE_PREFIX']."filetypes";
$CONFIG['TABLE_ECARDS']          = $CONFIG['TABLE_PREFIX']."ecards";
$CONFIG['TABLE_TEMPDATA']        = $CONFIG['TABLE_PREFIX']."temp_data";


Ca marche nickel en tout cas !

Merci !

Pascal YAP

Gwel,
QuoteJ'obtiens le cadre "Erreur critique", There was an error while processing a database query ...Avec ça on est bien avancé  
Merci pour le retour d'infos.
QuotePour moi il fallait l'ajouter à la ligne 238 environ.
C'est pour cette raison que j'indique toujours que le N° de ligne n'est qu'une indication... Il faut vraiment lire le code pour le localiser  ;)
La fonction "Rechercher" des éditeurs de texte, marche très bien !
QuoteCa marche nickel en tout cas !
Tout est bien qui fini bien ! Alors, l'adrénaline ?

Pascal

petitbricolo

Slt a tous !! Genial ce Coppermine ;D, on ne s en lasse pas
Question : Quelle est la modif a effectuer pour avoir une mise a jour immediate ou le plus rapide possible du nbre de connectés ?
Instruction dans init.inc.php
// stats block additions begin
$del = db_query("DELETE FROM {$CONFIG['TABLE_ONLINE']} WHERE last_action < NOW() - INTERVAL 10 MINUTE");

Merci
Et comme disait ma grand-mére : vaut mieux 1 qui connait que 10 qui cherchent !!!!!!!!!!!!!
Visitez notre site : http://fly.to/constantine 
AA+

Pascal YAP

#9
PetitBricolo ! ;D
QuoteQuelle est la modif a effectuer pour avoir une mise a jour immediate ou le plus rapide possible du nbre de connectés ?
euh, je crois que c'est noté en fin de chaine ! :D
INTERVAL 10 MINUTE");
Réduire ce temps drastiquement risque de mettre ton serveur en surcharge inutile non ?

Pascal

bibendum

QuoteCe Mod/Hack a été conçu par Nibbler pour Coppermine Standalone version, c'est-à-dire un Coppermine qui n'est pas intégré dans un Forum type phpB, SMF ou InVision.
Ce script peut néanmoins fonctionner si vous changez les références vers la Table des utilisateurs dans le fichier onlinestats.php

Bonjour

J'ai intégré Coppermine avec mon forum pour avoir une base utilisateurs identique.

Quelle est donc la procédure exact pour faire fonctionner le "Qui est en ligne" sur ma galerie ?

Je n'ai pas tres bien compris ce qu'il fallait changer !!! 

Merci d'avance.


Pascal YAP

Bonjour bibendum
QuoteJ'ai intégré Coppermine avec mon forum
Oui quelle est la "marque" votre forum ? SMF, Invision, PhpNuke, phpBB...
PYAP

bibendum

Quote from: PYAP on February 20, 2005, 10:00:21 PM
Bonjour bibendum
QuoteJ'ai intégré Coppermine avec mon forum
Oui quelle est la "marque" votre forum ? SMF, Invision, PhpNuke, phpBB...
PYAP

PhpBB

Merci

Pascal YAP

Bonjour,
QuoteJ'ai intégré Coppermine avec mon forum pour avoir une base utilisateurs identique.
Quelle est donc la procédure exact pour faire fonctionner le "Qui est en ligne" sur ma galerie ?

Restificatif :  ce MOD ne fonctionne correctement que lorsque Coppermine fonctionne en solo !
PYAP

bibendum

Alors est il possible de voir dans le "qui est en ligne" de mon forum les gens connectés sur ma galerie ?


Pascal YAP

Bonjour Bibendum,
Comme je le disais dans un précédent post, je n'utilise pas phpBB ! Et selon toutes vraissemblances, je n'en sais rien  ;)
Mais PhpBB ne gère-t-il pas les Users aussi pour Coppermine ?

Wait and see !
PYAP

showa

#16
J'ai tout fait et je ne voit rien a l'ecran, tout est bin declaré et aucune erreur

help


merci

Pascal YAP

Bonjour
Avez-vous fait ceci comme l'indique le point N°8 du premier message ?

8/ Déclarer "onlinestats" dans le contenu de la Page Principale (bouton Configuration en mode Admin) par exemple comme ceci onlinestats/breadcrumb/alblist/random,3/. (en fonction de vos souhaits)
Dans cet exemple le nombre de connectés sera affiché en haut de votre galerie.

PYAP

showa

oui je l'ai fait, en fait cetait une erreur de variable mal recopier donc c'est reglé.
merci pour vos conseils

claude258

Bonjour,
J'ai un problème lors de la création de la table.
J'obtient l'erreur suivante: (#1170 - BLOB column 'user_ip' used in key specification without a key length)
Comment faire pour spécifier un ''key lenght'' (avec phpmyadmin)?

Voici ce que j'obtient:
(https://coppermine-gallery.com/forum/proxy.php?request=http%3A%2F%2Fclaudebriere.net%2Fcoppermine%2Falbums%2Fuserpics%2F10008%2FClipboard2.jpg&hash=a90483202dbf3f794c51e4e49f0201b93e7aff28)