diff options
author | Martin Corino <mcorino@remedy.nl> | 2020-11-11 14:25:01 +0100 |
---|---|---|
committer | Martin Corino <mcorino@remedy.nl> | 2020-11-11 14:25:01 +0100 |
commit | ac933bdc2c1e1d0d1a0d858fc5ea50c62704196b (patch) | |
tree | 678d4fc46d1bcd5c69152de8e5c392fb2e9efae2 /modules | |
parent | c47579beb7e0acc6ff89062e9cb7c5ba04eeea21 (diff) | |
download | MPC-ac933bdc2c1e1d0d1a0d858fc5ea50c62704196b.tar.gz |
Add extension to "contains" template function.
* modules/TemplateParser.pm:
Diffstat (limited to 'modules')
-rw-r--r-- | modules/TemplateParser.pm | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/modules/TemplateParser.pm b/modules/TemplateParser.pm index 0544f5d7..f447b175 100644 --- a/modules/TemplateParser.pm +++ b/modules/TemplateParser.pm @@ -475,6 +475,17 @@ sub get_value_with_default { return (UNIVERSAL::isa($value, 'ARRAY') ? "@$value" : $value); } +sub get_match_pattern { + my ($tp, $patarg) = @_; + + my $patval = $tp->get_value($patarg); + if (defined $patval) { + return $patval; + } + else { + return $patarg; + } +} sub process_foreach { my $self = shift; @@ -930,6 +941,7 @@ sub doif_contains { if (defined $val) { my($name, $pattern) = $self->split_parameters("@$val"); if (defined $name && defined $pattern) { + $pattern = $self->get_match_pattern ($pattern); return ($self->get_value_with_default($name) =~ /$pattern/); } } |