diff --git a/src/ninegate-1.0/src/Cadoles/CoreBundle/Resources/public/themes/transnum/local.js b/src/ninegate-1.0/src/Cadoles/CoreBundle/Resources/public/themes/transnum/local.js
index abb65545..175a4015 100644
--- a/src/ninegate-1.0/src/Cadoles/CoreBundle/Resources/public/themes/transnum/local.js
+++ b/src/ninegate-1.0/src/Cadoles/CoreBundle/Resources/public/themes/transnum/local.js
@@ -3,7 +3,7 @@
// Instance the tour
function MyTour() {
- var template="
";
+ var template="";
var tour = new Tour({
name: "tour",
template: template,
@@ -16,19 +16,82 @@ function MyTour() {
{
element: "#menu-profil",
title: "Votre Profil",
- content: "Vous pouvez modifier les informations vous concernant à cet emplacement"
+ placement : "left",
+ content: "Vous pouvez modifier les informations vous concernant à cet emplacement. A droite du bouton 'profil', vous trouvez le bouton vous permettant de vous déconnecter du portail"
+ },
+ {
+ element: "#menu-notice",
+ title: "Charte utilisateur",
+ placement : "left",
+ content: "Vous pouvez consulter ici la charte d'utilisation du portail qui précise les conditions que vous vous engagez à respecter notamment en termes de sécurité et de protection des données"
+ },
+ {
+ element: "#menu-group",
+ title: "Vos Groupes",
+ placement : "left",
+ content: "Vous accédez ici aux groupes auxquels vous êtes inscrits"
},
{
element: "#menu-annuaire",
title: "Annuaire",
- content: "Vous pouvez recherche un utilisateur parmis l'annuaire du portail"
+ placement : "left",
+ content: "Vous pouvez rechercher un utilisateur dans l'annuaire du portail"
+ },
+ {
+ element: "#appmenu",
+ title: "Barre de navigation rapide",
+ placement : "bottom",
+ content: "Cette barre vous permet d'accéder rapidement à la page d'accueil et à vos groupes de travail"
},
{
element: $("iframe").first().contents().find(".widget-itemessential").find(".widgetheader"),
- title: "Bureau",
- content: "Vos items essentiels, vous pouvez via le bouton + ajouter des items à votre bureau",
+ title: "le Bureau",
+ placement : "right",
+ content: "Dans le premier panneau d'outils ci-dessous, vous trouvez les applications qui vous sont proposées. En cliquant sur le bouton '+', vous avez accès à d'autres applications",
container: $("iframe").first().contents().find("body")
- }
+ },
+ {
+ element: $("iframe").first().contents().find(".widget-group").find(".widgetheader"),
+ title: "Mes Groupes de travail",
+ placement : "right",
+ content: "Dans le 2nd panneau d'outils ci-dessous, vous trouvez les 'groupes de travail' auxquels vous avez été invités et ceux que vous avez créés. En cliquant sur le bouton '+', vous pouvez créer un groupe de travail. ",
+ container: $("iframe").first().contents().find("body")
+ },
+ {
+ element: $("iframe").first().contents().find(".widget-blog").find(".widgetheader"),
+ title: "Journaux des groupes",
+ placement : "right",
+ content: "Dans le 3ème panneau d'outils ci-dessous, vous trouvez les 'Journaux des Groupes' auxquels vous avez été invités et ceux que vous avez créés. ",
+ container: $("iframe").first().contents().find("body")
+ },
+ {
+ element: $("iframe").first().contents().find(".widget-alert").find(".widgetheader"),
+ title: "Radio Transnum",
+ placement : "left",
+ content: "Dans le premier panneau de droite ci-dessous, vous trouvez les annonces et nouvelles qui concernent tous les membres du portail. ",
+ container: $("iframe").first().contents().find("body")
+ },
+ {
+ element: $("iframe").first().contents().find(".widget-groupmessage").find(".widgetheader"),
+ title: "Actualités des groupes",
+ placement : "left",
+ content: "Dans le 2nd panneau de droite ci-dessous, vous trouvez les annonces et nouvelles qui vous concernent uniquement comme membre de groupes. ",
+ container: $("iframe").first().contents().find("body")
+ },
+ {
+ element: $("iframe").first().contents().find(".widget-calendar").find(".widgetheader"),
+ title: "Agenda des groupes",
+ placement : "left",
+ content: "Dans le troisième panneau de droite ci-dessous, vous trouvez les prochains évènements de vos agendas de groupes. ",
+ container: $("iframe").first().contents().find("body")
+ },
+ {
+ element: $("iframe").first().contents().find(".widget-appexternal").find(".widgetheader"),
+ placement : "left",
+ title: "Formulaires",
+ content: "Dans le dernier panneau de droite ci-dessous, vous trouvez les formulaires qui sont mis à votre disposition pour effectuer des demandes (par exemple faire un 'ticket de support'). ",
+ container: $("iframe").first().contents().find("body")
+ }
]
});
diff --git a/src/ninegate-1.0/src/Cadoles/WebsocketBundle/Resources/views/Chat/client.html.twig b/src/ninegate-1.0/src/Cadoles/WebsocketBundle/Resources/views/Chat/client.html.twig
index 385cff32..3f19fe71 100644
--- a/src/ninegate-1.0/src/Cadoles/WebsocketBundle/Resources/views/Chat/client.html.twig
+++ b/src/ninegate-1.0/src/Cadoles/WebsocketBundle/Resources/views/Chat/client.html.twig
@@ -229,6 +229,9 @@
websocket();
+ setInterval(function(){
+ islive();
+ }, 15000);
});
{% if websocket_activate and app.user %}
@@ -242,6 +245,7 @@
var tosendmail=false;
var todelete=false;
var idtodelete;
+ var isalive;
function websocket()
{
@@ -257,6 +261,8 @@
//the callback function in "subscribe" is called everytime an event is published in that channel.
sess.subscribe("websocket/channel/{{groupid}}", function (uri, payload) {
+ if(!isalive||isdeco) islive();
+
// Récupération lastmessage
if(isdeco) recuplastmsg();
@@ -461,6 +467,18 @@
}
});
}
+
+ // islive
+ function islive() {
+ if(!session) return;
+ isalive=true;
+ event={mykey: "{{userkey}}", type: "islive", userid: {{app.user.id}}};
+ console.log("send islive");
+ session.publish("websocket/channel/{{groupid}}", event);
+ }
+
+
+
{% endif %}
{% endblock %}
\ No newline at end of file
diff --git a/src/ninegate-1.0/src/Cadoles/WebsocketBundle/Topic/WebsocketTopic.php b/src/ninegate-1.0/src/Cadoles/WebsocketBundle/Topic/WebsocketTopic.php
index 92f03209..97a5708c 100644
--- a/src/ninegate-1.0/src/Cadoles/WebsocketBundle/Topic/WebsocketTopic.php
+++ b/src/ninegate-1.0/src/Cadoles/WebsocketBundle/Topic/WebsocketTopic.php
@@ -19,6 +19,7 @@ class WebsocketTopic implements TopicInterface
protected $em;
protected $container;
protected $clientManipulator;
+ protected $users;
public function __construct(ClientManipulatorInterface $clientManipulator, EntityManager $em, ContainerInterface $container) {
$this->clientManipulator = $clientManipulator;
@@ -38,7 +39,6 @@ class WebsocketTopic implements TopicInterface
{
//this will broadcast the message to ALL subscribers of this topic.
$topic->broadcast(['log' => $connection->resourceId." has joined ".$topic->getId()]);
-
}
/**
@@ -52,7 +52,9 @@ class WebsocketTopic implements TopicInterface
public function onUnSubscribe(ConnectionInterface $connection, Topic $topic, WampRequest $request)
{
//this will broadcast the message to ALL subscribers of this topic.
- $topic->broadcast(['log' => $connection->resourceId . " has left " . $topic->getId()]);
+ $topic->broadcast(['log' => "Alive = ".$event["userid"]]);
+
+ $topic->broadcast(['log' => $connection->resourceId . " has left " . $topic->getId(). " || userid = ".$connection->userId]);
}
@@ -87,6 +89,12 @@ class WebsocketTopic implements TopicInterface
}
if($group&&$usergroup&&$user) {
+ if($event["type"]=="islive") {
+ $topic->broadcast(['log' => "Alive = ".$event["userid"]]);
+ $connection->userId=$event["userid"];
+ }
+
+
if($event["type"]=="add") {
if(array_key_exists("mail",$event)) {
$mail = $this->container->get('cadoles.core.service.mail');