Benjamin Lévêque

Savoir qui est en ligne sur son site

Ce plugin permet de savoir combien d’utilisateurs sont à ligne sur son site, il permet également d’avoir accès aux ids des utilisateurs connectés.

Ce plugin est disponible sur GitHub

Installation

Vous devez modifier le fichier filters.yml de votre application de la manière suivante:

rendering: ~

security:  ~


# insert your own filters here

user_online:

  class: WhosOnlineFilter


cache:     ~

execution: ~

Ensuite, vous devez définir la méthode getUserId dans votre classe myUser par exemple avec le plugin sfDoctrineGuard ça donne la méthode suivante:

<?php
public function getUserId()
{
  return $this->getAttribute('user_id', null, 'sfGuardSecurityUser')
}

Vous pouvez également configurer le délai de rafraichissement de la liste des utilisateurs connecté dans le fichier app.yml, par défaut les utilisateurs quitte la liste au bout de 10 minutes.

all:

  whos_online:

    time:      10 # time in minute

Utilisation

Vous pouvez récupérer le nombre d’utilisateur connecté en utilisant la méthode suivante:

<?php
$nb_user = WhosOnlineSessionTable::countOnlineUser();

Ensuite, vous pouvez récupérer la liste des utilisateurs connecté avec cette méthode:

<?php
$user_ids = WhosOnlineSessionTable::getOnlineUserIds();