Naviguation dans :  Perl  JavaScript  Détail  - load.cgi?Appel=saveUser
 présentée :  par cas d'appel   par traitements 
Retour à l'accueil
  
   
 Requêtes 

 load – User 

 saveUser 

Requêtes de Ça-déménage.com
Accès particulier
Enregistrement des données
 
 
 Bibliothèque CaD 

 Base 

 Compta 

Bibliothèque de Ça-déménage.com
Accès aux bases
Gestion des messages échangés
 


 cptLire  Lit le dernier message
Syntaxe cptLire(To,nom,val,NUM)
Paramètres 
nom  type  Description 
To  IN Cas d'appel
nom  IN Identifiant d'appel
val  IN Destinataire du message
NUM  IN Etat actuel du contact
= "9" : nouveau contact
= autre valeur : état de clôture
Perl : scalaire passé par référence – JavaScript : tableau à 1 élément
–  OUT Liste des contacts wwNum
retourne  OUT  0 : Traitement correct
non nul : Erreur de traitement
Fonctions util. 
 wsFile Fonction d'accès aux fichiers
 wwNum Liste des contacts


Code Perl 

sub cptLire {local($To,$nom,$val,$NUM) = @_; 
 local $In = ''; if (&wsFile("read",$To,$nom,"Cpta",\$In)!=0) {return 100}; local $x = $In; 
 local($k,$x0,$y); 
 local %T0 = (); local %T1 = (); 
while(true) {
 if ($x ne "") {$x =~ s/^\s*//};
 if ($x eq '') {last}; $k = index($x,"/#T)");
 if ($k==-1) {return 1}; $k = $k+4; $x0 = substr($x,0,$k); $x = substr($x,$k);
 if ($x0!~/\(#T\((\w+)\)new:\/\/(\w+)\/#T\(.{3}Owner\):(\w+)\/#T\(.{3}Error\):(\w+)\/#T/) {next};
 $y = $1;
if ($y eq "Cloture") {
 if ($x0!~/\(#T\(Cloture\)new:\/\/\w+\/#T\(cloOwner\):(\w+)\/#T\(cloError\):(\w+)\/#T\(cloUser\):(\w+)\/#T\(cloEtat\):(.*)\/#T\)/) {next};
 if (($To eq "Admin")&&($1 eq $nom)) {
  if ($2 eq "1") {if (defined $T1{"User".$3}) {$T1{"User".$3} = ""}; next};
  $T1{"User".$3} = $4."!";
 }
} elsif ($y eq "Compta") {
 if ($x0!~/\(#T\(Compta\)new:\/\/\w+\/#T\(cptOwner\):(\w+)\/#T\(cptError\):(\w+)\/#T\(cptUser\):(\w+)\/#T\(cptEtat\):(.*)\/#T\(cptMsg\):(\w+),[^,]*,(.*)\/#T/) {next};
 if ($1 eq $To.$nom) {
  if ($2 eq "1") {if (defined $T0{$3}) {$T0{$3} = ""}; next};
  $T0{$3} = $3.",".((substr($6,0,3) eq "pj:")?"}":">").",".$5.",,";
  if (defined $T1{$3}) {if (substr($T1{$3},1) eq "!") {next}}; $T1{$3} = $4.".";
 } elsif ($3 eq $To.$nom) {
  if ($2 eq "1") {if (defined $T0{$1}) {$T0{$1} = ""}; next};
  $T0{$1} = $1.",".((substr($6,0,3) eq "pj:")?"{":"<").",".$5.",,";
  if (defined $T1{$1}) {if (substr($T1{$1},1) eq "!") {next}}; $T1{$1} = $4.".";
 }
}
}
 foreach $y (keys %T0) {if (($T0{$y} ne "")&&($T1{$y} ne "")) {$wwNum .= substr($T1{$y},0,1).",".$T0{$y}."/#"}};
 if ($val ne "User*") {$$NUM = "9"; $y = $val; if (defined $T1{$y}) {$$NUM = substr($T1{$y},0,1)}};
 return 0;
}
Code JavaScript 

function cptLire(To,nom,val,NUM) { 
 var In = Array(''); if (wsFile("read",To,nom,"Cpta",In)!=0) {return 100}; var x = In[0]; 
 var k,x0,y; 
 var T0 = []; var T1 = []; 
while(true) {
 if (x!="") {x = x.replace(/^\s*/,"")};
 if (x=='') {break}; k = x.indexOf("/#T)");
 if (k==-1) {return 1}; k = k+4; x0 = x.substr(0,k); x = x.substr(k);
 if (!x0.match(/\(#T\((\w+)\)new:\/\/(\w+)\/#T\(.{3}Owner\):(\w+)\/#T\(.{3}Error\):(\w+)\/#T/)) {continue};
 y = RegExp.$1;
if (y=="Cloture") {
 if (!x0.match(/\(#T\(Cloture\)new:\/\/\w+\/#T\(cloOwner\):(\w+)\/#T\(cloError\):(\w+)\/#T\(cloUser\):(\w+)\/#T\(cloEtat\):(.*)\/#T\)/)) {continue};
 if ((To=="Admin")&&(RegExp.$1==nom)) {
  if (RegExp.$2=="1") {if (typeof(T1["User"+RegExp.$3])!="undefined") {T1["User"+RegExp.$3] = ""}; continue};
  T1["User"+RegExp.$3] = RegExp.$4+"!";
 }
} else if (y=="Compta") {
 if (!x0.match(/\(#T\(Compta\)new:\/\/\w+\/#T\(cptOwner\):(\w+)\/#T\(cptError\):(\w+)\/#T\(cptUser\):(\w+)\/#T\(cptEtat\):(.*)\/#T\(cptMsg\):(\w+),[^,]*,(.*)\/#T/)) {continue};
 if (RegExp.$1==To+nom) {
  if (RegExp.$2=="1") {if (typeof(T0[RegExp.$3])!="undefined") {T0[RegExp.$3] = ""}; continue};
  T0[RegExp.$3] = RegExp.$3+","+((RegExp.$6.substr(0,3)=="pj:")?"}":">")+","+RegExp.$5+",,";
  if (typeof(T1[RegExp.$3])!="undefined") {if (T1[RegExp.$3].substr(1)=="!") {continue}}; T1[RegExp.$3] = RegExp.$4+".";
 } else if (RegExp.$3==To+nom) {
  if (RegExp.$2=="1") {if (typeof(T0[RegExp.$1])!="undefined") {T0[RegExp.$1] = ""}; continue};
  T0[RegExp.$1] = RegExp.$1+","+((RegExp.$6.substr(0,3)=="pj:")?"{":"<")+","+RegExp.$5+",,";
  if (typeof(T1[RegExp.$1])!="undefined") {if (T1[RegExp.$1].substr(1)=="!") {continue}}; T1[RegExp.$1] = RegExp.$4+".";
 }
}
}
 for(y in T0) {if ((T0[y]!="")&&(T1[y]!="")) {wwNum[0] += T1[y].substr(0,1)+","+T0[y]+"/#"}};
 if (val!="User*") {NUM[0] = "9"; y = val; if (typeof(T1[y])!="undefined") {NUM[0] = T1[y].substr(0,1)}};
 return 0;
}