Code
Explorer
You are a developer and looking for Shopware projects?
Apply Now!
finfo example
}
throw
new
OptimizerNotFoundException
(
sprintf
(
'Optimizer for mime-type "%s" not found.',
$mime
)
)
;
}
/** * {@inheritdoc} */
private
function
getMimeTypeByFile
(
$filepath
)
{
$finfo
=
new
finfo
(
FILEINFO_MIME_TYPE
)
;
return
$finfo
->
file
(
$filepath
)
;
}
}
public
function
guessMimeType
(
string
$path
)
: ?string
{
if
(
!
is_file
(
$path
)
|| !
is_readable
(
$path
)
)
{
throw
new
InvalidArgumentException
(
sprintf
(
'The "%s" file does not exist or is not readable.',
$path
)
)
;
}
if
(
!
$this
->
isGuesserSupported
(
)
)
{
throw
new
LogicException
(
sprintf
(
'The "%s" guesser is not supported.', __CLASS__
)
)
;
}
if
(
false ===
$finfo
=
new
\
finfo
(
\FILEINFO_MIME_TYPE,
$this
->magicFile
)
)
{
return
null;
}
$mimeType
=
$finfo
->
file
(
$path
)
;
if
(
$mimeType
&& 0
===
(
\
strlen
(
$mimeType
)
% 2
)
)
{
$mimeStart
=
substr
(
$mimeType
, 0, \
strlen
(
$mimeType
)
>> 1
)
;
$mimeType
=
$mimeStart
.
$mimeStart
===
$mimeType
?
$mimeStart
:
$mimeType
;
}
return
$mimeType
;
}
}
public
function
guessMimeType
(
string
$path
)
: ?string
{
if
(
!
is_file
(
$path
)
|| !
is_readable
(
$path
)
)
{
throw
new
InvalidArgumentException
(
sprintf
(
'The "%s" file does not exist or is not readable.',
$path
)
)
;
}
if
(
!
$this
->
isGuesserSupported
(
)
)
{
throw
new
LogicException
(
sprintf
(
'The "%s" guesser is not supported.', __CLASS__
)
)
;
}
if
(
false ===
$finfo
=
new
\
finfo
(
\FILEINFO_MIME_TYPE,
$this
->magicFile
)
)
{
return
null;
}
$mimeType
=
$finfo
->
file
(
$path
)
;
if
(
$mimeType
&& 0
===
(
\
strlen
(
$mimeType
)
% 2
)
)
{
$mimeStart
=
substr
(
$mimeType
, 0, \
strlen
(
$mimeType
)
>> 1
)
;
$mimeType
=
$mimeStart
.
$mimeStart
===
$mimeType
?
$mimeStart
:
$mimeType
;
}
return
$mimeType
;
}
}
static
::
assertArrayHasKey
(
$orderId
,
$processedTemplate
->
getSuccess
(
)
)
;
static
::
assertInstanceOf
(
RenderedDocument::
class
,
$processedTemplate
->
getSuccess
(
)
[
$orderId
]
)
;
$rendered
=
$processedTemplate
->
getSuccess
(
)
[
$orderId
]
;
static
::
assertStringContainsString
(
'<html>',
$rendered
->
getHtml
(
)
)
;
static
::
assertStringContainsString
(
'</html>',
$rendered
->
getHtml
(
)
)
;
$generatorOutput
=
$this
->pdfRenderer->
render
(
$rendered
)
;
static
::
assertNotEmpty
(
$generatorOutput
)
;
$finfo
=
new
\
finfo
(
\FILEINFO_MIME_TYPE
)
;
static
::
assertEquals
(
'application/pdf',
$finfo
->
buffer
(
$generatorOutput
)
)
;
}
}
static
::
assertStringContainsString
(
'<html>',
$rendered
->
getHtml
(
)
)
;
static
::
assertStringContainsString
(
'</html>',
$rendered
->
getHtml
(
)
)
;
static
::
assertStringContainsString
(
'DOMPDF_PAGE_COUNT_PLACEHOLDER',
$rendered
->
getHtml
(
)
)
;
$pdfRenderer
=
new
PdfRenderer
(
[
'isRemoteEnabled' => true,
'isHtml5ParserEnabled' => true,
]
)
;
$generatorOutput
=
$pdfRenderer
->
render
(
$rendered
)
;
static
::
assertNotEmpty
(
$generatorOutput
)
;
$finfo
=
new
\
finfo
(
\FILEINFO_MIME_TYPE
)
;
static
::
assertEquals
(
'application/pdf',
$finfo
->
buffer
(
$generatorOutput
)
)
;
}
}