| 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;
}}
|