Fork me on GitHub






afficher le nombre de connectés en pied de page
Newbie
Inscrit: 03/04/2008 07:38
Messages: 3
bonjour,
cela fait maintenant un petit bout de temps que je seche sur ce probleme . j'aimerai inclure dans le footer la phrase suivante : "Actuellement XX visiteurs dont XX membres sur le site. Sur le forum, XX visiteurs dont XX membres actuellement connectés !".

pour l'instant je ne suis arrivé qu'à afficher les deux premier XX en inserant se code dans footer.php :

{php}>
$online_handler =& xoops_gethandler('online');
mt_srand((double)microtime()*1000000);
if (mt_rand(1, 100) < 11) {
$online_handler->gc(300);
}
$onlines = $online_handler->getAll();
$guests = 0;
if (false != $onlines) {
$total = count($onlines);
for ($i = 0; $i < $total; $i++) {
if ($onlines[$i]['online_uid'] <= 0) {
$num_anonymous++;
}
}
} else {
return false;
}
$GLOBALS['xoopsTpl']->assign( 'online_total', $total );
$GLOBALS['xoopsTpl']->assign( 'online_members', $total - $num_anonymous );
<{/php}>

je me suis aidé du module "qui et en ligne" pour faire se code. Mais je pense qu'il ya plus simple pour y arriver. Comme je ne suis pas expert, je me tourne vers vous chers membres de la communautée Xoops .

donc ma question est la suivant : comment faire pour afficher tous les XX et ou inserer le code ??
merci d'avance.

Posté le : 03/04/2008 09:02
Partager Twitter Partagez cette article sur GG+
Re: afficher le nombre de connectés en pied de page
Newbie
Inscrit: 03/04/2008 07:38
Messages: 3
petite rectification, j'ai inseré le code dans footer.html du theme morphogenesis.

Posté le : 03/04/2008 12:23
Partager Twitter Partagez cette article sur GG+
Re: afficher le nombre de connectés en pied de page
Newbie
Inscrit: 03/04/2008 07:38
Messages: 3
bonjour tout le monde !

voila, sa marche enfin !

j'ai créé un fichier online.html dans le dossier xotpl de mophogenesis avec ce code à l'intérieur :

<{php}>
//var global
$user $GLOBALS['xoopsUser'];
$mod $GLOBALS['xoopsModule'];
$xdb $GLOBALS['xoopsDB'];

// mid forum
$forum_id '0';
$criteria_forum = new Criteria('dirname''newbb');
$sql 'SELECT mid,dirname FROM ' $xdb->prefix('modules');
$sql .= ' '.$criteria_forum->renderWhere();
$result $xdb->query($sql);
$array $xdb->fetchArray($result);
$forum_id $array['mid'];

//
$online_handler =& xoops_gethandler('online');
mt_srand((double)microtime()*1000000);
    if (
mt_rand(1100) < 11) {
        
$online_handler->gc(300);
    }

if (
is_object($user)) {
        
$uid $user->getVar('uid');
        
$uname $user->getVar('uname');
    } else {
        
$uid 0;
        
$uname '';
    }
    if (
is_object($mod)) {
        
$online_handler->write($uid$unametime(), $mod->getVar('mid'), $_SERVER['REMOTE_ADDR']);
    } else {
        
$online_handler->write($uid$unametime(), 0$_SERVER['REMOTE_ADDR']);
    }    

//count system
$num_total $online_handler->getCount();
$num_user $online_handler->getCount(new Criteria('online_uid''0' '>'));

//count forum
$num_total_forum $online_handler->getCount(new Criteria('online_module'$forum_id));
$criteria = new CriteriaCompo(new Criteria('online_module'$forum_id));
$criteria->add(new Criteria('online_uid''0''>'));
$user_forum =& $online_handler->getAll($criteria);
$num_user_forum count($user_forum);

//var theme
$GLOBALS['xoopsTpl']->assign'online_total'$num_total );
$GLOBALS['xoopsTpl']->assign'online_user'$num_user );
$GLOBALS['xoopsTpl']->assign'online_total_forum'$num_total_forum );
$GLOBALS['xoopsTpl']->assign'online_user_forum'$num_user_forum );
<{/
php}>


et dans le fichier xofooter.html dans le même dossier il faut ajouter la ligne suivante au début :

<{includeq file="$theme_name/online.html"}>


Et bien sur, n'oubliez pas d'ajouter les variables. Par exemple :

Actuellement <{$online_total}> visiteurs dont <{$online_user}> membres sur le site.
Sur le forum, <{$online_total_forum}> visiteurs dont <{$online_user_forum}> membres actuellement connectés !


Comme je ne suis pas un expert en programmation, je pense que ce code peut être optimisé. Donc si quelqu'un veut bien y getter un œil ?
merci d'avance.

Posté le : 05/04/2008 11:45
Partager Twitter Partagez cette article sur GG+
Re: afficher le nombre de connectés en pied de page
Xoops accro
Inscrit: 16/08/2005 19:46
De Nanterre
Messages: 2331
bonjour lottef
Merci pour le l'astuce en partage.
Bonne journée

Posté le : 05/04/2008 12:08

eparcyl... tranquille.
Partager Twitter Partagez cette article sur GG+

 Haut   Précédent   Suivant



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

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