Naviguation dans :  Perl  JavaScript  Détail  - par cas d'appel / par traitements
 présentée :  par cas d'appel   par traitements 
Retour à l'accueil
  
 
 Requêtes 

 wsCaD_chgMail 

 fromEmail 

Requêtes de Ça-déménage.com
Requête d'envoi de mail
Retourne la liste des identifiants rattachés à une adresse e-mail donnée


 fromEmail  Retourne la liste des identifiants rattachés à une adresse e-mail donnée
Syntaxe fromEmail(From,nom,val,OUT)
Paramètres 
nom  type  Description 
From  IN Cas d'appel
nom  IN Identifiant d'appel
val  IN Adresse e-mail recherchée
OUT  OUT Liste des identifiants pour lesquels l'adresse e-mail correspond à l'adresse recherchée
— Liste de la forme : "/<ident1>/<ident2>/.../<identN>"
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


Code Perl 

sub fromEmail {local($From,$nom,$val,$OUT) = @_; 
 local $In = ''; if (&wsFile("read",$From,$nom,"",\$In)!=0) {return 100}; local $x = $In; 
 local($k,$x0,$nom); 
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 ($From eq "Admin") {
 if ($x0=~/\/#T\(gloEtat\):1\/#T/) {next}
}
 if (($k=index($x0,"\/#T\(gloVData\):\(#L:\/#L:".$val))==-1) {next}
 if ($x0!~/\/#T\(gloOwner\):(\w+)\/#T/) {next}; $nom = $1;
 $x0 = substr($x0,$k+22+length($val)); if (!((substr($x0,0,1) eq " ")||(substr($x0,0,3) eq "/#L"))) {next}
 $$OUT .= "/".$nom;
}
 return 0;
}
Code JavaScript 

function fromEmail(From,nom,val,OUT) { 
 var In = Array(''); if (wsFile("read",From,nom,"",In)!=0) {return 100}; var x = In[0]; 
 var k,x0,nom; 
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 (From=="Admin") {
 if (x0.match(/\/#T\(gloEtat\):1\/#T/)) {continue}
}
 if ((k=x0.indexOf("\/#T\(gloVData\):\(#L:\/#L:"+val))==-1) {continue}
 if (!x0.match(/\/#T\(gloOwner\):(\w+)\/#T/)) {continue}; nom = RegExp.$1;
 x0 = x0.substr(k+22+val.length); if (!((x0.substr(0,1)==" ")||(x0.substr(0,3)=="/#L"))) {continue}
 OUT[0] += "/"+nom;
}
 return 0;
}