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

 load – Admin 

 Execer 

Requêtes de Ça-déménage.com
Accès professionnel
Exécution de la requête
 
 
 Bibliothèque CaD 

 Serveur 

 wsRun 

Bibliothèque de Ça-déménage.com
Paramètres d'accès au serveur
Paramètres de gestion des enregistrements
 


 wsRun  Paramètres de gestion des enregistrements
— Instanciation de  wsRun  de  Bibliothèque 
Syntaxe wsRun(x,To,IN,OUT)
Paramètres 
nom  type  Description 
 IN Type d'appel = "getTable"
To  IN Nom de la table
retourne  OUT  0 : Table wwTab symboliquement instanciée
1 : Table inconnue

 IN Type d'appel = "getFields"
To  IN Nom de la table
retourne  OUT  0 : Table wwChp symboliquement instanciée
1 : Table inconnue

 IN Type d'appel = "runImport"
To  IN Nom de la table
IN  IN Enregistrements à importer
Perl : scalaire passé par référence – JavaScript : tableau à 1 élément
OUT  OUT Variables à importer
Perl : scalaire passé par référence – JavaScript : tableau à 1 élément
retourne  OUT  0 : Traitement correct
1 : Erreur de traitement

 IN Type d'appel = "runExport"
To  IN Nom de la table
IN  IN Enregistrements à exporter (en entrée)
Perl : scalaire passé par référence – JavaScript : tableau à 1 élément
OUT  OUT Enregistrements à exporter (en sortie)
Perl : scalaire passé par référence – JavaScript : tableau à 1 élément
retourne  OUT  0 : Traitement correct
1 : Erreur de traitement
Fonctions util. 
 Tables Tables d'accès au serveur
 wsImport Importer les enregistrements (serveur –> client)
 wsExport Exporter les enregistrements (client –> serveur)
 wsImportVal Importer des valeurs (serveur –> client)
 wsImportVar Importer une variable (serveur –> client)


Code Perl 

sub wsRun {local($x,$To,$IN,$OUT) = @_; 
if($x eq "getTable"){
  if($To eq "Selection"){ *wwTab = *admT; return 0;
  }elsif($To eq "Devis"){ *wwTab = *usrT; return 0;
  }elsif($To eq "Resume"){ *wwTab = *resT; return 0;
  }elsif($To eq "Contact"){ *wwTab = *ctcT; return 0;
  } return 1;
}elsif($x eq "getFields"){
  if($To eq "Selection"){ @wwChp = ('gloOwner','gloError','gloEtat','gloVData','gloDebut'); return 0;
  }elsif($To eq "Devis"){ @wwChp = ('gloOwner','gloError','gloEtat','gloMode','gloVData','gloTLieux','gloTLieu','gloTPces','gloTPce'); return 0;
  }elsif($To eq "Resume"){ @wwChp = ('resOwner','resError','resVCrit','resVData','resVDate','resVMail'); return 0;
  }elsif($To eq "Contact"){ @wwChp = ('ctcOwner','ctcError','ctcAdmin','ctcVData','ctcVDate','ctcVMail'); return 0;
  } return 1;
}elsif(($x eq "runImport")||($x eq "runExport")){
  local($i,$x0,$x1,$x2);
  @admT = (); @usrT = (); @resT = (); @ctcT = ();
  if (($i=&wsImport($$IN))!=0) {return $i};
  if($To eq "Admin"){ $x0 = "Selection,admT;Resume,resT;Contact,ctcT;"; 
  }elsif($To eq "User"){ $x0 = "Devis,usrT;Resume,resT;Contact,ctcT;"; 
  }
 while($x0=~/(\w+),(\w+);/) {
  $x1 = $1; $x2 = $2; $x0 =~ s/(\w+),(\w+);//;
  if ($x eq "runExport") {$$OUT .= &wsExport($x1); next};
  &wsRun("getTable",$x1); &wsRun("getFields",$x1); local *Tchp = *wwChp; 
  local($k,$Liste); 
  $Liste = ';';
 if($x1 eq "Selection"){
  if (scalar(@wwTab)==0) {next};
  $$OUT .= &wsImportVar('gloComm',&setDebut($wwTab[0]{"gloDebut"}),\$Liste);
  $$OUT .= &wsImportVal($x2,\%{$wwTab[0]},\@Tchp); 
 }elsif($x1 eq "Devis"){
  if (scalar(@wwTab)==0) {next};
  $$OUT .= &wsImportVal($x2,\%{$wwTab[0]},\@Tchp); 
 }elsif($x1 eq "Resume"){
  if (scalar(@wwTab)==0) {next};
 if ($To eq "User") {
  $$OUT .= &wsImportVal($x2,\%{$wwTab[0]},\@Tchp);
 if ($wwTab[0]{"resVDate"} eq "") {
  $$OUT .= &wsImportVar('resVDate',substr($wwTab[0]{"/#T"},2),\$Liste);
 }}
 if ($toJs eq "true") {
  $$OUT .= "var tR=[]; var iR=0;\n";
 } else {
  $$OUT .= "local \@tR=(); local \$iR=0;\n";
 }
 if ($wwTab[0]{"resVData"} ne "") {if (($To ne "User")||($resT[0]{"resError"} eq "1")) {
  $$OUT .= "tR[iR++]=\""."0";
  $$OUT .= $wwTab[0]{"resOwner"}.((length($wwTab[0]{"resOwner"})==4)?" ":"");
  $$OUT .= $wwTab[0]{"resError"};
  $$OUT .= (($wwTab[0]{"resVDate"} eq "")?substr($wwTab[0]{"/#T"},2):$wwTab[0]{"resVDate"}).$wwTab[0]{"resVData"}."";
  $$OUT .= "\";\n";
 }}
 }elsif($x1 eq "Contact"){
  local $y0 = ""; local($y,$y1,$k1); 
 if ($To eq "User") {
 open(F1,"<"."../Wdircad/wwCarte.txt"); $y0 = join("",<F1>); close(F1);
 }
 for($k=0;$k<scalar(@wwTab);$k++) {
  if (($To eq "User")&&($resT[0]{"resError"} eq "1")) {$ctcT[$k]{"ctcError"} = "2"};
 if (substr($ctcT[$k]{"ctcVMail"},0,3) eq "pj:") {
  $y1 = $y0; $y = substr($ctcT[$k]{"ctcVMail"},3); if (index($y," ")!=-1) {$y = substr($y,0,index($y," "))}
  if (($k1=index($y1,"\/#(".$y.":\n"))!=-1) {$y1 = substr($y1,$k1+length($y)+5); if (($k1=index($y1,"\/#)\n"))!=-1) {$y1 = substr($y1,0,$k1);
   $ctcT[$k]{"ctcVMail"} = "pj:".$y1;
  }}
 }
  $$OUT .= &wsImportVal($x2,\%{$wwTab[$k]},\@Tchp,'['.$k.''.']',\$Liste);
 }; 
 }}; return 0;
}}
Code JavaScript 

function wsRun(x,To,IN,OUT) { 
switch(x) {
case "getTable":
  switch(To) {
  case "Selection": wwTab = admT; return 0;
  case "Devis": wwTab = usrT; return 0;
  case "Resume": wwTab = resT; return 0;
  case "Contact": wwTab = ctcT; return 0;
  } return 1;
case "getFields":
  switch(To) {
  case "Selection": wwChp = ['gloOwner','gloError','gloEtat','gloVData','gloDebut']; return 0;
  case "Devis": wwChp = ['gloOwner','gloError','gloEtat','gloMode','gloVData','gloTLieux','gloTLieu','gloTPces','gloTPce']; return 0;
  case "Resume": wwChp = ['resOwner','resError','resVCrit','resVData','resVDate','resVMail']; return 0;
  case "Contact": wwChp = ['ctcOwner','ctcError','ctcAdmin','ctcVData','ctcVDate','ctcVMail']; return 0;
  } return 1;
case "runImport": case "runExport":
  var i,x0,x1,x2;
  admT = new Array(); usrT = new Array(); resT = new Array(); ctcT = new Array();
  if ((i=wsImport(IN[0]))!=0) {return i};
  switch(To) {
  case "Admin": x0 = "Selection,admT;Resume,resT;Contact,ctcT;"; break;
  case "User": x0 = "Devis,usrT;Resume,resT;Contact,ctcT;"; break;
  }
 while(x0.match(/(\w+),(\w+);/)) {
  x1 = RegExp.$1; x2 = RegExp.$2; x0 = x0.replace(/(\w+),(\w+);/,"");
  if (x=="runExport") {OUT[0] += wsExport(x1); continue};
  wsRun("getTable",x1); wsRun("getFields",x1); var Tchp = Array(wwChp); 
  var k,Liste; 
  Liste = Array(';');
 switch(x1) {
 case "Selection":
  if (wwTab.length==0) {continue};
  OUT[0] += wsImportVar('gloComm',setDebut(wwTab[0]["gloDebut"]),Liste);
  OUT[0] += wsImportVal(x2,Array(wwTab[0]),Tchp); break;
 case "Devis":
  if (wwTab.length==0) {continue};
  OUT[0] += wsImportVal(x2,Array(wwTab[0]),Tchp); break;
 case "Resume":
  if (wwTab.length==0) {continue};
 if (To=="User") {
  OUT[0] += wsImportVal(x2,Array(wwTab[0]),Tchp);
 if (wwTab[0]["resVDate"]=="") {
  OUT[0] += wsImportVar('resVDate',wwTab[0]["/#T"].substr(2),Liste);
 }}
 if (toJs=="true") {
  OUT[0] += "var tR=[]; var iR=0;\n";
 } else {
  OUT[0] += "var tR=[]; var iR=0;\n"; 
 }
 if (wwTab[0]["resVData"]!="") {if ((To!="User")||(resT[0]["resError"]=="1")) {
  OUT[0] += "tR[iR++]=\""+"0";
  OUT[0] += wwTab[0]["resOwner"]+((wwTab[0]["resOwner"].length==4)?" ":"");
  OUT[0] += wwTab[0]["resError"];
  OUT[0] += ((wwTab[0]["resVDate"]=="")?wwTab[0]["/#T"].substr(2):wwTab[0]["resVDate"])+wwTab[0]["resVData"]+"";
  OUT[0] += "\";\n";
 }}
 break;
 case "Contact":
  var y0 = ""; var y,y1,k1; 
 if (To=="User") {
  y0 = window.parent.temp.wwCarte; 
 }
 for(k=0;k<wwTab.length;k++) {
  if ((To=="User")&&(resT[0]["resError"]=="1")) {ctcT[k]["ctcError"] = "2"};
 if (ctcT[k]["ctcVMail"].substr(0,3)=="pj:") {
  y1 = y0; y = ctcT[k]["ctcVMail"].substr(3); if (y.indexOf(" ")!=-1) {y = y.substr(0,y.indexOf(" "))}
  if ((k1=y1.indexOf("\/#("+y+":\n"))!=-1) {y1 = y1.substr(k1+y.length+5); if ((k1=y1.indexOf("\/#)\n"))!=-1) {y1 = y1.substr(0,k1);
   ctcT[k]["ctcVMail"] = "pj:"+y1;
  }}
 }
  OUT[0] += wsImportVal(x2,Array(wwTab[k]),Tchp,'['+k.toString()+']',Liste);
 }; break;
 }}; return 0;
}}