Note de ce sujet :
  • Moyenne : 0 (0 vote(s))
  • 1
  • 2
  • 3
  • 4
  • 5
[Résolu] Vérifier si un utilisateur est connecté par son $uid
#1
Citation :#~~~~~ DEBUT BLOC A NE PAS SUPPRIMER ~~~~~
#~ Version du CMS: #1.10.2
#~ Url du site :
#~ Hébergeur / Soft :
#~ Informations Système :
#~~~~~ FIN BLOC A NE PAS SUPPRIMER ~~~~~



Bonjour à tous,

pour le développement d'une UDT, je souhaite savoir si un utilisateur particulier est en ligne ou pas en ce moment.
Je ne trouve pâs le moyen de faire ça... tout ce que je trouve me renvoie sur la vérification que l'utilisateur du site est connecté ou pas.
Existe-t-il pas une fonction du style:

si je veux savoir si l'utilisateur dont l'id est 3 est en ligne...

Code :
if($feu->LoggedInbyId(3)){

//quelquechose

}

merci pour vos lumières!
#2
bonsoir,
tu peux interroger la table module_feusers_loggedin
"select * from ".cms_db_prefix()."module_feusers_loggedin where userid=3
{SEO}
Inscrivez-vous à notre Newsletter sur le site (colonne de droite, en bas).
Vous appréciez CMSMS et l'aide qui vous est fournie ici, aidez-nous en participant au projet.
Formation CMS Made Simple | Création de site CMS Made Simple.

C'est en se plantant qu'on devient cultivé.
J'ai un string dans l'Array (Paris Hilton)
#3
Merci jissey,

c'est ce que je pensais faire si il n'existait pas de fonction déjà existante bien que je trouvais ça un peu lourd de devoir passer par une requête comme ça... dommage qu'apparemment ça n'est pas été prévu dans feu.
c'est pourtant pratique de pouvoir vérifier si un utilisateur lambda est connecté pour pouvoir mettre en place des intéractions entre les personnes connectées.
#4
A partir de la requete de Jissey et d'une recherche plus approfondie dans l'api de feu, voilà un code qui fonctionne:

Code :
$user_id=params['user_id'];

$db = &$gCms->GetDb();
$q = "SELECT * FROM ".cms_db_prefix()."module_feusers_loggedin WHERE USERID = $user_id";
      $dbresult = $db->Execute( $q);
          if( $dbresult && $dbresult->RecordCount() )
            {
            echo "connecté";}
            else{
            echo "non connecté";
            }
#5
Pour information en v 1.10.x
Citation :$db = &$gCms->GetDb();
C'est
$db = cmsms()->GetDb(); ou $db = $this->GetDb();
J-C Etiemble v 2.2.xx
#6
Est-ce que ceci ne fonctionne pas ?
Code :
[== PHP ==]
$module_feu = cms_utils::get_module('FrontEndUsers');

if ($module_feu->LoggedInId() == 3)
{
// Code
}
#7
Merci airelibre, je vais corriger pour l'ouverture de la base de donnée... quoi que non, car je viens de comprendre comment et à quoi fonctionne les apis des des modules! Smile

en fait tout bêtement, il existe une fonction dans l'api de feu qui permet ça simplement:

Code :
if( $feusers->GetUserSession($user_id)){
// quelquechose
}else{
// autre chose
}

ça marche nickel à priori comme ça...

Ayant capté justement le truc des apis, je vais même pouvoir refaire ma connection et deconnection des users en ajax, bien plus simplement que ce que j'utilise maintenant!

c'est beau la technologie!!!
#8
Oui c'est un autre moyen Wink Tant mieux si c'est résolu - Je pense qu'on peut fermer


Atteindre :


Utilisateur(s) parcourant ce sujet : 1 visiteur(s)