diff options
author | Andreas Gohr <andi@splitbrain.org> | 2010-11-05 11:18:31 +0100 |
---|---|---|
committer | Andreas Gohr <andi@splitbrain.org> | 2010-11-05 11:18:31 +0100 |
commit | 5ec3fefc5fc0983d6fdc0efdaed2e78e0d09a868 (patch) | |
tree | fbc212097c9c0abc1f6d5100ca1c39239dc77aa0 /inc/mail.php | |
parent | 317d85c9da899f7720469b4831116604488ba503 (diff) | |
download | rpg-5ec3fefc5fc0983d6fdc0efdaed2e78e0d09a868.tar.gz rpg-5ec3fefc5fc0983d6fdc0efdaed2e78e0d09a868.tar.bz2 |
handle mailfrom replacements in a central place FS#2091
Diffstat (limited to 'inc/mail.php')
-rw-r--r-- | inc/mail.php | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/inc/mail.php b/inc/mail.php index 38232d110..fb163585a 100644 --- a/inc/mail.php +++ b/inc/mail.php @@ -30,7 +30,39 @@ if(!defined('QUOTEDPRINTABLE_EOL')) define('QUOTEDPRINTABLE_EOL',"\015\012"); if (!defined('RFC2822_ATEXT')) define('RFC2822_ATEXT',"0-9a-zA-Z!#$%&'*+/=?^_`{|}~-"); if (!defined('PREG_PATTERN_VALID_EMAIL')) define('PREG_PATTERN_VALID_EMAIL', '['.RFC2822_ATEXT.']+(?:\.['.RFC2822_ATEXT.']+)*@(?i:[0-9a-z][0-9a-z-]*\.)+(?i:[a-z]{2,4}|museum|travel)'); +/** + * Prepare mailfrom replacement patterns + * + * @author Andreas Gohr <andi@splitbrain.org> + */ +function mail_setup(){ + global $conf; + global $INFO; + + $replace = array(); + + if(!empty($INFO['userinfo']['mail'])){ + $replace['@MAIL@'] = $INFO['userinfo']['mail']; + }else{ + $replace['@MAIL@'] = 'noreply@'.parse_url(DOKU_URL,PHP_URL_HOST); + } + if(!empty($_SERVER['REMOTE_USER'])){ + $replace['@USER@'] = $_SERVER['REMOTE_USER']; + }else{ + $replace['@USER@'] = 'noreply'; + } + + if(!empty($INFO['userinfo']['name'])){ + $replace['@NAME@'] = $INFO['userinfo']['name']; + }else{ + $replace['@NAME@'] = ''; + } + + $conf['mailfrom'] = str_replace(array_keys($replace), + array_values($replace), + $conf['mailfrom']); +} /** * UTF-8 autoencoding replacement for PHPs mail function |