summaryrefslogtreecommitdiff
path: root/modules
diff options
context:
space:
mode:
authorMartin Corino <mcorino@remedy.nl>2020-11-11 14:25:01 +0100
committerMartin Corino <mcorino@remedy.nl>2020-11-11 14:25:01 +0100
commitac933bdc2c1e1d0d1a0d858fc5ea50c62704196b (patch)
tree678d4fc46d1bcd5c69152de8e5c392fb2e9efae2 /modules
parentc47579beb7e0acc6ff89062e9cb7c5ba04eeea21 (diff)
downloadMPC-ac933bdc2c1e1d0d1a0d858fc5ea50c62704196b.tar.gz
Add extension to "contains" template function.
* modules/TemplateParser.pm:
Diffstat (limited to 'modules')
-rw-r--r--modules/TemplateParser.pm12
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/);
}
}