MDL-47647 lib: Fix message unit test failure.

Messaging unit tests on Windows were failing because
of a comparison between two file paths. Part of the
path would have a forward slash instead of a backslash
and so would fail.
This commit is contained in:
Adrian Greeve
2014-10-27 16:44:14 +08:00
parent 8322bdabed
commit 30e7ca9449
+6 -1
View File
@@ -5858,9 +5858,14 @@ function email_to_user($user, $from, $subject, $messagetext, $messagehtml = '',
$attachmentpath = $attachment;
// Before doing the comparison, make sure that the paths are correct (Windows uses slashes in the other direction).
$attachpath = str_replace('\\', '/', $attachmentpath);
// Make sure both variables are normalised before comparing.
$temppath = str_replace('\\', '/', $CFG->tempdir);
// If the attachment is a full path to a file in the tempdir, use it as is,
// otherwise assume it is a relative path from the dataroot (for backwards compatibility reasons).
if (strpos($attachmentpath, $CFG->tempdir) !== 0) {
if (strpos($attachpath, $temppath) !== 0) {
$attachmentpath = $CFG->dataroot . '/' . $attachmentpath;
}