SMS aliasing rewritten
authorshort <>
Fri, 11 Oct 2002 22:48:19 +0000 (22:48 +0000)
committershort <>
Fri, 11 Oct 2002 22:48:19 +0000 (22:48 +0000)
&muttrc_aliases: use always the first occurence to prefer nicks
 - reflect the new "contacts-n9k2mutt"

My-Audit.pm
perlmail-accept

index 781288d..9f02c70 100644 (file)
@@ -156,15 +156,31 @@ sub audit
        store "==","sms"             if !did;
 }
 
+sub audit_sms_address
+{
+my($obj)=@_;
+
+       my $address=$obj->address();
+       if (my $alternates=muttrc_get("alternates")) {
+               return "I" if $address=~/$alternates/si;
+               }
+       my %aliases=muttrc_aliases();
+       if (my $alias=$aliases{lc $address}) {
+               local $_=$alias;
+               s/\.cz$//i;
+               return $_;
+               }
+       local $_=$address;
+       s/\b(Bus)siness$/$1/i;
+       s/\.ident$//i;
+       return $_;
+}
+
 sub audit_sms
 {
 my(%args)=@_;
 
-       my $from=(@{$args{"from"}} ? join(",",map({
-                       s/\.cz$//i;
-                       s/\b(Bus)siness$/$1/i;
-                       $_;
-                       } @{$args{"from"}})) : "?");
+       my $from=(@{$args{"from"}} ? join(",",map({ audit_sms_address($_); } @{$args{"from"}})) : "?");
        local $_;
 
        $_=$args{"subject"};
index 9ba5cf5..cf545e9 100755 (executable)
@@ -431,10 +431,9 @@ sub smssend
 {
 my($ignorenewmail,$smscount,%args)=@_;
 
-       my %aliases=muttrc_aliases();
        my $text=audit_sms(
                        "subject"=>unmime($Audit->subject()),
-                       "from"=>[ map({ $_=$_->address(); $_="\L$_"; $aliases{$_} || $_; } Mail::Address->parse(unmime($Audit->from()))) ],
+                       "from"=>[ Mail::Address->parse(unmime($Audit->from())) ],
                        "body"=>substr(body_simple(),0,$MaxBodySMS*(1+0.25*$smscount)),
                        %args);
        my $texthead="";
@@ -742,7 +741,7 @@ sub muttrc_aliases
                for my $addrobj (Mail::Address->parse($')) {
                        my $addr=$addrobj->address();
                        my $ref=\$r{"\L$addr"};
-                       $$ref=$key;     # use always the last occurence to prefer nicks
+                       $$ref=$key if !$$ref;   # use always the first occurence to prefer nicks
                        }
                }
        return %r;