Changeset 2872
- Timestamp:
- 08/01/08 00:45:44 (4 months ago)
- Files:
-
- branches/release-42/lib/MT/Template/ContextHandlers.pm (modified) (7 diffs)
- branches/release-42/php/lib/block.mtsetvarblock.php (modified) (2 diffs)
- branches/release-42/php/lib/function.mtsetvar.php (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
branches/release-42/lib/MT/Template/ContextHandlers.pm
r2869 r2872 2548 2548 2549 2549 my $start = (exists $args->{from} ? $args->{from} : $args->{start}) || 0; 2550 $start = 0 unless $start =~ /^ \d+$/;2550 $start = 0 unless $start =~ /^-?\d+$/; 2551 2551 my $end = (exists $args->{to} ? $args->{to} : $args->{end}) || 0; 2552 return q() unless $end =~ /^ \d+$/;2552 return q() unless $end =~ /^-?\d+$/; 2553 2553 my $incr = $args->{increment} || $args->{step} || 1; 2554 # FIXME: support negative "step" values 2554 2555 $incr = 1 unless $incr =~ /^\d+$/; 2556 $incr = 1 unless $incr; 2555 2557 2556 2558 my $builder = $ctx->stash('builder'); … … 3362 3364 } 3363 3365 3364 if ($name =~ m/^ $/) {3366 if ($name =~ m/^\$/) { 3365 3367 $name = $ctx->var($name); 3366 3368 } … … 3385 3387 } elsif (ref($value) eq 'ARRAY') { 3386 3388 if ( defined $index ) { 3387 if ($index =~ /^ \d+$/) {3389 if ($index =~ /^-?\d+$/) { 3388 3390 $value = $value->[ $index ]; 3389 3391 } else { … … 5492 5494 my $tag = lc $ctx->stash('tag'); 5493 5495 my $name = $args->{name} || $args->{var}; 5494 if ($name =~ m/^ $/) {5496 if ($name =~ m/^\$/) { 5495 5497 $name = $ctx->var($name); 5496 5498 } … … 5660 5662 } 5661 5663 5662 if ($name =~ m/^ $/) {5664 if ($name =~ m/^\$/) { 5663 5665 $name = $ctx->var($name); 5664 5666 return $ctx->error(MT->translate( … … 5686 5688 } 5687 5689 elsif ( 'ARRAY' eq ref($existing) ) { 5688 $existing = ( defined $index && ( $index =~ /^ \d+$/ ) )5690 $existing = ( defined $index && ( $index =~ /^-?\d+$/ ) ) 5689 5691 ? $existing->[ $index ] 5690 5692 : undef; … … 5719 5721 unless 'ARRAY' eq ref($data); 5720 5722 return $ctx->error( MT->translate("Invalid index.") ) 5721 unless $index =~ /^ \d+$/;5723 unless $index =~ /^-?\d+$/; 5722 5724 $data->[ $index ] = $val; 5723 5725 } branches/release-42/php/lib/block.mtsetvarblock.php
r1174 r2872 41 41 } 42 42 43 if (preg_match('/^ $/', $name)) {43 if (preg_match('/^\$/', $name)) { 44 44 $name = $vars[$name]; 45 45 if (!isset($name)) … … 140 140 return ''; 141 141 } 142 ?>branches/release-42/php/lib/function.mtsetvar.php
r2304 r2872 51 51 } 52 52 53 if (preg_match('/^ $/', $name)) {53 if (preg_match('/^\$/', $name)) { 54 54 $name = $vars[$name]; 55 55 if (!isset($name)) … … 148 148 return ''; 149 149 } 150 ?>
