Move the include_path finding code to Fallback class.
Checking availability when calling, as only UserMailer uses it.
This commit is contained in:
parent
36999e2bf9
commit
ab3f4cf4b3
2 changed files with 22 additions and 7 deletions
|
|
@ -173,5 +173,22 @@ class Fallback {
|
|||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Fallback implementation of stream_resolve_include_path()
|
||||
* Native stream_resolve_include_path is available for PHP 5 >= 5.3.2
|
||||
* @param $filename String
|
||||
* @return String
|
||||
*/
|
||||
public static function stream_resolve_include_path( $filename ) {
|
||||
$pathArray = explode( PATH_SEPARATOR, get_include_path() );
|
||||
foreach ( $pathArray as $path ) {
|
||||
$fullFilename = $path . DIRECTORY_SEPARATOR . $filename;
|
||||
if ( file_exists( $fullFilename ) ) {
|
||||
return $fullFilename;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -127,12 +127,10 @@ class UserMailer {
|
|||
|
||||
if ( is_array( $wgSMTP ) ) {
|
||||
$found = false;
|
||||
$pathArray = explode( PATH_SEPARATOR, get_include_path() );
|
||||
foreach ( $pathArray as $path ) {
|
||||
if ( file_exists( $path . DIRECTORY_SEPARATOR . 'Mail.php' ) ) {
|
||||
$found = true;
|
||||
break;
|
||||
}
|
||||
if ( function_exists( 'stream_resolve_include_path' ) ) {
|
||||
$found = stream_resolve_include_path( 'Mail.php' );
|
||||
} else {
|
||||
$found = Fallback::stream_resolve_include_path( 'Mail.php' );
|
||||
}
|
||||
if ( !$found ) {
|
||||
throw new MWException( 'PEAR mail package is not installed' );
|
||||
|
|
|
|||
Loading…
Reference in a new issue