/** * Class autoloader * * Include classes automatically when they are instantiated. * @param string */ function __autoload($strClassName) { $objCache = FileCache::getInstance('autoload'); // Try to load the class name from the session cache if (!$GLOBALS['TL_CONFIG']['debugMode'] && isset($objCache->{$strClassName})) { if (@(include_once TL_ROOT . '/' . $objCache->{$strClassName})) { return; // The class could be loaded } else { unset($objCache->{$strClassName}); // The class has been removed } } $strLibrary = TL_ROOT . '/system/libraries/' . $strClassName . '.php'; // Check for libraries first if (file_exists($strLibrary)) { include_once $strLibrary; $objCache->{$strClassName} = 'system/libraries/' . $strClassName . '.php'; return; } // Then check the modules folder foreach (scan(TL_ROOT . '/system/modules/') as $strFolder) { if (substr($strFolder, 0, 1) == '.') { continue; } $strModule = TL_ROOT . '/system/modules/' . $strFolder . '/' . $strClassName . '.php'; if (file_exists($strModule)) { include_once $strModule; $objCache->{$strClassName} = 'system/modules/' . $strFolder . '/' . $strClassName . '.php'; return; } } // HOOK: include Swift classes if (class_exists('Swift', false)) { Swift::autoload($strClassName); return; } // HOOK: include DOMPDF classes if (function_exists('DOMPDF_autoload')) { DOMPDF_autoload($strClassName); return; } trigger_error(sprintf('Could not load class %s', $strClassName), E_USER_ERROR); }
<?php /****************************************************************************/ /* */ /* YOU MAY WISH TO MODIFY OR REMOVE THE FOLLOWING LINES WHICH SET DEFAULTS */ /* */ /****************************************************************************/ Swift::autoload("Swift_Preferences"); $preferences = Swift_Preferences::getInstance(); // Sets the default charset so that setCharset() is not needed elsewhere $preferences->setCharset('utf-8'); // Without these lines the default caching mechanism is "array" but this uses a lot of memory. // If possible, use a disk cache to enable attaching large attachments etc. // You can override the default temporary directory by setting the TMPDIR environment variable. // The @ operator in front of is_writable calls is to avoid PHP warnings // when using open_basedir $tmp = getenv('TMPDIR'); if ($tmp && @is_writable($tmp)) { $preferences->setTempDir($tmp)->setCacheType('disk'); } elseif (function_exists('sys_get_temp_dir') && @is_writable(sys_get_temp_dir())) { $preferences->setTempDir(sys_get_temp_dir())->setCacheType('disk'); } // this should only be done when Swiftmailer won't use the native QP content encoder // see mime_deps.php if (version_compare(phpversion(), '5.4.7', '<')) { $preferences->setQPDotEscape(false); }