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

 load – User 

 extractUser 

Requêtes de Ça-déménage.com
Accès particulier
Extraire des données
 submit | Finer | Errer | Execer | fromClient | toDBase | fromDBase | toClient 


 Execer  Extraire des données — 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
 splitMail Supprime l'adresse e-mail dans un enregistement
 splitAddr Supprime les informations nominatives des enregistrements
 wsRunVar Paramètres de gestion des valeurs
 wsRun Paramètres de gestion des enregistrements

 fromDBase Extraire des données — Extrait des enregistrements
 toClient Extraire des données — 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 = '';
 &printLog("Load",'Log','/#T(Appel):'.$x.' '.$To.$nom.' '.$val.'');
 local($x1,$k,$Dest); 
 if ($val!~/^(Admin|User)/) {return 'Erreur extract: 100'}; $Dest = $1; $val = substr($val,length($1));
 if (($i=&fromDBase($Dest,\$In,$date,$val,""))!=0) {return 'Erreur lecture: '.$i.''};
if ($Dest eq "Admin") {
 if ($In=~/\/#T\(gloEtat\):1\/#T/) {return 'Erreur extract: 110'};
 if ($In!~/\/#T\(gloVData\):(.*)/) {return 'Erreur extract: 111'}; $x1 = $1;
 if (($k=index($x1,"/#L:"))==-1) {return 'Erreur extract: 112'}; $x1 = substr($x1,$k+4);
 if (($k=index($x1,"/#L:"))==-1) {return 'Erreur extract: 112'}; $x1 = substr($x1,$k+4);
 if (($k=index($x1,"/#L:"))==-1) {return 'Erreur extract: 112'}; $x1 = substr($x1,$k+4);
 if (($k=index($x1,"/#L:"))==-1) {return 'Erreur extract: 112'}; $x1 = substr($x1,0,$k);
 $Out .= "var wsGate = \"".$x1."\";\n";
} else {
 if (($i=&splitMail($Dest,\$In,\$Mail))!=0) {return 'Erreur mail: '.$i.''};
 if (($i=&splitAddr($To,$nom,\$In))!=0) {return 'Erreur addr: '.$i.''};
 if (($i=&wsRun("runImport",$Dest,\$In,\$Out))!=0) {return 'Erreur export: '.$i.''};
}
 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('');
 printLog("Load",'Log','/#T(Appel):'+x+' '+To+nom+' '+val+'');
 var x1,k,Dest; 
 if (!val.match(/^(Admin|User)/)) {return 'Erreur extract: 100'}; Dest = RegExp.$1; val = val.substr(RegExp.$1.length);
 if ((i=fromDBase(Dest,In,date,val,""))!=0) {return 'Erreur lecture: '+i.toString()};
if (Dest=="Admin") {
 if (In[0].match(/\/#T\(gloEtat\):1\/#T/)) {return 'Erreur extract: 110'};
 if (!In[0].match(/\/#T\(gloVData\):(.*)/)) {return 'Erreur extract: 111'}; x1 = RegExp.$1;
 if ((k=x1.indexOf("/#L:"))==-1) {return 'Erreur extract: 112'}; x1 = x1.substr(k+4);
 if ((k=x1.indexOf("/#L:"))==-1) {return 'Erreur extract: 112'}; x1 = x1.substr(k+4);
 if ((k=x1.indexOf("/#L:"))==-1) {return 'Erreur extract: 112'}; x1 = x1.substr(k+4);
 if ((k=x1.indexOf("/#L:"))==-1) {return 'Erreur extract: 112'}; x1 = x1.substr(0,k);
 Out[0] += "var wsGate = \""+x1+"\";\n";
} else {
 if ((i=splitMail(Dest,In,Mail))!=0) {return 'Erreur mail: '+i.toString()};
 if ((i=splitAddr(To,nom,In))!=0) {return 'Erreur addr: '+i.toString()};
 if ((i=wsRun("runImport",Dest,In,Out))!=0) {return 'Erreur export: '+i.toString()};
}
 if ((i=toClient(x,To,Out,RTN))!=0) {return 'Erreur export: '+i.toString()};
 return '';
}