Created
November 18, 2020 08:17
-
-
Save tinshade/c2c16c9b7f4f9b5d513f4205630676c7 to your computer and use it in GitHub Desktop.
This is a fixed version of PHP autoload. I made this because something in PHP mailer breaks down with PHP v7 and this aims to fix that issue.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php | |
/** | |
* PHPMailer SPL autoloader. | |
* PHP Version 5 | |
* @package PHPMailer | |
* @link https://github.com/PHPMailer/PHPMailer/ The PHPMailer GitHub project | |
* @author Marcus Bointon (Synchro/coolbru) <[email protected]> | |
* @author Jim Jagielski (jimjag) <[email protected]> | |
* @author Andy Prevost (codeworxtech) <[email protected]> | |
* @author Brent R. Matzelle (original founder) | |
* @copyright 2012 - 2014 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; | |
} | |
} | |
if (version_compare(PHP_VERSION, '5.1.2', '>=')) { | |
//SPL autoloading was introduced in PHP 5.1.2 | |
if (version_compare(PHP_VERSION, '5.3.0', '>=')) { | |
spl_autoload_register('PHPMailerAutoload', true, true); | |
} else { | |
spl_autoload_register('PHPMailerAutoload'); | |
} | |
} else { | |
/** | |
* Fall back to traditional autoload for old PHP versions | |
* @param string $classname The name of the class to load | |
function __autoload($classname) | |
{ | |
PHPMailerAutoload($classname); | |
} */ | |
spl_autoload_register(function($class) { | |
PHPMailerAutoload($classname); | |
}); | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment