Fork me on GitHub




(1) 2 »


codage isOnline
Semi pro
Inscrit: 26/03/2004 17:57
De Metz
Messages: 1210
Bonjour, une petit coud de main sur un code

$poster = new XoopsUser($myrow["from_userid"]);
if (
$poster->isOnline()) {
$mp['msg_uline'] = '<img src="images/online.png" alt="" style="width: 20px; height: 20px;"/>';
} else {
$mp['msg_uline'] = '<img src="images/offline.png" alt="" style="width: 20px; height: 20px;"/>';
}


Ce code fonctionne mais que si j'active le block "qui est online", ça peux pas marcher meme sans ce block ?


D'avance merci

Posté le : 11/09/2006 15:17

Edité par Venom sur 11/09/2006 19:06:03
Partager Twitter Partagez cette article sur GG+
Re: codage isOnline
Guest_
Bonjour
Bizzare
C pas dans la méthode.

y a koi dans le code du bloc?
Cdl
William

Posté le : 11/09/2006 15:26
Partager Twitter Partagez cette article sur GG+
Re: codage isOnline
Semi pro
Inscrit: 26/03/2004 17:57
De Metz
Messages: 1210
Comprend pas la question la, mon code n'est pas dans un block mais dans un module. Je vais voir comment eux si prenne pour afficher le online. Bizard car isActive() fonctionne toujour.

Posté le : 11/09/2006 15:32
Partager Twitter Partagez cette article sur GG+
Re: codage isOnline
Guest_
Re
Ton code semble bon.
La methode isonline ne fait pas référence à grand chose

Tu dis que cela ne fonctionne que si le bloc est affiché.

La question qui me semble intéressante serait "A quoi dans la gestion d'affichage du bloc voir le bloc"

Cdl
William

Posté le : 11/09/2006 15:37
Partager Twitter Partagez cette article sur GG+
Re: codage isOnline
Semi pro
Inscrit: 26/03/2004 17:57
De Metz
Messages: 1210
J'ai pas regarder la car dans ma logique ci isActive() fonctionne toujour en renvoyant true ou false il devrais etre de meme pour isOnline().

Posté le : 11/09/2006 15:42
Partager Twitter Partagez cette article sur GG+
Re: codage isOnline
Guest_
Re
Devrait devrait.... y a pleins de truc qui devrait et qu'y ne veulent pas y aller.
Desolé de ne pouvoir t'aider.

Cdl
William

Posté le : 11/09/2006 15:48
Partager Twitter Partagez cette article sur GG+
Re: codage isOnline
Semi pro
Inscrit: 26/03/2004 17:57
De Metz
Messages: 1210
Effectivement ça m'aide pas lol, quelqu'un a une idée ???

Posté le : 11/09/2006 16:52
Partager Twitter Partagez cette article sur GG+
Re: codage isOnline
Régulier
Inscrit: 06/01/2006 23:55
Messages: 379
Citation :

Venom a écrit:
Bonjour, une petit coud de main sur un code

$poster = new XoopsUser($myrow["from_userid"]);
if (
$poster->isOnline()) {
$mp['msg_uline'] = '<img src="images/online.png" alt="" style="width: 20px; height: 20px;"/>';
} else {
$mp['msg_uline'] = '<img src="images/offline.png" alt="" style="width: 20px; height: 20px;"/>';
}


Ce code fonctionne mais que si j'active le block "qui est online", ça peux pas marcher meme sans ce block ?


D'avance merci

La methode isOnline verifie un flag qui est a True ou False.
Ce flag est initialise quasiment uniquement par le block 'qui est en ligne'.
Je veux dire par là qu'il est initialise par ce block si tu l'affiche mais aussi par des blocks a fonction identiques tel que ceux du module xm_memberstats etc... et c'est tout.
Donc oui sans un de ces blocks et/ou le recodage de Xoops tu n'auras pas le renseignement en ligne ou pas.

Posté le : 11/09/2006 17:47
Partager Twitter Partagez cette article sur GG+
Re: codage isOnline
Semi pro
Inscrit: 26/03/2004 17:57
De Metz
Messages: 1210
Ok autre question a quoi peux bien servir la table "xoops_online" chez moi elle ne se met pas a jour donc inutile. Autre question comment initialiser cette variable.

Posté le : 11/09/2006 18:17
Partager Twitter Partagez cette article sur GG+
Re: codage isOnline
Régulier
Inscrit: 06/01/2006 23:55
Messages: 379
ben betement avec le bout de code qui est utilise dans le block qui est en ligne...
En tout cas le debut...
global $xoopsUser$xoopsModule;
    
$online_handler =& xoops_gethandler('online');
    
mt_srand((double)microtime()*1000000);
    
// set gc probabillity to 10% for now..
    
if (mt_rand(1100) < 11) {
        
$online_handler->gc(300);
    }
    if (
is_object($xoopsUser)) {
        
$uid $xoopsUser->getVar('uid');
        
$uname $xoopsUser->getVar('uname');
    } else {
        
$uid 0;
        
$uname '';
    }
    if (
is_object($xoopsModule)) {
        
$online_handler->write($uid$unametime(), $xoopsModule->getVar('mid'), $_SERVER['REMOTE_ADDR']);
    } else {
        
$online_handler->write($uid$unametime(), 0$_SERVER['REMOTE_ADDR']);
    }

un truc de ce style la... (il me semble a verifier j'ai pas tourner le code mais c bien la methode write qui ecrit dans la table online.
Mais le mieux ca serait de le coder dans le header de xoops. Si tu le mets seulement sur ta page tu n'auras que les gens connectes qui sont passe sur la page en question...

Posté le : 11/09/2006 18:32
Partager Twitter Partagez cette article sur GG+

 Haut   Précédent   Suivant
(1) 2 »



Vous pouvez voir les sujets.
Vous ne pouvez pas débuter de nouveaux sujets.
Vous ne pouvez pas répondre aux contributions.
Vous ne pouvez pas éditer vos contributions.
Vous ne pouvez pas effacez vos contributions.
Vous ne pouvez pas ajouter de nouveaux sondages.
Vous ne pouvez pas voter en sondage.
Vous ne pouvez pas attacher des fichiers à vos contributions.
Vous ne pouvez pas poster sans approbation.

Propulsé avec XOOPS | Graphisme adapté par Tatane, Grosdunord, Montuy337513

146 Personne(s) en ligne (125 Personne(s) connectée(s) sur Forum) | Utilisateur(s): 0 | Invité(s): 146 | Plus ...