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(1, 100) < 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, $uname, time(), $mod->getVar('mid'), $_SERVER['REMOTE_ADDR']);
} else {
$online_handler->write($uid, $uname, time(), 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.