déconnexion automatique de Jappix mini au login/delog de l'utilisateur de Joomla!

Réduire
X
 
  • Filtrer
  • Heure
  • Afficher
Tout effacer
nouveaux messages

  • déconnexion automatique de Jappix mini au login/delog de l'utilisateur de Joomla!

    Bonjour.

    Je me permets de solliciter vos lumières pour un problème assez spécifique.

    J'ai installé sur mon Joomla! tout neuf un module de minichat Jappix mini.

    Je récupère le nom de l'utilisateur de joomla! pour l'utiliser comme pseudo / nom de connexion sur le chat. Pour ceux que ça intéresse, j'ai fait comme ça (un grand merci à Jisse03 pour le tuyau !) :

    Code HTML:
    <?php
    $my = JFactory::getUser() ;
    $myusername = $my->username ;
       if ( ! empty( $myusername ) ) {
         $user = $myusername ;
          }else{$user = "Anne_0nyme" ;
          } ?>
    
        <script type="text/javascript">
           var usr = '<?php echo $user; ?>';
              jQuery(document).ready(function() {
          MINI_GROUPCHATS = ["(mon_salon)"];
          MINI_ANIMATE = true;
    MINI_NICKNAME = usr;
          launchMini(true, true, "anonymous.jappix.com");
       });
    </script>
    Je récupère donc le nom d'utilisateur de Joomla! dans une variable php que je passe dans une variable javascript exploitable par le script de conexion (javascript, donc) du client jappix mini.

    Le problème est que lorsque l'utilisateur se connecte ou déconnecte de joomla! cela ne le déconnecte pas du salon, donc il doit se déconnecter manuellement du salon et rafraichir la page après s'être déco ou connecté de joomla! ce qui est assez contraignant pour lui.

    Voulant lui faciliter la tâche, et peu désireux de mettre un message sous le formulaire de login "Pensez à vous déconnecter du chat et recharger la page", je me dis qu'il doit bien y avoir un moyen de forcer la déconnexion de Jappix au login/delog de Joomla! (d'ailleurs je suis même surpris que ça ne se fasse pas automatiquement,k puisqu'en se loguant/déloguant, l'utilisateur recharge la page, donc devrait en toute logique relancer le script de connexion à Jappix...).

    Si quelqu'un a une idée, je suis preneur, car là je sèche. :/

    Merci d'avnce !
    http://ground0reloaded.hydrox-inc.com

    Ground.0reloaded, le docufiction interactif censuré par les illuminati (série vidéoludique - déconseillé pour tous publics : la fin du monde commence ici...)

  • #2
    Re : déconnexion automatique de Jappix mini au login/delog de l'utilisateur de Joomla

    Bonjour,

    N'utilisant pas Jappix, je ne peux te donner avec certitude la raison, mais il est fort probable que Jappix utilise sa propre gestion de session et son propre cookie, indépendant de Joomla!

    Et D'après la doc Jappix, il n'existe pas de mécanisme callback pour les utilisateurs, ce qui permettrait de lier une session Jappix à la session Joomla!
    Je ne vois donc aucune solution immédiate à ce problème. Question à poser sur le support Jappix.
    Pas de demande de support par MP.
    S'il n'y a pas de solution, c'est qu'il n'y a pas de problème (Devise Shadok)

    Commentaire


    • #3
      Re : déconnexion automatique de Jappix mini au login/delog de l'utilisateur de Joomla

      Bonjour, et merci de ton intérêt (encore une fois ).

      En effet, il semble bien que tout le problème vienne de ce que Jappix mini utilise sa propre gestion de connexion / déconnexion, en externe. J'ai toutefois pu forcer (grâce à ton aide !) l'emploi du nom d'utilisateur Joomla! comme login pour Jappix mini. Mais je ne parviens pas à trouver de fonction qui permettrait de forcer à partir de Joomla! la déconnexion de Jappix. :/ Si, comme tu le dis, il n'existe pas de mécanisme callback pour les utilisateurs, je peux toujours chercher ! ... :/

      Je ne trouve sur le site de Jappix mini aucun forum ni aucune forme de support utilisateur. Il y a bien une page "support" sur le site de Jappix (le réseau, ce qui est différent du client mini)... mais l'on n'y trouve qu'un formulaire pour faire des dons ! J'ai l'impression qu'aucun soutien n'est fourni aux utilisateurs du client Jappix mini.


      Il y a quand même un truc qui me chiffonne : c'est que puisqu'à chaque rechargement de la page, mon javascript relance une connexion à Jappix avec pour login le nom d'utilisateur Joomla!, en toute logique, cela devrait réinitialiser la connexion pré-existante, donc déconnecter du précédent login... enfin ça me paraitrait logique, mais bon ma logique n'est pas toujours la même que celle des programmeurs des modules que j'utilise... "
      Dernière édition par emz0 à 21/07/2012, 10h36
      http://ground0reloaded.hydrox-inc.com

      Ground.0reloaded, le docufiction interactif censuré par les illuminati (série vidéoludique - déconseillé pour tous publics : la fin du monde commence ici...)

      Commentaire


      • #4
        Re : déconnexion automatique de Jappix mini au login/delog de l'utilisateur de Joomla

        J'ai trouvé cette fonction dans le code de Jappix mini : " function disconnectMini() "

        Code HTML:
        // Disconnects the connected user
        function disconnectMini() {
            // No connection?
            if(!isConnected())
                return false;
           
            logThis('Jappix Mini is disconnecting...', 3);
           
            // Change markers
            MINI_DISCONNECT = true;
            MINI_INITIALIZED = false;
           
            // Add disconnection handler
            con.registerHandler('ondisconnect', disconnectedMini);
           
            // Disconnect the user
            con.disconnect();
           
            return false;
        }
        Je pense qu'en la mettant dans le formulaire de login / delog, cela pourrait le faire puisque l'on forcerait la déconnexion au salon avant le rechargement de la page (et donc la reconnexion à Jappix), mais je ne parviens pas à trouver le code correspondant au bouton de login / delog de Joomla!. :/ Peux-tu me dire où il se trouve stp ?
        Dernière édition par emz0 à 21/07/2012, 16h28
        http://ground0reloaded.hydrox-inc.com

        Ground.0reloaded, le docufiction interactif censuré par les illuminati (série vidéoludique - déconseillé pour tous publics : la fin du monde commence ici...)

        Commentaire


        • #5
          Re : déconnexion automatique de Jappix mini au login/delog de l'utilisateur de Joomla

          Il n'y a pas de fonction simple, n'ayant pa d'événement onBeforeLogout auquel se rattacher (Community Builder fournit cet événement et permet d'écrire un plugin correspondant).

          Le logique logout est dans le contrôleur /components/com_users/controllers/user.php, dans la méthode logout. Attention, toute modification de cette logique risque fort de devoir être ré-appliquée à chaque mise à jour de Joomla!

          Mais la logique Joomla! autorisant une redirection vers une page quelconque lors de la déconnexion, ce serait dans cette page qu'il faudrait appliquer la logique de déconnexion.

          Heureusement, la déconnexion provoque un rechargement de page, et dans l'index.php de ton template, tu peux tester le cas de figure où le user n'est pas logué, et dans ce cas envoyer un disconnectMini (ça ne mange pas de pain, il ne va pas déconnecter un user déjà déconnecté...
          Pas de demande de support par MP.
          S'il n'y a pas de solution, c'est qu'il n'y a pas de problème (Devise Shadok)

          Commentaire


          • #6
            Re : déconnexion automatique de Jappix mini au login/delog de l'utilisateur de Joomla

            Merci ! J'ai trouvé les fonctions login et logout en suivant ton indication. Au moins, maintenant, je sais où mettre ma fonction de déconnexion de Jappix mini... Reste à la trouver, cette fameuse fonction ! Je pensais m'en sortir avec ce que j'ai trouvé là : https://code.google.com/p/openfire-j...?spec=svn6&r=6 mais effectivement, cela ne fonctionne pas... Maintenant je comprends pourquoi !

            J'ai essayé également de mettre un "MINI_DISCONNECT = true;" dans le javascript de connexion, juste avant le login, mais c'est sans effet (pas plus que ."MINI_RECONNECT = 1;").

            La solution serait peut-être alors de faire une fonction php sur le modèle de celle que j'ai donnée au dessus, en spécifiant un évènement OnBeforeLogout avant, mais je ne trouve rien à ce sujet... J'hésite à installer Comunity builder, mais j'utilise Jomsocial et je prévoie d'utiliser également Mambo, j'ai peur que cela génère des conflits...


            EDIT : J'ai essayé de mettre dans les fonctions login et logout de user.php :

            Code HTML:
               <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js"></script>
            <script type="text/javascript" src="https://static.jappix.com/php/get.php?l=fr&amp;t=js&amp;g=mini.xml"></script>
             
              <script type="text/javascript">
              
                      jQuery(document).ready(function() {
                        con.disconnect();
               });
            </script>
            ... sans plus de résultats. :/
            Dernière édition par emz0 à 21/07/2012, 19h05
            http://ground0reloaded.hydrox-inc.com

            Ground.0reloaded, le docufiction interactif censuré par les illuminati (série vidéoludique - déconseillé pour tous publics : la fin du monde commence ici...)

            Commentaire


            • #7
              Re : déconnexion automatique de Jappix mini au login/delog de l'utilisateur de Joomla

              Community Builder est un gestionnaire de profils, tout comme JomSocial. JomSocial te fournit un modèle prémaché, mais est très difficile à étendre, CB lui fournit au départ... du vide et un Lego pour construire ses profils. Il est très difficile de faire cohabiter les deux.

              Sur ton lien, concernant les sources, j'ai déjà regardé Et c'est vraiment du "Mini"... Il manque pas mal d'events que des outils plus complets fournissent (123Flash fournit une API callback complète par exemple, où c'est Joomla! qui détermine si le user est logué ou pas...)

              A ma connaissance, seul Community Builder fournit l'event onBedoreLogout, pour permettre de créer des plugins activés en moins de 10 lignes de code par cet évènement. Mais je doute fort que JomSocial, dont l'API n'est pas documentée, en fournisse un équivalent.
              Pas de demande de support par MP.
              S'il n'y a pas de solution, c'est qu'il n'y a pas de problème (Devise Shadok)

              Commentaire


              • #8
                Re : déconnexion automatique de Jappix mini au login/delog de l'utilisateur de Joomla

                :/

                A vrai dire, c'est justement ce côté "mini" qui m'a séduit : la possibilité d'avoir un minichat et des discussions entre les utilisateurs qui le souhaitent dans un tout petit onglet dans le coin des pages. 123flash a l'air très bien, complet, mais semble prendre bien plus de place et moins s'intégrer sur l'ensemble des pages : il lui faut sa propre page et donc son propre onglet ou sa fenêtre propre, et l'utilisateur n'a pas forcément les yeux sur cet onglet lorsqu'il navigue sur les autres pages du site : il doit s'arrêter pour discuter, puis quitter la discussion pour reprendre la navigation, alors que Jappix mini permet de discuter tout en navigant. J'avais une salle de chat sur mon précédent site, et finalement elle était peu utilisée (alors que le minichat l'était beaucoup plus), je trouve cela trop lourd et préfère intégrer un minichat dans index.php qui puisse se dérouler ou se fermer et s'afficher dans un coin sans avoir à ouvrir un autre onglet. Cela favorise à mon sens la discussion dans la mesure où l'utilisateur n'a pas besoin d'ouvrir le salon dans un onglet ou une fenêtre - en quelque sorte, il n'a pas besoin de se déplacer : la discussion se fait là où il se trouve, quelque soit la page visitée, mais il peut tout aussi bien refermer Jappix mini s'il le souhaite... et le rouvrir en un clic si l'envie lui prend, ça n'interfère pas vraiment dans sa navigation.
                Je trouve aussi plus sympa de permettre aux non-inscrits de participer à la discussion en anonymes, histoire qu'ils se familiarisent avec la communauté avant de décider s'ils s'inscrivent ou non. 0n peut avoir envie de réagir à un truc qui s'est dit, et cela peut amener à une inscription ultérieure, mais si on doit déjà s'inscrire juste pour poster trois mots sur le salon, cela peut être à mon sens rédhibitoire...
                Je pourrais réinstaller un minichat tout bête dans un menu sur le côté, mais Jappix mini prend finalement moins de place, reste visible tant que l'utilisateur le souhaite, se referme à l'envie, et je trouverais vraiment pratique que l'utilisateur n'ait pas à spécifier de pseudo s'il est déjà logué sous Joomla... et ça, j'arrive à le faire... tant que l'utilisateur ne change pas son statut (déco/reco) sous joomla ! Ce serait bête, après être parvenu à utiliser le login Joomla! pour le login Jappix, de s'arrêter en si bon chemin parce qu'on ne trouve pas comment bêtement déconnecter ce machin ! Doit y avoir un moyen !

                A l'inverse, j'apprécie le côté complet de Jomsocial, et je trouve le fait qu'il soit livré "clé en main" assez pratique. Mais peut-être serait-il en effet préférable de faire mon propre truc à partir de CB... Reste à voir si j'arriverais à exploiter ce 0nBeforeLogout pour déconnecter Jappix... A présent, je sais où insérer du code pour qu'il s'exécute au login et au logout de Joomla! (j'ai bien pris conscience que toute modif du fichier user.php devra être refaite en cas de mise à jour), mais je ne m'en sors pas mieux pour autant : impossible de trouver une fonction qui déconnecte Jappix mini !
                Dernière édition par emz0 à 21/07/2012, 19h34
                http://ground0reloaded.hydrox-inc.com

                Ground.0reloaded, le docufiction interactif censuré par les illuminati (série vidéoludique - déconseillé pour tous publics : la fin du monde commence ici...)

                Commentaire


                • #9
                  Re : déconnexion automatique de Jappix mini au login/delog de l'utilisateur de Joomla

                  La problématique est là..
                  On a chacun ses approches du chat.
                  Personnellement, je n'ai jamais utilisé Jappix pour une raison simple, le manque de documentation sur les APIs.

                  Si une documentation complète et correcte était fournie, nul doiute que des modules ou plugins Joomla existeraient en masse.

                  Ta remarque concernant 123Flash (et quelques autres outils de chat, genre AvChat3
                  ) tiennent au manque d'idées des implémenteurs de composants et modules. J'ai des clients avec 123FlashChat et d'aurtres avecAvChat3 pour lesquels ce problème ne se pose pas, vu qu'il est possible d'ouvrir le chat dans une fenêtre séparée...
                  Jappix peut certainement devenir un acteur intéressant du omaine, mais il manque une vraie documentation de ses APIs.

                  Dans le même genre que Jappix, il exitse Freichat, qui fait la même chose, est bien documenté..
                  Pas de demande de support par MP.
                  S'il n'y a pas de solution, c'est qu'il n'y a pas de problème (Devise Shadok)

                  Commentaire


                  • #10
                    Re : déconnexion automatique de Jappix mini au login/delog de l'utilisateur de Joomla

                    Voilà. Tout est question d'approche. Je ne veux pas dénigrer l'approche de 123Flash, bien au contraire, mais celle de Jappix correspond plus à mes attentes à ce moment précis pour ce site là. Je découvre Freichat, qui effectivement est dans une approche similaire. Cela me conviendrait plus. La seule chose qui me dérange est ce "Users must be connected to chat". Mais peut-être puis-je modifier cela en bricolant le code... Ce serait un plus non négligeable si les visiteurs non connectés pouvaient participer à la discussion.

                    C'est vraiment dommage que Jappix ne documente pas ses APÏ. :/ D'autant que j'ai l'impression qu'il rencontre un certain succès, mais cette absence de doc est un frein.

                    Cela étant dit, je progresse, grâce à l'aide de mon beauf : la fonction disconnectMini (); exécutée quand le script de Jappix a été chargé déconnecte du salon. Du moins lorsque je la mets à la fin du script de lancement de Jappix mini sur ma page d'index : quand je la mets plus haut ou dans l'exécution du login/logout Joomla! elle est sans effet. :/ Donc je peux connecter l'utilisateur à jappix une première fois sous son login Joomla! puis de nouveau s'il se déconnecte manuellement du salon et recharge la page ; je peux le déconnecter automatiquement du salon après l'y avoir connecté, mais impossible de le reconnecter après l'avoir déco : la déconnexion ne fonctionne que si elle est à la toute fin du script sur index.php !

                    J'ai tenté :

                    Code HTML:
                      <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js"></script>
                    <script type="text/javascript" src="https://static.jappix.com/php/get.php?l=fr&amp;t=js&amp;g=mini.xml">disconnectMini();</script>
                    mais cela ne fonctionne que si c'est la dernière chose exécutée.

                    EDIT : j'ai trouvé, cette fonction disconnectMini(); ne fonctionne qu'après un "launchMini();" ce qui oblige à charger deux fois Jappix : une au délog, une au relog, c'est assez lourd du coup...

                    Du coup ça marche, mais impossible de mettre la fonction de déconnexion dans le login/logout de user.php de Joomla!, même en remettant l'ensemble du script de Jappix : c'est sans effet... Curieux...
                    Donc en attendant mieux, je charge deux fois Jappix dans index.php : une fois pour déconnecter l'user, puis une seconde fois en le reconnectant sous son login Joomla! -> ça marche, mais c'est assez lourd. Si quelqu'un a une idée de pourquoi ça ne fonctionne pas dans le user.php et comment déplacer le script de déco de Jappix dans ce formulaire, je suis preneur !


                    RE-EDIT : Je remets ci-dessous le code complet pour ceux qui voudraient avoir cette fonctionnalité (utiliser le login Joomla! comme login sous Jappix mini) :


                    Code HTML:
                    <script type="text/javascript"> 
                              jQuery(document).ready(function() {
                          MINI_GROUPCHATS = ["monsalon@muc.jappix.com"];
                          launchMini(true, false, "anonymous.jappix.com");
                       disconnectMini();
                       });
                    </script>
                    
                         <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js"></script>
                    <script type="text/javascript" src="https://static.jappix.com/php/get.php?l=fr&amp;t=js&amp;g=mini.xml"></script>
                    
                       <?php
                    $my = JFactory::getUser() ;
                    $myusername = $my->username ;
                       if ( ! empty( $myusername ) ) {
                         $user = $myusername ;
                          } else {
                            $user = "Anne_0nyme" ;
                          } 
                      ?>
                      
                      <script type="text/javascript"> 
                           var usr = '<?php echo $user; ?>';
                              jQuery(document).ready(function() {
                          MINI_GROUPCHATS = ["monsalon@muc.jappix.com"];
                          MINI_ANIMATE = true;
                    MINI_NICKNAME = usr;
                          launchMini(true, false, "anonymous.jappix.com");
                       });
                    </script>
                    Dernière édition par emz0 à 23/07/2012, 13h00
                    http://ground0reloaded.hydrox-inc.com

                    Ground.0reloaded, le docufiction interactif censuré par les illuminati (série vidéoludique - déconseillé pour tous publics : la fin du monde commence ici...)

                    Commentaire


                    • #11
                      Re : déconnexion automatique de Jappix mini au login/delog de l'utilisateur de Joomla

                      On en est au même point..

                      Si Jappix avait une API pubilique publiée, il serait simple de créer un composant ou module, mais là...
                      Pas de demande de support par MP.
                      S'il n'y a pas de solution, c'est qu'il n'y a pas de problème (Devise Shadok)

                      Commentaire

                      Annonce

                      Réduire
                      Aucune annonce pour le moment.

                      Partenaire de l'association

                      Réduire

                      Hébergeur Web PlanetHoster
                      Travaille ...
                      X