Le code du module Control permet d'afficher dans la
fenętre Cliente, aprčs l'IP, le nom de la cellule 3d
dans lequel un visiteur se trouve. Ceci est utile
lorsque le site contient plusieurs cellule 3d.
Or cela ne fonctionnait pas.
En fait la fonction 'in' de la partie Serveur de
Control 'controls.pkg' est incomplčte :
l'initialisation de la liste
localisations [[CLIENT S] r1] reste ŕ [CLIENT nil] et
non [CLIENT nom_cel3d].
...
typeof localisations = [[CLIENT S] r1];;
...
fun in(cli)=
if (!_DMSclientAlive cli)|| findList clis cli then nil
else
(set clis=cli::clis;
set localisations = [cli nil]::localisations;
apply_on_list ll @broad CaddUser [createCli cli];
0);;
Pour résoudre ce pb, j'ai recodé ainsi la fonction 'in' :
fun in(cli, from)=
if (!_DMSclientAlive cli)|| findList clis cli then nil
else
(set clis=cli::clis;
set localisations = [cli _DMSgetName
from]::localisations;
apply_on_list ll @broad CaddUser [createCli cli];
0);;
L'appel de cette fonction se faisant alors :
fun activate(from,cli,action,param,rep)=
...
else if !strcmp action "register" then
in cli from
...
et non plus :
else if !strcmp action "register" then
in cli
Les liens sous le SCS restent les męmes qu'auparavant :
C3D3.in -> Control.register
C3D3.out -> Control.unregister
A tester et ŕ valider éventuellement.
controls.pkg, dcompresser dans dms\admin\control
Logged In: YES
user_id=1036632
j'ai remplac le fichier existant par celui en pice jointe
merci iri
j'ai ouverts scs 2.5
j'ai fait "reconstruire"
j'ai ouvert scolville
j'ai sauvegard et lanc le site
quand j'ouvre le module "controle"
j'ai bien l'adresse ip et "scolville" gauche
quand j'entre dans une autre cellule
c'est toujours "scolville" d'afficher
est-ce que a vient du fait que j'ai control cel uniquement
en ma prsence
et que cela fonctionnerait avec les autres ?
Logged In: YES
user_id=1035352
Il est probable que tu as mis les liens :
Shell.in >> control.register
Dans ce cas, ce sera le nom du module Shell (= nom du site)
qui sera enregistr.
Pour avoir le nom des cellules3d il faut enlever ce lien et,
pour chaque C3D3 mettre le lien :
C3D3.in >> Control.register