summaryrefslogtreecommitdiff
path: root/inc/mail.php
diff options
context:
space:
mode:
authorAndreas Gohr <andi@splitbrain.org>2010-11-05 11:18:31 +0100
committerAndreas Gohr <andi@splitbrain.org>2010-11-05 11:18:31 +0100
commit5ec3fefc5fc0983d6fdc0efdaed2e78e0d09a868 (patch)
treefbc212097c9c0abc1f6d5100ca1c39239dc77aa0 /inc/mail.php
parent317d85c9da899f7720469b4831116604488ba503 (diff)
downloadrpg-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.php32
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