summaryrefslogtreecommitdiff
path: root/ACE/bin/ChangeLogEditor/EmailTranslator.pm
diff options
context:
space:
mode:
Diffstat (limited to 'ACE/bin/ChangeLogEditor/EmailTranslator.pm')
-rw-r--r--ACE/bin/ChangeLogEditor/EmailTranslator.pm53
1 files changed, 53 insertions, 0 deletions
diff --git a/ACE/bin/ChangeLogEditor/EmailTranslator.pm b/ACE/bin/ChangeLogEditor/EmailTranslator.pm
new file mode 100644
index 00000000000..53ebf8a3b0f
--- /dev/null
+++ b/ACE/bin/ChangeLogEditor/EmailTranslator.pm
@@ -0,0 +1,53 @@
+package EmailTranslator;
+
+# ************************************************************
+# Description : Translate the given user name and domain into
+# an email address.
+# Author : Chad Elliott
+# Create Date : 6/18/2002
+# $Id$
+# ************************************************************
+
+# ************************************************************
+# Pragmas
+# ************************************************************
+
+use strict;
+use FileHandle;
+
+# ************************************************************
+# Subroutine Section
+# ************************************************************
+
+sub new {
+ my($class) = shift;
+ my($domain) = shift;
+ my($self) = bless {'domain' => "\@$domain",
+ }, $class;
+ return $self;
+}
+
+
+sub translate {
+ my($self) = shift;
+ my($name) = shift;
+ my($domain) = $self->{'domain'};
+ my($email) = "$name$domain";
+ my(%special) = ();
+
+ if (defined $ENV{REPLYTO}) {
+ $email = $ENV{REPLYTO};
+ }
+ elsif (defined $special{$name}) {
+ $email = $special{$name} . $domain;
+ }
+ elsif ($name =~ /([^\s]+)\s+([^\s]+)/) {
+ ## Last name underscore first initial
+ $email = lc($2 . '_' . substr($1, 0, 1)) . $domain;
+ }
+
+ return $email;
+}
+
+
+1;