Skip to content

Commit bf521bf

Browse files
committed
bug #25816 Problem in phar see mergerequest #25579 (betzholz)
This PR was squashed before being merged into the 2.7 branch (closes #25816). Discussion ---------- Problem in phar see mergerequest #25579 | Q | A | ------------- | --- | Branch? | 2.7 | Bug fix? | yes | New feature? | no | BC breaks? | no | Deprecations? | no | Tests pass? | yes | Fixed tickets | #... <!-- #-prefixed issue number(s), if any --> | License | MIT | Doc PR | symfony/symfony-docs#... <!--highly recommended for new features--> If packed into phar the old version creates path like 'file:///phar%3A/'. see symfony/symfony#25579 Commits ------- 3e0c8ffb43 Problem in phar see mergerequest #25579
2 parents a3c1416 + da723fe commit bf521bf

File tree

1 file changed

+5
-1
lines changed

1 file changed

+5
-1
lines changed

Loader/XliffFileLoader.php

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -129,15 +129,19 @@ private function parseFile($file)
129129

130130
$location = str_replace('\\', '/', __DIR__).'/schema/dic/xliff-core/xml.xsd';
131131
$parts = explode('/', $location);
132+
$locationstart = 'file:///';
132133
if (0 === stripos($location, 'phar://')) {
133134
$tmpfile = tempnam(sys_get_temp_dir(), 'sf2');
134135
if ($tmpfile) {
135136
copy($location, $tmpfile);
136137
$parts = explode('/', str_replace('\\', '/', $tmpfile));
138+
} else {
139+
array_shift($parts);
140+
$locationstart = 'phar:///';
137141
}
138142
}
139143
$drive = '\\' === DIRECTORY_SEPARATOR ? array_shift($parts).'/' : '';
140-
$location = 'file:///'.$drive.implode('/', array_map('rawurlencode', $parts));
144+
$location = $locationstart.$drive.implode('/', array_map('rawurlencode', $parts));
141145

142146
$source = file_get_contents(__DIR__.'/schema/dic/xliff-core/xliff-core-1.2-strict.xsd');
143147
$source = str_replace('http://www.w3.org/2001/xml.xsd', $location, $source);

0 commit comments

Comments
 (0)