Lines 117-180
my ($input) = @_;
Link Here
|
117 |
} |
117 |
} |
118 |
# use Data::Dumper;warn "BIGLOOP IN".Dumper(@BIGLOOP); |
118 |
# use Data::Dumper;warn "BIGLOOP IN".Dumper(@BIGLOOP); |
119 |
} |
119 |
} |
120 |
foreach my $num (sort keys %numbers){ |
120 |
foreach my $num ( sort keys %numbers ) { |
121 |
my @tmpcolhdr; |
121 |
my @tmpcolhdr; |
122 |
my @tmprowhdr; |
122 |
my @tmprowhdr; |
123 |
@tmpcolhdr = @{$numbers{$num}->{'col_hdr'}} if ($numbers{$num}->{'col_hdr'}); |
123 |
@tmpcolhdr = @{ $numbers{$num}->{'col_hdr'} } |
124 |
@tmprowhdr = @{$numbers{$num}->{"row_hdr"}} if ($numbers{$num}->{'row_hdr'}); |
124 |
if ( $numbers{$num}->{'col_hdr'} ); |
125 |
my @lines; |
125 |
@tmprowhdr = @{ $numbers{$num}->{"row_hdr"} } |
126 |
my @lists; |
126 |
if ( $numbers{$num}->{'row_hdr'} ); |
127 |
my %BIGLOOPcell; |
127 |
my @lines; |
128 |
foreach my $row (@tmprowhdr){ |
128 |
my @lists; |
129 |
my $tmprowvalue=$row->{rowvalue}; |
129 |
my %BIGLOOPcell; |
130 |
my $rowcode; |
130 |
foreach my $row (@tmprowhdr) { |
131 |
$rowcode=$1 if $tmprowvalue=~/[0-9]([0-9])\./; |
131 |
my $tmprowvalue = $row->{rowvalue}; |
132 |
my @cells; |
132 |
my $rowcode; |
133 |
if (scalar(@tmpcolhdr)>0){ |
133 |
$rowcode = $1 if $tmprowvalue =~ /[0-9]([0-9])\./; |
134 |
#cas du tableau bidim |
134 |
my @cells; |
135 |
foreach my $col (@tmpcolhdr){ |
135 |
if ( scalar(@tmpcolhdr) > 0 ) { |
136 |
my $tmpcolvalue=$col->{colvalue}; |
136 |
|
137 |
my $colcode; |
137 |
#cas du tableau bidim |
138 |
$colcode=$1 if $tmpcolvalue=~/[0-9]\.([0-9])/; |
138 |
foreach my $col (@tmpcolhdr) { |
139 |
my %cell; |
139 |
my $tmpcolvalue = $col->{colvalue}; |
140 |
$cell{celvalue}=$num.$rowcode.$colcode; |
140 |
my $colcode; |
141 |
$cell{rowvalue}=$tmprowvalue; |
141 |
$colcode = $1 if $tmpcolvalue =~ /[0-9]\.([0-9])/; |
142 |
$cell{colvalue}=$tmpcolvalue; |
142 |
my %cell; |
143 |
if ($numbers{$num}->{$num.$rowcode.$colcode}){ |
143 |
$cell{celvalue} = $num . $rowcode . $colcode; |
144 |
foreach (@{$numbers{$num}->{$num.$rowcode.$colcode}}){ |
144 |
$cell{rowvalue} = $tmprowvalue; |
145 |
push @{$cell{libs}},{'lib'=>$_}; |
145 |
$cell{colvalue} = $tmpcolvalue; |
146 |
} |
146 |
if ( $numbers{$num}->{ $num . $rowcode . $colcode } ) { |
147 |
}else { |
147 |
|
148 |
push @{$cell{libs}},{'lib'=>$num.$rowcode.$colcode}; |
148 |
foreach ( |
|
|
149 |
@{ $numbers{$num}->{ $num . $rowcode . $colcode } } |
150 |
) |
151 |
{ |
152 |
push @{ $cell{libs} }, { 'lib' => $_ }; |
153 |
} |
154 |
} |
155 |
else { |
156 |
push @{ $cell{libs} }, |
157 |
{ 'lib' => $num . $rowcode . $colcode }; |
158 |
} |
159 |
push @cells, \%cell; |
160 |
} |
161 |
if ( $numbers{$num}->{ $num . $rowcode } ) { |
162 |
my @tmpliblist = @{ $numbers{$num}->{ $num . $rowcode } }; |
163 |
push @lists, |
164 |
{ 'lib' => $row->{rowlib}, 'liblist' => \@tmpliblist }; |
165 |
} |
149 |
} |
166 |
} |
150 |
push @cells,\%cell; |
167 |
else { |
151 |
} |
168 |
|
152 |
if ($numbers{$num}->{$num.$rowcode}){ |
169 |
#Cas de la liste simple |
153 |
my @tmpliblist=@{$numbers{$num}->{$num.$rowcode}}; |
170 |
foreach my $key ( sort keys %{ $numbers{$num} } ) { |
154 |
push @lists,{'lib'=>$row->{rowlib},'liblist'=>\@tmpliblist}; |
171 |
my %cell; |
155 |
} |
172 |
if ( $key =~ /$num$rowcode[0-9]/ ) { |
156 |
} else { |
173 |
$cell{celvalue} = $key; |
157 |
#Cas de la liste simple |
174 |
foreach my $lib ( @{ $numbers{$num}->{$key} } ) { |
158 |
foreach my $key (sort keys %{$numbers{$num}}){ |
175 |
push @{ $cell{'libs'} }, { 'lib' => $lib }; |
159 |
my %cell; |
176 |
} |
160 |
if ($key=~/$num$rowcode[0-9]/){ |
177 |
push @cells, \%cell; |
161 |
$cell{celvalue}=$key; |
178 |
} |
162 |
foreach my $lib (@{$numbers{$num}->{$key}}){ |
179 |
} |
163 |
push @{$cell{'libs'}},{'lib'=>$lib}; |
|
|
164 |
} |
165 |
push @cells,\%cell; |
166 |
} |
180 |
} |
167 |
} |
181 |
push @lines, |
|
|
182 |
{ |
183 |
'cells' => \@cells, |
184 |
'rowvalue' => $row->{rowvalue}, |
185 |
'rowlib' => $row->{rowlib} |
186 |
}; |
168 |
} |
187 |
} |
169 |
push @lines,{'cells'=>\@cells,'rowvalue'=>$row->{rowvalue},'rowlib'=>$row->{rowlib}}; |
188 |
$BIGLOOPcell{'Lists'} = \@lists if ( scalar(@lists) > 0 ); |
170 |
} |
189 |
$BIGLOOPcell{'lines'} = \@lines if ( scalar(@lines) > 0 ); |
171 |
$BIGLOOPcell{'Lists'}=\@lists if (scalar(@lists)>0); |
190 |
$BIGLOOPcell{'col_hdr'} = \@tmpcolhdr if ( scalar(@tmpcolhdr) > 0 ); |
172 |
$BIGLOOPcell{'lines'}=\@lines if (scalar(@lines)>0); |
191 |
$BIGLOOPcell{'Table'} = $numbers{$num}->{'Table'}; |
173 |
$BIGLOOPcell{'col_hdr'}=\@tmpcolhdr if (scalar(@tmpcolhdr)>0); |
192 |
$BIGLOOPcell{'hdr_tab'} = $numbers{$num}->{'hdr_tab'}; |
174 |
$BIGLOOPcell{'Table'}=$numbers{$num}->{'Table'}; |
193 |
$BIGLOOPcell{'number'} = $num; |
175 |
$BIGLOOPcell{'hdr_tab'}=$numbers{$num}->{'hdr_tab'}; |
194 |
push @BIGLOOP, \%BIGLOOPcell; |
176 |
$BIGLOOPcell{'number'}=$num; |
|
|
177 |
push @BIGLOOP,\%BIGLOOPcell; |
178 |
} |
195 |
} |
179 |
# warn "BIGLOOP OUT".Dumper(@BIGLOOP); |
196 |
# warn "BIGLOOP OUT".Dumper(@BIGLOOP); |
180 |
my ($template, $loggedinuser, $cookie) |
197 |
my ($template, $loggedinuser, $cookie) |
181 |
- |
|
|