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

 load – Admin 

 contactAdmin 

Requêtes de Ça-déménage.com
Accès professionnel
Prendre contact
 submit | Finer | Errer | Execer | fromClient | toDBase | fromDBase | toClient 


 Execer  Prendre contact — Exécution de la requête
Syntaxe Execer(x,To,date,nom,val,RTN)
Paramètres 
nom  type  Description 
 IN Cas d'appel
To  IN Cas d'appel
date  IN Date de clôture de la base (éventuellement vide)
nom  IN Identifiant d'appel
val  IN Valeur fournie à l'appel
RTN  OUT Code JavaScript retourné au client
Perl : scalaire passé par référence – JavaScript : tableau à 1 élément
retourne  OUT  = "" : Traitement correct
= chaîne non vide : Message d'erreur
Fonctions util. 
 printLog Ecriture de la log
 wsFile Fonction d'accès aux fichiers
 cptLire Lit le dernier message
 cptEcrire Ecrit un message
 splitMail Supprime l'adresse e-mail dans un enregistement
 tstEmail Teste la validité syntaxique d'une adresse e-mail
 wsRunVar Paramètres de gestion des valeurs

 PreContacter Prendre un pré-contact
 Contacter Prendre un contact
 fromDBase Prendre contact — Extrait des enregistrements
 toClient Prendre contact — Construit le code JavaScript à retourner au client


Code Perl 


sub Execer {local($x,$To,$date,$nom,$val,$RTN) = @_; 
 local($i,$In,$Out,$Num,$Mail); 
 $In = ''; $Out = ''; $Num = ''; $Mail = '';
 $wwNum = '';
 local($x1,$k,$Dest); 
 local $x2 = ""; 
 if (($k=index($val,"/#"))==-1) {return 'Erreur mail: 101'}; $x2 = substr($val,0,$k); $val = substr($val,$k+2);
 if (($k=index($val,","))==-1) {return 'Erreur mail: 102'}; $x1 = substr($val,$k+1); $val = substr($val,0,$k);
 &printLog("Load",'Log','/#T(Appel):'.$x.' '.$To.$nom.' '.$val.'');
 if ($x1 ne "") {$x1 =~ s/\\\/\\#/\/#/gi};
 if (($i=&cptLire($To,$nom,$val,\$Num))!=0) {return 'Erreur lecture compta: '.$i.''};
 if ($val!~/^(Admin|User)/) {return 'Erreur mail: 103'}; $Dest = $1; $val = substr($val,length($1));
 if (&wsFile("check",$Dest,$val,"")!=0) {return 'Erreur mail: 104'};
 $In = '';
 if (($i=&fromDBase($To,\$In,$date,$nom,""))!=0) {return 'Erreur lecture: '.$i.''};
 if (($i=&splitMail($To,\$In,\$Mail))!=0) {return 'Erreur mail: '.$i.''};
 local $mailTo = $Mail; 
 $In = '';
 if (($i=&fromDBase($Dest,\$In,$date,$val,""))!=0) {return 'Erreur lecture: '.$i.''};
 if (($i=&splitMail($Dest,\$In,\$Mail))!=0) {return 'Erreur mail: '.$i.''};
 local $mailDest = $Mail; 
if ($Dest eq "Admin") {
 if ($In=~/\/#T\(gloEtat\):1\/#T/) {return 'Erreur mail: 105'};
} else {
 $In = '';
 if (($i=&fromDBase($To,\$In,$date,$nom,""))!=0) {return 'Erreur lecture: '.$i.''};
 if ($In=~/\/#T\(gloError\):2\/#T/) {return 'Erreur mail: 110'};
 $In = '';
 if (($i=&fromDBase($Dest,\$In,$date,$val,""))!=0) {return 'Erreur lecture: '.$i.''};
 if ($In!~/\/#T\(resError\):(\w+)\/#T/) {return 'Erreur mail: 106'};
 if (index((($To eq "Admin")?"02345":"045"),$1)==-1) {return 'Erreur mail: 107'};
 if (index((($To eq "Admin")?"345":"4"),$1)==-1) {$mailDest = ""};
 if ($mailTo eq "") {$mailDest = ""};
}
 if (index($Mail," ")!=-1) {$Mail = substr($Mail,0,index($Mail," "))};
 if (($i=&tstEmail($Mail))!=0) {return 'Erreur mail: '.$i.''};
if (($Num eq "9")&&($To eq "User")&&($Dest eq "Admin")) {
 if (($i=&PreContacter($Mail,$x1,$x2,$val,$nom))!=0) {return 'Erreur message: '.$i.''};
} else {
 if (($i=&Contacter($Mail,$x1,$x2))!=0) {return 'Erreur message: '.$i.''};
}
 if (($i=&cptEcrire($To,$nom,$Dest.$val,\$Num,$x1,$x2,$mailTo))!=0) {return ">".$i.''};
 $Out .= "window.parent.de.Ltexte.locEvtContactFin(\"".$Dest.$val."\",\"".$mailDest."\");\n";
 if (($i=&toClient($x,$To,\$Out,$RTN))!=0) {return 'Erreur export: '.$i.''};
 return '';
}
Code JavaScript 


function Execer(x,To,date,nom,val,RTN) { 
 var i,In,Out,Num,Mail; 
 In = Array(''); Out = Array(''); Num = Array(''); Mail = Array('');
 wwNum = Array('');
 var x1,k,Dest; 
 var x2 = ""; 
 if ((k=val.indexOf("/#"))==-1) {return 'Erreur mail: 101'}; x2 = val.substr(0,k); val = val.substr(k+2);
 if ((k=val.indexOf(","))==-1) {return 'Erreur mail: 102'}; x1 = val.substr(k+1); val = val.substr(0,k);
 printLog("Load",'Log','/#T(Appel):'+x+' '+To+nom+' '+val+'');
 if (x1!="") {x1 = x1.replace(/\\\/\\#/gi,"\/#")};
 if ((i=cptLire(To,nom,val,Num))!=0) {return 'Erreur lecture compta: '+i.toString()};
 if (!val.match(/^(Admin|User)/)) {return 'Erreur mail: 103'}; Dest = RegExp.$1; val = val.substr(RegExp.$1.length);
 if (wsFile("check",Dest,val,"")!=0) {return 'Erreur mail: 104'};
 In = Array('');
 if ((i=fromDBase(To,In,date,nom,""))!=0) {return 'Erreur lecture: '+i.toString()};
 if ((i=splitMail(To,In,Mail))!=0) {return 'Erreur mail: '+i.toString()};
 var mailTo = Mail[0]; 
 In = Array('');
 if ((i=fromDBase(Dest,In,date,val,""))!=0) {return 'Erreur lecture: '+i.toString()};
 if ((i=splitMail(Dest,In,Mail))!=0) {return 'Erreur mail: '+i.toString()};
 var mailDest = Mail[0]; 
if (Dest=="Admin") {
 if (In[0].match(/\/#T\(gloEtat\):1\/#T/)) {return 'Erreur mail: 105'};
} else {
 In = Array('');
 if ((i=fromDBase(To,In,date,nom,""))!=0) {return 'Erreur lecture: '+i.toString()};
 if (In[0].match(/\/#T\(gloError\):2\/#T/)) {return 'Erreur mail: 110'};
 In = Array('');
 if ((i=fromDBase(Dest,In,date,val,""))!=0) {return 'Erreur lecture: '+i.toString()};
 if (!In[0].match(/\/#T\(resError\):(\w+)\/#T/)) {return 'Erreur mail: 106'};
 if (((To=="Admin")?"02345":"045").indexOf(RegExp.$1)==-1) {return 'Erreur mail: 107'};
 if (((To=="Admin")?"345":"4").indexOf(RegExp.$1)==-1) {mailDest = ""};
 if (mailTo=="") {mailDest = ""};
}
 if (Mail[0].indexOf(" ")!=-1) {Mail[0] = Mail[0].substr(0,Mail[0].indexOf(" "))};
 if ((i=tstEmail(Mail[0]))!=0) {return 'Erreur mail: '+i.toString()};
if ((Num[0]=="9")&&(To=="User")&&(Dest=="Admin")) {
 if ((i=PreContacter(Mail[0],x1,x2,val,nom))!=0) {return 'Erreur message: '+i.toString()};
} else {
 if ((i=Contacter(Mail[0],x1,x2))!=0) {return 'Erreur message: '+i.toString()};
}
 if ((i=cptEcrire(To,nom,Dest+val,Num,x1,x2,mailTo))!=0) {return ">"+i.toString()};
 Out[0] += "window.parent.de.Ltexte.locEvtContactFin(\""+Dest+val+"\",\""+mailDest+"\");\n";
 if ((i=toClient(x,To,Out,RTN))!=0) {return 'Erreur export: '+i.toString()};
 return '';
}