//recursive function to parse items function parse_items(lista) { var resultados= new Array(); for (var i=0; i<lista.length;i++) { var item = lista; listahija = item.getChildren(); tipoitem = item.getType(); valoritem = item.getValue(); if(listahija != null) { var res2 = new Array(); res2 = parse_items(listahija); concatenaArrays(resultados,res2); } else if (tipoitem == "browser" && valoritem != "") { resultados.push(valoritem); } } return resultados; } //main function function get_files() { rootItems = IWDatacapture.getRootItems (); fileList= parse_items(rootItems); IWDatacapture.getItem("/hidden/file_paths").setValue (fileList.join()); }
my $dcr_path = "absolute_path_to_dcr"; if (open DCR, "<$dcr_path") { local $/=undef; $dcr_data = <DCR>; close DCR; } else { $error = 1; } my $rootnode = TeamSite:CRnode->new($dcr_data); if (defined $rootnode) { $file_list = $rootnode->value("hidden.file_paths"); } else { my $l_error = $parser->get_error(); $error = 1; } my @array_files = split(/,/,$file_list); foreach $file (@array_files) { $logger->writeLog(1,"PROCESAMOS $adjunto "); if (-f "$iwmount$area$file" && isModified("$iwmount$area$file")) { my $resp = $task->AddFile($file, "$area$file Added"); } }