diff options
author | travis%sedsystems.ca <> | 2005-02-04 01:37:07 +0000 |
---|---|---|
committer | travis%sedsystems.ca <> | 2005-02-04 01:37:07 +0000 |
commit | 9f4501f4c4cd015355dac29532dcd43a7d54abf5 (patch) | |
tree | 0fd106a68519db0ee7e005f4e70db26c4a6586fd /Bugzilla/BugMail.pm | |
parent | 5a017c4d6d75553d8128b626c3d9acc8e00adbe7 (diff) | |
download | bugs-9f4501f4c4cd015355dac29532dcd43a7d54abf5.tar bugs-9f4501f4c4cd015355dac29532dcd43a7d54abf5.tar.gz bugs-9f4501f4c4cd015355dac29532dcd43a7d54abf5.tar.bz2 bugs-9f4501f4c4cd015355dac29532dcd43a7d54abf5.tar.xz bugs-9f4501f4c4cd015355dac29532dcd43a7d54abf5.zip |
Bug 277623 : Move PerformSubsts() out of globals.pl
Patch by Max Kanat-Alexander <mkanat@kerio.com> r=vladd a=justdave
Diffstat (limited to 'Bugzilla/BugMail.pm')
-rw-r--r-- | Bugzilla/BugMail.pm | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/Bugzilla/BugMail.pm b/Bugzilla/BugMail.pm index 7de3e63cb..f81c1615d 100644 --- a/Bugzilla/BugMail.pm +++ b/Bugzilla/BugMail.pm @@ -30,6 +30,11 @@ use strict; package Bugzilla::BugMail; +use base qw(Exporter); +@Bugzilla::BugMail::EXPORT = qw( + PerformSubsts +); + use Bugzilla::RelationSet; use Bugzilla::Config qw(:DEFAULT $datadir); @@ -903,4 +908,25 @@ sub MessageToMTA ($) { $mailer->close; } +# Performs substitutions for sending out email with variables in it, +# or for inserting a parameter into some other string. +# +# Takes a string and a reference to a hash containing substitution +# variables and their values. +# +# If the hash is not specified, or if we need to substitute something +# that's not in the hash, then we will use parameters to do the +# substitution instead. +# +# Substitutions are always enclosed with '%' symbols. So they look like: +# %some_variable_name%. If "some_variable_name" is a key in the hash, then +# its value will be placed into the string. If it's not a key in the hash, +# then the value of the parameter called "some_variable_name" will be placed +# into the string. +sub PerformSubsts ($;$) { + my ($str, $substs) = (@_); + $str =~ s/%([a-z]*)%/(defined $substs->{$1} ? $substs->{$1} : Param($1))/eg; + return $str; +} + 1; |