Bonjour,
Le module "Who is online" peut afficher les identifiants des utilisateurs connectés, mais par leur nom. J'ai trouvé plusieurs hacks, mais aucun ne correspondait à ma configuration. Je ne sais pas si cela est du à ma version Joomla! 1.7 ou à la présence de Kunena (pas certain s'il modifie ce module).
J'ai réussi à afficher les noms en faisant les modifs suivantes. Je ne suis pas expert, donc si vous voyez une boulette dans le code merci de la signaler ! En tous cas pour moi ça marche et ne semble pas perturber les autres modules.
1) Dans (site)\modules\mod_whosonline\helper.php, remplacer :
static function getOnlineUserNames() {
$db = JFactory::getDbo();
$query = $db->getQuery(true);
$query->select('a.username, a.time, a.userid, a.usertype, a.client_id');
$query->from('#__session AS a');
$query->where('a.userid != 0');
$query->where('a.client_id = 0');
$query->group('a.userid');
$db->setQuery($query);
return (array) $db->loadObjectList();
}
Par :
static function getOnlineUserNames() {
$db = JFactory::getDbo();
$query = $db->getQuery(true);
$query->select('u.name, u.id, a.username, a.userid');
$query->from('#__users AS u');
$query->innerjoin('#__session AS a ON u.id = a.userid');
$query->where('a.userid != 0');
$query->where('a.client_id = 0');
$db->setQuery($query);
return (array) $db->loadObjectList();
}
2) Dans (site)\modules\mod_whosonline\tmpl\default.php :
Remplacer “username” par “name” dans la ligne suivante (2 fois, llignes 27 et 30) :
<?php echo $name->username; ?>
devient
<?php echo $name->name; ?>
Après avoir beaucoup profité du savoir des autres, je suis content de pouvoir contribuer à mon tour !
Le module "Who is online" peut afficher les identifiants des utilisateurs connectés, mais par leur nom. J'ai trouvé plusieurs hacks, mais aucun ne correspondait à ma configuration. Je ne sais pas si cela est du à ma version Joomla! 1.7 ou à la présence de Kunena (pas certain s'il modifie ce module).
J'ai réussi à afficher les noms en faisant les modifs suivantes. Je ne suis pas expert, donc si vous voyez une boulette dans le code merci de la signaler ! En tous cas pour moi ça marche et ne semble pas perturber les autres modules.
1) Dans (site)\modules\mod_whosonline\helper.php, remplacer :
static function getOnlineUserNames() {
$db = JFactory::getDbo();
$query = $db->getQuery(true);
$query->select('a.username, a.time, a.userid, a.usertype, a.client_id');
$query->from('#__session AS a');
$query->where('a.userid != 0');
$query->where('a.client_id = 0');
$query->group('a.userid');
$db->setQuery($query);
return (array) $db->loadObjectList();
}
Par :
static function getOnlineUserNames() {
$db = JFactory::getDbo();
$query = $db->getQuery(true);
$query->select('u.name, u.id, a.username, a.userid');
$query->from('#__users AS u');
$query->innerjoin('#__session AS a ON u.id = a.userid');
$query->where('a.userid != 0');
$query->where('a.client_id = 0');
$db->setQuery($query);
return (array) $db->loadObjectList();
}
2) Dans (site)\modules\mod_whosonline\tmpl\default.php :
Remplacer “username” par “name” dans la ligne suivante (2 fois, llignes 27 et 30) :
<?php echo $name->username; ?>
devient
<?php echo $name->name; ?>
Après avoir beaucoup profité du savoir des autres, je suis content de pouvoir contribuer à mon tour !
Commentaire