From 5c4b19d38d7c3bc572cb95ffda267089ff061708 Mon Sep 17 00:00:00 2001
From: ikawhero <ikawhero>
Date: Fri, 1 Oct 2004 04:51:05 +0000
Subject: [PATCH] Bug in path for language strings fixed

---
 lib/phpmailer/class.phpmailer.php | 24 ++++++++++++++++++++----
 1 file changed, 20 insertions(+), 4 deletions(-)

diff --git a/lib/phpmailer/class.phpmailer.php b/lib/phpmailer/class.phpmailer.php
index 9c9200faa0..87f8890f95 100644
--- a/lib/phpmailer/class.phpmailer.php
+++ b/lib/phpmailer/class.phpmailer.php
@@ -119,7 +119,7 @@ class PHPMailer
      * is in a different directory than the PHP include path.  
      * @var string
      */
-    var $PluginDir         = "";
+    var $PluginDir         = '';
 
     /**
      *  Holds PHPMailer version.
@@ -227,6 +227,20 @@ class PHPMailer
     // VARIABLE METHODS
     /////////////////////////////////////////////////
 
+    /**
+     * Constructor
+     * Hack for Moodle as class may be included from various locations
+     * SE 20041001
+     * @param void
+     * @return void
+     */
+    function PHPMailer () {
+        global $CFG;
+        $this->PluginDir = $CFG->libdir.'/phpmailer/';
+    }
+
+    
+
     /**
      * Sets message type to HTML.  
      * @param bool $bool
@@ -588,16 +602,18 @@ class PHPMailer
      * Sets the language for all class error messages.  Returns false 
      * if it cannot load the language file.  The default language type
      * is English.
+     * SE 20041001: Added '$this->PluginDir' for Moodle compatibility
+     *
      * @param string $lang_type Type of language (e.g. Portuguese: "br")
      * @param string $lang_path Path to the language file directory
      * @access public
      * @return bool
      */
     function SetLanguage($lang_type, $lang_path = "language/") {
-        if(file_exists($lang_path.'phpmailer.lang-'.$lang_type.'.php'))
-            include($lang_path.'phpmailer.lang-'.$lang_type.'.php');
+        if(file_exists($this->PluginDir.$lang_path.'phpmailer.lang-'.$lang_type.'.php'))
+            include($this->PluginDir.$lang_path.'phpmailer.lang-'.$lang_type.'.php');
         else if(file_exists($lang_path.'phpmailer.lang-en.php'))
-            include($lang_path.'phpmailer.lang-en.php');
+            include($this->PluginDir.$lang_path.'phpmailer.lang-en.php');
         else
         {
             $this->SetError("Could not load language file");
-- 
2.39.5