Removes compatibility with non-hruid code (please use core-1.0.0 for non-hruid-compat...
[platal.git] / classes / plmailer.php
index 95e5a5c..08e71f8 100644 (file)
@@ -196,6 +196,20 @@ class PlMailer extends Mail_Mime {
         return parent::setFrom($this->correct_emails($email));
     }
 
+    static function encodeQP($char)
+    {
+        return sprintf('=%02X', ord($char));
+    }
+
+    public function setSubject($subject)
+    {
+        if (!preg_match('/^[\x20-\x7e]*$/', $subject)) {
+            $subject = '=?UTF-8?Q?' . preg_replace('/[^\x21-\x3C\x3e-\x7e]/e', 'PlMailer::encodeQP("\0")', $subject)
+                     . '?=';
+        }
+        return parent::setSubject($subject);
+    }
+
     public function addHeader($hdr,$val)
     {
         switch($hdr) {
@@ -269,6 +283,7 @@ class PlMailer extends Mail_Mime {
             if (!($globals->debug & DEBUG_SMARTY)) {
                 $level = error_reporting(0);
             }
+            $this->page->assign_by_ref('globals', $globals);
             $this->page->run('head'); // process page headers
             $this->wiki = trim($this->page->run('wiki')); // get wiki
             if (!$this->wiki) {
@@ -297,10 +312,6 @@ class PlMailer extends Mail_Mime {
         $this->processPage($with_html);
         if (S::user()) {
             $this->addHeader('X-Org-Mail', S::user()->forlifeEmail());
-        } else if (S::v('forlife')) {
-            // TODO(vzanotti): trash this code when hruid will be part of master.
-            global $globals;
-            $this->addHeader('X-Org-Mail', S::v('forlife') . '@' . $globals->mail->domain);
         }
         $addrs = Array();
         foreach(Array('To', 'Cc', 'Bcc') as $hdr) {