register our own autoloader and add PHPMailerAutoload so we don't need to patch phpMailer on every update

Signed-off-by: Michael Kaufmann (d00p) <d00p@froxlor.org>
This commit is contained in:
Michael Kaufmann (d00p)
2013-09-21 13:10:04 +02:00
parent b894e273c7
commit fea16cd108
4 changed files with 40 additions and 6 deletions

View File

@@ -0,0 +1,34 @@
<?php
/**
* PHPMailer SPL autoloader.
* PHP Version 5.0.0
* @package PHPMailer
* @link https://github.com/PHPMailer/PHPMailer/
* @author Marcus Bointon (coolbru) <phpmailer@synchromedia.co.uk>
* @author Jim Jagielski (jimjag) <jimjag@gmail.com>
* @author Andy Prevost (codeworxtech) <codeworxtech@users.sourceforge.net>
* @author Brent R. Matzelle (original founder)
* @copyright 2013 Marcus Bointon
* @copyright 2010 - 2012 Jim Jagielski
* @copyright 2004 - 2009 Andy Prevost
* @license http://www.gnu.org/copyleft/lesser.html GNU Lesser General Public License
* @note This program is distributed in the hope that it will be useful - WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE.
*/
/**
* PHPMailer SPL autoloader.
* @param string $classname The name of the class to load
*/
function PHPMailerAutoload($classname)
{
//Can't use __DIR__ as it's only in PHP 5.3+
$filename = dirname(__FILE__).DIRECTORY_SEPARATOR.'class.'.strtolower($classname).'.php';
if (is_readable($filename)) {
require $filename;
}
}
spl_autoload_register('PHPMailerAutoload');

View File

@@ -571,12 +571,9 @@ class PHPMailer
{ {
$this->exceptions = ($exceptions == true); $this->exceptions = ($exceptions == true);
//Make sure our autoloader is loaded //Make sure our autoloader is loaded
/* if (!in_array('PHPMailerAutoload', spl_autoload_functions())) {
* commented out for Froxlor as we have our own Autoloader to take care of this stuff require 'PHPMailerAutoload.php';
*/ }
// if (!in_array('PHPMailerAutoload', spl_autoload_functions())) {
// require 'PHPMailerAutoload.php';
// }
} }
/** /**

View File

@@ -0,0 +1 @@
PHPMailerAutoload.php

View File

@@ -48,6 +48,8 @@ function __autoload($classname)
findIncludeClass($libdirname . '/classes/', $classname); findIncludeClass($libdirname . '/classes/', $classname);
} }
spl_autoload_register('__autoload');
function findIncludeClass($dirname, $classname) function findIncludeClass($dirname, $classname)
{ {
$dirhandle = opendir($dirname); $dirhandle = opendir($dirname);