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

 load – Admin 

 extractAdmin 

Requêtes de Ça-déménage.com
Accès professionnel
Extraire 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
 


 cptHisto  Lit l'historique des messages échangés
Syntaxe cptHisto(To,nom,val,OUT)
Paramètres 
nom  type  Description 
To  IN Cas d'appel
nom  IN Identifiant d'appel
val  IN Destinataire du message
OUT  IN Historique des messages
— Retourné dans le code JavaScript affectant la variable "wwHisto"
Perl : scalaire passé par référence – JavaScript : tableau à 1 élément
retourne  OUT  0 : Traitement correct
non nul : Erreur de traitement
Fonctions util. 
 wsFile Fonction d'accès aux fichiers
 uneval Fonction réciproque de la fonction "eval"


Code Perl 

sub cptHisto {local($To,$nom,$val,$OUT) = @_; 
 local $In = ''; if (&wsFile("read",$To,$nom,"Cpta",\$In)!=0) {return 100}; local $x = $In; 
 local($k,$x0,$y); 
 $y = "var wwHisto = \"\";\n";
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\(Compta\)new:\/\/\w+\/#T\(cptOwner\):(\w+)\/#T\(cptError\):(\w+)\/#T\(cptUser\):(\w+)\/#T\(cptEtat\):(.*)\/#T\(cptMsg\):(.*)\/#T\(Date\)/) {next};
 if (($1 eq $To.$nom)&&($3 eq $val)) {
  if ($2 eq "1") {$y = "var wwHisto = \"\";\n"; next}
  $y .= "wwHisto += ".&uneval($4.",".$3.",>,".$5."/#").";\n";
 } elsif (($3 eq $To.$nom)&&($1 eq $val)) {
  if ($2 eq "1") {$y = "var wwHisto = \"\";\n"; next}
  $y .= "wwHisto += ".&uneval($4.",".$1.",<,".$5."/#").";\n";
 }
}
 $$OUT .= $y;
 return 0;
}
Code JavaScript 

function cptHisto(To,nom,val,OUT) { 
 var In = Array(''); if (wsFile("read",To,nom,"Cpta",In)!=0) {return 100}; var x = In[0]; 
 var k,x0,y; 
 y = "var wwHisto = \"\";\n";
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\(Compta\)new:\/\/\w+\/#T\(cptOwner\):(\w+)\/#T\(cptError\):(\w+)\/#T\(cptUser\):(\w+)\/#T\(cptEtat\):(.*)\/#T\(cptMsg\):(.*)\/#T\(Date\)/)) {continue};
 if ((RegExp.$1==To+nom)&&(RegExp.$3==val)) {
  if (RegExp.$2=="1") {y = "var wwHisto = \"\";\n"; continue}
  y += "wwHisto += "+uneval(RegExp.$4+","+RegExp.$3+",>,"+RegExp.$5+"/#")+";\n";
 } else if ((RegExp.$3==To+nom)&&(RegExp.$1==val)) {
  if (RegExp.$2=="1") {y = "var wwHisto = \"\";\n"; continue}
  y += "wwHisto += "+uneval(RegExp.$4+","+RegExp.$1+",<,"+RegExp.$5+"/#")+";\n";
 }
}
 OUT[0] += y;
 return 0;
}